/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 21 2026 | 16:33:39 */
@media (min-width: 922px){

  body.page-id-1473 .si-news-card{
    min-height: 132px !important;   /* tuned for 3 lines */
  }

  body.page-id-1473 .si-news-title{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

}



/* =========================================================
   BUSINESSES (Page ID 2506) — DESKTOP
   Lock equal card heights + pin button to bottom
   ========================================================= */
@media (min-width: 922px){

  /* 1) Make the FacetWP grid items stretch so cards can be equal height */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .fwp-col,
  body.page-id-2506 .facetwp-template[data-name="businesses"] .fwp-item{
    display: flex !important;
    align-items: stretch !important;
  }

  /* 2) Make the card fill the stretched grid cell */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-card{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
  }

  /* 3) Make content area a vertical stack that can push button down */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-content{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  /* 4) Title: clamp to 2 lines + reserve space so short titles don't pull button up */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-name{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.25 !important;
    min-height: 2.5em !important; /* ~2 lines */
    margin-bottom: 10px !important;
  }

  /* 5) Description clamp (keeps layout stable) */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-desc{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    overflow: hidden !important;
  }

  /* 6) Button row: push to bottom */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-visit{
    margin-top: auto !important;
    padding-top: 16px !important;
  }
}



@media (min-width: 922px){
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-card .si-business-visit{
    transform: translateY(-28px) !important; /* adjust -8 to -18 */
  }
}





/* =========================================================
   SINGLE EVENTS — DESKTOP ONLY (APPLE POLISH, STRONG SELECTORS)
   - Do NOT touch header/footer
   - Do NOT touch image
   - Pill CTAs in Share-a-Story blue
   - Hide Previous/Next + dividers
   ========================================================= */
@media (min-width: 922px){

  /* 1) Apple white ONLY inside content area */
  body.single-sievents #content.site-content,
  body.single-sievents #content.site-content > .ast-container,
  body.single-sievents #content.site-content #primary.content-area.primary,
  body.single-sievents #content.site-content main.site-main,
  body.single-sievents #content.site-content article.ast-article-single,
  body.single-sievents #content.site-content article.ast-article-single .entry-content{
    background: #ffffff !important;
  }

  /* Keep text readable on white */
  body.single-sievents #content.site-content article.ast-article-single .entry-title,
  body.single-sievents #content.site-content article.ast-article-single .entry-content,
  body.single-sievents #content.site-content article.ast-article-single .entry-meta{
    color: #0f172a !important;
  }

  /* 2) Make the two action links look like Apple pills (Share-a-Story blue) */
  body.single-sievents #content.site-content article.ast-article-single a[href*="sievent_ics"],
  body.single-sievents #content.site-content article.ast-article-single a[href*="maps"],
  body.single-sievents #content.site-content article.ast-article-single a[href*="google.com/maps"],
  body.single-sievents #content.site-content article.ast-article-single a[href*="apple.com/maps"]{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 8px 14px !important;
    min-height: 38px !important;
    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    background: var(--ast-global-color-0, #3b82f6) !important; /* matches Astra accent / Share a Story */
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;

    margin-right: 10px !important;
    margin-top: 10px !important;
  }

  /* If both links sit in the same paragraph, make them a neat row */
  body.single-sievents #content.site-content article.ast-article-single p:has(a[href*="sievent_ics"], a[href*="maps"]){
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 12px 0 18px !important;
  }

  /* 3) Hide Previous/Next Events */
  body.single-sievents #content.site-content nav.navigation.post-navigation,
  body.single-sievents #content.site-content .post-navigation{
    display: none !important;
  }

  /* 4) Hide divider lines */
  body.single-sievents #content.site-content hr,
  body.single-sievents #content.site-content .entry-content hr,
  body.single-sievents #content.site-content .wp-block-separator{
    display: none !important;
  }
}


/* =========================================================
   SINGLE EVENTS — DESKTOP MATCH MOBILE
   (desktop only, does NOT touch header/footer, does NOT crop image)
   ========================================================= */
@media (min-width: 922px){

  /* 1) Less space above the image (content only) */
  body.single-sievents #content.site-content{
    padding-top: 0px !important;
  }
  body.single-sievents #content.site-content .ast-container{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* 2) Image NOT cropped (safety) */
  body.single-sievents #content.site-content article.ast-article-single img{
    object-fit: contain !important;
  }

  /* 3) Title spacing like mobile */
  body.single-sievents #content.site-content article.ast-article-single .entry-title{
    margin: 14px 0 10px !important;
  }

  /* 4) Meta row: better spacing between date / time / location */
  body.single-sievents #content.site-content article.ast-article-single .si-event-card__meta--top{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;     /* row/column gap */
    align-items: center !important;
    margin: 6px 0 14px !important;
    line-height: 1.25 !important;
  }

  /* If the meta items are spans/divs, give them clean alignment */
  body.single-sievents #content.site-content article.ast-article-single .si-event-card__meta--top > *{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;           /* icon-to-text spacing */
    margin: 0 !important;
  }

  /* 5) Buttons: make BOTH pills identical (Add to Calendar matches Directions) */
  body.single-sievents #content.site-content article.ast-article-single a[href*="sievent_ics"],
  body.single-sievents #content.site-content article.ast-article-single a[href*="maps"],
  body.single-sievents #content.site-content article.ast-article-single a[href*="google.com/maps"],
  body.single-sievents #content.site-content article.ast-article-single a[href*="apple.com/maps"]{
    background: var(--ast-global-color-0, #3b82f6) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;   /* slightly taller like mobile */
    min-height: 44px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: 0 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
  }

  /* Keep them on one row like mobile when possible */
  body.single-sievents #content.site-content article.ast-article-single p:has(a[href*="sievent_ics"], a[href*="maps"]){
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 14px 0 10px !important;
  }

  /* 6) Divider UNDER buttons before body text (mobile style) */
  body.single-sievents #content.site-content article.ast-article-single .entry-content{
    position: relative !important;
  }
  body.single-sievents #content.site-content article.ast-article-single .entry-content::before{
    content: "" !important;
    display: block !important;
    height: 1px !important;
    background: rgba(15,23,42,.12) !important;
    margin: 14px 0 16px !important;  /* space above/below divider */
  }

  /* 7) Body spacing like mobile */
  body.single-sievents #content.site-content article.ast-article-single .entry-content{
    line-height: 1.65 !important;
    font-size: 16px !important;
  }
}

/* =========================================================
   SINGLE EVENTS — DESKTOP: MATCH MOBILE (FIX DIVIDER + PILL)
   ========================================================= */
@media (min-width: 922px){

  /* 1) Make BOTH buttons pills (no relying on href patterns) */
  body.single-sievents #content.site-content article.ast-article-single .si-event-actions{
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 14px 0 0 !important;
  }

  body.single-sievents #content.site-content article.ast-article-single .si-event-action,
  body.single-sievents #content.site-content article.ast-article-single .si-event-actions a{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 10px 18px !important;
    min-height: 44px !important;
    border-radius: 999px !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    background: var(--ast-global-color-0, #3b82f6) !important; /* Share a Story blue */
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
  }

  /* 2) Divider MUST be below the buttons (like mobile) */
  body.single-sievents #content.site-content article.ast-article-single .si-event-actions::after{
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    background: rgba(15,23,42,.12) !important;
    margin: 14px 0 16px !important; /* space between buttons and body */
  }

  /* 3) Remove the old divider if you added it earlier */
  body.single-sievents #content.site-content article.ast-article-single .entry-content::before{
    content: none !important;
    display: none !important;
  }
}



/* =========================================================
   SINGLE EVENTS — DESKTOP
   Override meta grid so date/time don't spread apart
   ========================================================= */
@media (min-width: 922px){

  body.single-sievents
  #content.site-content article.ast-article-single
  .si-event-card__meta.si-event-card__meta--top{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 8px !important;
  }

  body.single-sievents
  #content.site-content article.ast-article-single
  .si-event-card__meta--top
  .si-event-date,
  body.single-sievents
  #content.site-content article.ast-article-single
  .si-event-card__meta--top
  .si-event-time{
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap !important;
  }

  body.single-sievents
  #content.site-content article.ast-article-single
  .si-event-card__meta--top
  .si-event-location{
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-top: 6px !important;
  }
}


/* =========================================================
   SINGLE EVENT — DESKTOP
   Add dot between date and time ONLY
   ========================================================= */
@media (min-width: 922px){

  body.single-sievents
  .si-event-card__meta--top
  .si-event-date::after{
    content: "•";
    margin: 0 10px;
    opacity: .6;
    font-weight: 400;
  }

}

/* =========================================================
   SINGLE EVENT — MOBILE
   Add dot between date and time
   ========================================================= */
@media (max-width: 921px){

  body.single-sievents
  .si-event-card__meta--top
  .si-event-date::after{
    content: "•";
    margin: 0 8px;
    opacity: .6;
    font-weight: 400;
  }

}




/* =========================================================
   ASTRA MOBILE MENU — FULL SCREEN + iOS SCROLL FIX
   - Keeps X button working
   - Menu scrolls up/down normally on iPhone
   - Adds bottom space under CTA buttons
   ========================================================= */
@media (max-width: 921px){

  /* 1) Keep the header (logo + X) above everything */
  .ast-header-break-point .main-header-bar{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100000 !important;
  }

  /* 2) Make the OPENED mobile navigation the *only* scroll container */
  .ast-header-break-point #ast-mobile-site-navigation.toggled{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;

    /* iOS-friendly viewport heights */
    height: 100vh !important;
    height: 100dvh !important;

    /* IMPORTANT: scroll lives here */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;

    /* push content below the fixed header */
    padding-top: var(--ast-header-height, 72px) !important;

    background: var(--ast-global-color-4) !important;
    z-index: 99999 !important;
  }

  /* 3) Ensure inner wrappers don't kill scrolling */
  .ast-header-break-point
  #ast-mobile-site-navigation.toggled
  .main-header-bar-navigation,
  .ast-header-break-point
  #ast-mobile-site-navigation.toggled
  .main-header-menu,
  .ast-header-break-point
  #ast-mobile-site-navigation.toggled
  nav{
    overflow: visible !important;
    max-height: none !important;
  }

  /* 4) Add extra space at the bottom so the CTA buttons aren't glued to edge */
  .ast-header-break-point
  #ast-mobile-site-navigation.toggled{
    padding-bottom: 90px !important; /* MORE bottom breathing room */
  }

  /* Optional: a little spacing between menu + “Get Involved” area */
  .ast-header-break-point
  #ast-mobile-site-navigation.toggled
  .ast-builder-layout-element{
    margin-bottom: 18px !important;
  }
}


/* =========================================================
   MOBILE — FIX PAGE TOP CUT OFF (because header is fixed)
   ========================================================= */
@media (max-width: 921px){

  /* Push the whole page content down under the fixed header */
  body.ast-header-break-point{
    padding-top: var(--ast-header-height, 72px) !important;
  }

  /* Make sure the header height variable exists (fallback) */
  .ast-header-break-point .main-header-bar{
    min-height: var(--ast-header-height, 72px) !important;
  }
}


@media (max-width: 921px){

  /* Add space AFTER the CTA button group */
  .ast-header-break-point
  #ast-mobile-site-navigation.toggled
  .ast-builder-layout-element:last-child{
    padding-bottom: 140px !important;
  }

}



@media (max-width: 921px){

  /* JOBS (2789) — reduce Astra mobile body top padding */
  body.page-id-2789.ast-header-break-point{
    --ast-header-break-point-header-height: 56px; /* try 60 / 56 / 52 */
    padding-top: 60px !important;
  }

}


/* =========================================================
   SINGLE NEWS (CPT: sinews) — Reduce space under header
   Scoped: single sinews only
   ========================================================= */

body.single-sinews #content.site-content{
  padding-top: 0px !important;   /* lower this if you want tighter (8px) */
}

/* Astra sometimes creates extra top spacing with this pseudo element */
body.single-sinews #content.site-content::before{
  display: none !important;
  content: none !important;
}

/* Safety: remove any top margin the first container/article might have */
body.single-sinews #content.site-content .ast-container{
  margin-top: 0 !important;
}

body.single-sinews #content.site-content article{
  margin-top: 0 !important;
}



/* =========================================================
   EVENTS ARCHIVE (page 2960) — Mobile: tighten card spacing
   Overrides inline gap: 28px !important
   ========================================================= */

@media (max-width: 921px){

  /* 1) Force the grid gap smaller */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]{
    gap: 12px !important;         /* try 10px if you want tighter */
    row-gap: 12px !important;
    column-gap: 12px !important;
  }

  /* 2) Backup: if something is still injecting spacing, kill margins on cards */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"] > *{
    margin-bottom: 0 !important;
  }

  /* 3) Optional: tighten the card body bottom padding slightly */
  body.page-id-2960
  .si-event-card__body{
    padding-bottom: 16px !important;
  }
}


/* =========================================================
   COUPONS (page-id-1645) — Mobile: make coupons feel bigger
   Bigger via width (not height). Desktop untouched.
   ========================================================= */

@media (max-width: 921px){

  /* Give more screen width back to the content area */
  body.page-id-1645 .site-content .ast-container{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  /* If your FacetWP list has extra side padding, tighten it too */
  body.page-id-1645 .facetwp-wrapper{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Make each coupon card occupy more width (less “air” around it) */
  body.page-id-1645 .si-coupon-card{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Optional: slightly stronger headline presence */
  body.page-id-1645 .si-coupon-title{
    font-size: 17px !important;
    line-height: 1.2 !important;
  }
}









/* =========================================================
   JOBS (Page ID 2789) — MOBILE: MAKE CARDS BIGGER
   (Does NOT affect desktop)
   ========================================================= */
@media (max-width: 921px){

  /* Give the content area a little less side padding so cards can breathe */
  body.page-id-2789 .site-content .ast-container{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  /* Force the FacetWP template + FWPL grid to behave like a true single-column */
  body.page-id-2789 .facetwp-template[data-name="jobs"] .fwp-row{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  /* Kill any column width constraints that keep the card “small” */
  body.page-id-2789 .facetwp-template[data-name="jobs"] .fwp-col,
  body.page-id-2789 .facetwp-template[data-name="jobs"] .fwp-item{
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Let the coupon card fill the available width */
  body.page-id-2789 .facetwp-template[data-name="jobs"] .si-job-card{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}


/* =========================================================
   EVENTS (Page ID 2960) — MOBILE: MAKE CARDS BIGGER
   (Does NOT affect desktop)
   ========================================================= */
@media (max-width: 921px){

  /* Give the content area a little less side padding so cards can breathe */
  body.page-id-2960 .site-content .ast-container{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  /* Force the FacetWP template + FWPL grid to behave like a true single-column */
  body.page-id-2960 .facetwp-template[data-name="events"] .fwp-row{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  /* Kill any column width constraints that keep the card “small” */
  body.page-id-2960 .facetwp-template[data-name="events"] .fwp-col,
  body.page-id-2960 .facetwp-template[data-name="events"] .fwp-item{
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Let the coupon card fill the available width */
  body.page-id-2789 .facetwp-template[data-name="events"] .si-event-card{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}


/* =========================================================
   DESKTOP GRIDS — FWPL SAFE
   Applies same grid logic as Coupons
   Pages:
   - Events:     2960
   - Businesses: 2506
   - Jobs:       2789
   ========================================================= */

@media (min-width: 922px){

  /* =====================================================
     EVENTS — page-id-2960
     ===================================================== */
  body.page-id-2960
  .facetwp-template[data-name="events"]{
    width: 100% !important;
    max-width: none !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(320px, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
    justify-content: start !important;
  }

  body.page-id-2960
  .facetwp-template[data-name="events"] .fwpl-layout,
  body.page-id-2960
  .facetwp-template[data-name="events"] .fwpl-result,
  body.page-id-2960
  .facetwp-template[data-name="events"] .fwpl-row,
  body.page-id-2960
  .facetwp-template[data-name="events"] .fwpl-col{
    display: contents !important;
  }

  body.page-id-2960
  .facetwp-template[data-name="events"] .fwpl-item,
  body.page-id-2960
  .facetwp-template[data-name="events"] .fwpl-item-wrap,
  body.page-id-2960
  .facetwp-template[data-name="events"] .si-event-card{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }


  /* =====================================================
     BUSINESSES — page-id-2506
     ===================================================== */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]{
    width: 100% !important;
    max-width: none !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(320px, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
    justify-content: start !important;
  }

  body.page-id-2506
  .facetwp-template[data-name="businesses"] .fwpl-layout,
  body.page-id-2506
  .facetwp-template[data-name="businesses"] .fwpl-result,
  body.page-id-2506
  .facetwp-template[data-name="businesses"] .fwpl-row,
  body.page-id-2506
  .facetwp-template[data-name="businesses"] .fwpl-col{
    display: contents !important;
  }

  body.page-id-2506
  .facetwp-template[data-name="businesses"] .fwpl-item,
  body.page-id-2506
  .facetwp-template[data-name="businesses"] .fwpl-item-wrap,
  body.page-id-2506
  .facetwp-template[data-name="businesses"] .si-business-card{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }


  /* =====================================================
     JOBS — page-id-2789
     ===================================================== */
  body.page-id-2789
  .facetwp-template[data-name="jobs"]{
    width: 100% !important;
    max-width: none !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(320px, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
    justify-content: start !important;
  }

  body.page-id-2789
  .facetwp-template[data-name="jobs"] .fwpl-layout,
  body.page-id-2789
  .facetwp-template[data-name="jobs"] .fwpl-result,
  body.page-id-2789
  .facetwp-template[data-name="jobs"] .fwpl-row,
  body.page-id-2789
  .facetwp-template[data-name="jobs"] .fwpl-col{
    display: contents !important;
  }

  body.page-id-2789
  .facetwp-template[data-name="jobs"] .fwpl-item,
  body.page-id-2789
  .facetwp-template[data-name="jobs"] .fwpl-item-wrap,
  body.page-id-2789
  .facetwp-template[data-name="jobs"] .si-job-card{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}


/* =========================================================
   OPTIONAL — 2 columns on smaller desktops
   ========================================================= */
@media (min-width: 922px) and (max-width: 1200px){

  body.page-id-2960 .facetwp-template[data-name="events"],
  body.page-id-2506 .facetwp-template[data-name="businesses"],
  body.page-id-2789 .facetwp-template[data-name="jobs"]{
    grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
  }
}



/* Desktop */
@media (min-width: 922px){
  body.page-id-1645 .si-coupon-card{
    height: 380px !important; /* was 420px */
  }
}

/* Mobile */
@media (max-width: 921px){
  body.page-id-1645 .si-coupon-card{
    height: 400px !important; /* was 440px */
  }
}

/* =========================================================
   COUPONS (Page ID 1645) — Remove big empty bottom area
   Keep fixed height, but make layout fill cleanly.
   ========================================================= */

/* Make the card a flex column */
body.page-id-1645 .si-coupon-card{
  display: flex !important;
  flex-direction: column !important;
}

/* Make the main middle section stretch (this is the key) */
body.page-id-1645 .si-coupon-card > *:not(.si-coupon-valid):not(.si-coupon-footer):not(.si-coupon-expiry){
  flex: 0 0 auto !important;
}

/* Try common wrappers (one of these will match your structure) */
body.page-id-1645 .si-coupon-body,
body.page-id-1645 .si-coupon-content,
body.page-id-1645 .si-coupon-inner{
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

/* Force the "Valid through" bar to the bottom */
body.page-id-1645 .si-coupon-valid,
body.page-id-1645 .si-coupon-footer,
body.page-id-1645 .si-coupon-expiry{
  margin-top: auto !important;
}


/* =========================================================
   COUPONS (Page ID 1645) — MOBILE: remove big empty white area
   Keep desktop equal-height grid, but let mobile auto-size.
   ========================================================= */
@media (max-width: 921px){
  body.page-id-1645 .si-coupon-card{
    height: auto !important;      /* overrides the locked height */
    min-height: 0 !important;
  }
}


/* =========================================================
   BUSINESSES — DESKTOP CARD MATCH MOBILE LAYOUT
   Page ID: 2506
   ========================================================= */
@media (min-width: 922px){

  /* Card container */
  body.page-id-2506 .si-business-card{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 26px 24px 28px !important;
    position: relative !important;
  }

  /* Logo centered on top */
  body.page-id-2506 .si-business-logo{
    width: 110px !important;
    height: 110px !important;
    margin: 0 auto 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.page-id-2506 .si-business-logo img{
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  /* Badge — top right */
  body.page-id-2506 .si-community-badge{
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    margin: 0 !important;
  }

  /* Content wrapper */
  body.page-id-2506 .si-business-content{
    width: 100% !important;
    padding: 0 !important;
  }

  /* Business name */
  body.page-id-2506 .si-business-name{
    margin: 6px 0 8px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }

  /* Description */
  body.page-id-2506 .si-business-desc{
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-bottom: 18px !important;
    color: #4b5563 !important;
  }

  /* CTA button */
  body.page-id-2506 .si-business-visit{
    display: flex !important;
    justify-content: center !important;
  }

  body.page-id-2506 .si-visit-btn{
    padding: 12px 26px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
  }

}


/* =========================================================
   BUSINESSES — DESKTOP
   Page ID: 2506
   - Badge top-right
   - Lock equal card heights
   ========================================================= */
@media (min-width: 922px){

  /* Make each grid item stretch so equal-height works */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]{
    align-items: stretch !important;
  }

  /* Card: lock height + allow internal layout control */
  body.page-id-2506 .si-business-card{
    position: relative !important;
    height: 100% !important;
    min-height: 430px !important;  /* adjust 410–470 if you want */
    display: flex !important;
    flex-direction: column !important;
  }

  /* Badge: force top-right (kills any old bottom-left placement) */
  body.page-id-2506 .si-community-badge{
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    z-index: 5 !important;
  }

  /* Make content fill the card so button can sit consistently */
  body.page-id-2506 .si-business-content{
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  /* Push CTA to the bottom of the card */
  body.page-id-2506 .si-business-visit{
    margin-top: auto !important;
    padding-top: 14px !important;
  }
}


/* =========================================================
   BUSINESSES — DESKTOP FIX (OVERRIDE EXISTING BADGE RULE)
   Page ID: 2506
   ========================================================= */
@media (min-width: 922px){

  /* Beat the existing rule: .facetwp-template .si-business-card .si-community-badge */
  body.page-id-2506
  .facetwp-template
  .si-business-card
  .si-community-badge{
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;

    bottom: auto !important;
    left: auto !important;

    z-index: 999 !important;
  }

  /* Lock equal card heights */
  body.page-id-2506
  .facetwp-template
  .si-business-card{
    position: relative !important;
    height: 100% !important;
    min-height: 430px !important; /* tweak if desired */
    display: flex !important;
    flex-direction: column !important;
  }

  /* Keep button aligned nicely at the bottom */
  body.page-id-2506
  .facetwp-template
  .si-business-content{
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.page-id-2506
  .facetwp-template
  .si-business-visit{
    margin-top: auto !important;
    padding-top: 14px !important;
  }
}


/* =========================================================
   BUSINESSES — DESKTOP: FORCE CTA BUTTONS SAME HEIGHT
   Page ID: 2506
   ========================================================= */
@media (min-width: 922px){

  /* Card stays equal height */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-card{
    min-height: 430px !important;   /* keep or tweak */
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Make content area flex so we can pin CTA to bottom */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-content{
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  /* Clamp description so cards have consistent "middle" height */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-desc{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important; /* adjust: 3–5 */
    overflow: hidden !important;
  }

  /* Push CTA area to bottom of the card */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-business-visit{
    margin-top: auto !important;
    padding-top: 16px !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Make buttons identical size */
  body.page-id-2506 .facetwp-template[data-name="businesses"] .si-visit-btn{
    min-width: 210px !important;     /* consistent width */
    height: 44px !important;         /* consistent height */
    line-height: 44px !important;    /* vertically centered text */
    padding: 0 26px !important;      /* no vertical padding */
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (min-width: 922px){
  body.page-id-2506 .si-business-card{
    transition: transform .25s ease, box-shadow .25s ease;
  }
  body.page-id-2506 .si-business-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,.12);
  }
}


@media (min-width: 922px){
  body.page-id-2506 .si-business-desc{
    margin-bottom: 14px;
  }
}


/* =========================================================
   JOBS — DESKTOP: LOCK CARD HEIGHT + ALIGN CTA
   Page ID: 2789
   ========================================================= */
@media (min-width: 922px){

  /* Ensure grid stretches items equally */
  body.page-id-2789
  .facetwp-template[data-name="jobs"]{
    align-items: stretch !important;
  }

  /* Job card: equal height */
  body.page-id-2789
  .facetwp-template[data-name="jobs"]
  .si-job-card{
    position: relative !important;
    height: 100% !important;
    min-height: 420px !important; /* tweak 400–460 if needed */
    display: flex !important;
    flex-direction: column !important;
  }

  /* Content must be flex so CTA can pin bottom */
  body.page-id-2789
  .facetwp-template[data-name="jobs"]
  .si-job-content{
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Clamp description to keep cards consistent */
  body.page-id-2789
  .facetwp-template[data-name="jobs"]
  .si-job-desc{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important; /* adjust if needed */
    overflow: hidden !important;
  }

  /* Push button row to bottom */
  body.page-id-2789
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    margin-top: auto !important;
    padding-top: 16px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  /* Normalize button size */
  body.page-id-2789
  .facetwp-template[data-name="jobs"]
  .si-job-btn{
    min-width: 190px !important;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}



/* =========================================================
   BUSINESSES (Page ID 2506) — FORCE CTA to match Events pill
   (beats existing !important rules)
   ========================================================= */

body.page-id-2506
.facetwp-template[data-name="businesses"]
.si-business-visit
a.si-visit-btn{
  /* pill size like Events */
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;

  /* typography */
  font-size: 14px !important;
  font-weight: 600 !important;

  /* STOP full-width stretching */
  width: auto !important;
  min-width: 220px !important;
  max-width: 280px !important;

  /* center */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 14px auto 0 !important;

  /* Events-style shadow (lighter) */
  box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
}

/* Desktop gets a touch larger like Events desktop */
@media (min-width: 922px){
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit
  a.si-visit-btn{
    height: 42px !important;
    line-height: 42px !important;
    font-size: 15px !important;
    max-width: 320px !important;
  }
}

/* =========================================================
   BUSINESSES (Page ID 2506) — tighten CTA width to match Events
   ========================================================= */

body.page-id-2506
.facetwp-template[data-name="businesses"]
.si-business-visit
a.si-visit-btn{
  min-width: 175px !important;
  max-width: 220px !important;
}

/* Mobile: even tighter, same feel as Events */
@media (max-width: 921px){
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit
  a.si-visit-btn{
    min-width: 175px !important;
    max-width: 240px !important;
  }
}


/* =========================================================
   SINGLE JOBS — FORCE "Apply Now" pill (wins over existing !important)
   ========================================================= */

/* Use the exact selector your inspect shows is winning */
body.single-sijobs a.si-job-single_btn{
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;

  font-size: 14px !important;
  font-weight: 600 !important;

  width: auto !important;
  min-width: 175px !important;
  max-width: 260px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
}

/* Make sure the container centers it (some themes set weird flex rules) */
body.single-sijobs .si-job-single_actions{
  display: flex !important;
  justify-content: center !important;
}

/* Desktop slightly larger */
@media (min-width: 922px){
  body.single-sijobs a.si-job-single_btn{
    height: 42px !important;
    line-height: 42px !important;
    font-size: 15px !important;
    max-width: 280px !important;
  }
}
body.single-sijobs .si-job-single_actions a.si-job-single_btn{ all: unset !important; }


/* =========================================================
   SINGLE EVENTS (desktop + mobile) — STANDARD PILL BUTTONS
   Targets ONLY single event pages
   ========================================================= */

/* 1) Base pill styling (wins over existing !important rules) */
body.single-sievents #content.site-content article.ast-article-single .si-event-actions a.si-event-action{
  /* pill shape + sizing */
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;

  /* typography */
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  text-decoration: none !important;

  /* feel */
  box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
}

/* 2) MOBILE — keep buttons on SAME LINE (2-up) */
@media (max-width: 921px){

  body.single-sievents #content.site-content article.ast-article-single .si-event-actions{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.single-sievents #content.site-content article.ast-article-single .si-event-actions a.si-event-action{
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}


/* 3) DESKTOP — 2 buttons side-by-side, not overly wide */
@media (min-width: 922px){
  body.single-sievents #content.site-content article.ast-article-single .si-event-actions{
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    align-items: center !important;
  }

  body.single-sievents #content.site-content article.ast-article-single .si-event-actions a.si-event-action{
    width: auto !important;
    min-width: 175px !important;
    max-width: 280px !important;
    height: 42px !important;
    line-height: 42px !important;
    font-size: 15px !important;
    margin: 0 !important;
  }
}


/* SINGLE EVENTS — DESKTOP spacing fixes (targets your real DOM) */
@media (min-width: 922px){

  /* 1) Reduce gap under featured image */
  body.single-sievents
  .ast-single-post-featured-section.post-thumb{
    margin-bottom: 16px !important;
    padding-bottom: 0 !important;
  }

  /* (Sometimes Astra adds extra spacing on the wrapper too) */
  body.single-sievents
  .ast-single-post-featured-section.post-thumb
  + article{
    margin-top: 0 !important;
  }

  /* 2) Tighten title spacing (covers both common title placements) */
  body.single-sievents
  article.ast-article-single
  .entry-title,
  body.single-sievents
  article.ast-article-single
  h1{
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  /* 3) Date/time/location row — tighten horizontal + vertical spacing */
  body.single-sievents
  #content.site-content
  article.ast-article-single
  .si-event-card__meta.si-event-card__meta-top{
    gap: 12px !important;
    margin: 0 0 14px !important;
  }

  /* Kill the “spread out” from the rule you’re seeing in DevTools */
  body.single-sievents
  #content.site-content
  article.ast-article-single
  .si-event-card__meta.si-event-card__meta-top *{
    margin: 0 !important;
    gap: 0 !important;
  }

  /* If the DATE and TIME are separate flex items, pull them together */
  body.single-sievents
  .si-event-card__meta-top
  .si-event-time{
    margin-left: 10px !important;
  }

  /* 4) Bring buttons closer to meta */
  body.single-sievents
  #content.site-content
  article.ast-article-single
  .si-event-actions{
    margin-top: 10px !important;
    margin-bottom: 18px !important;
  }
}




/* =========================================================
   EVENTS — TEXT HIERARCHY FIX (ARCHIVE + SINGLE)
   Pills & buttons untouched
   ========================================================= */

/* Shared meta text sizing */
.si-event-card_meta,
.si-event-card_meta span,
.si-event-card_meta-item,
.single-sievents .si-event-card_meta span{
  font-size: 15px !important;
  line-height: 1.35 !important;
}

/* Date + Time — primary meta */
.si-event-date,
.si-event-time,
.si-event-card_meta-item.si-event-date,
.si-event-card_meta-item.si-event-time{
  font-weight: 500 !important;
  color: #111827 !important; /* dark slate */
}

/* Location — same size, slightly softer */
.si-event-location,
.si-event-card_meta-item.si-event-location{
  font-weight: 400 !important;
  color: #4b5563 !important; /* slate gray */
}

/* Mobile: keep everything readable & even */
@media (max-width: 921px){
  .si-event-card_meta,
  .si-event-card_meta span{
    font-size: 15px !important;
  }
}






/* SINGLE EVENT — MOBILE */
@media (max-width: 768px){

  body.single-sievents .si-event-card__meta-top{
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  body.single-sievents .si-event-card__meta-top .si-event-date_text,
  body.single-sievents .si-event-card__meta-top .si-event-time_text,
  body.single-sievents .si-event-card__meta-top .si-event-card__meta-item{
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 500 !important;
    opacity: .95 !important;
  }

  body.single-sievents .si-event-card__meta-top .si-event-time_text{
    text-transform: uppercase !important;
  }
}




/* =========================================================
   EVENTS — FORCE MOBILE META TEXT SIZE (wins vs 14.5px !important)
   Archive (page 2960) + Single Events
   DOES NOT TOUCH STATUS PILLS
   ========================================================= */
@media (max-width: 921px){

  /* ===== EVENTS ARCHIVE (page 2960) ===== */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card
  .si-event-card__meta.si-event-card__meta--top{
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card
  .si-event-card__meta.si-event-card__meta--top
  .si-event-date__text,
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card
  .si-event-card__meta.si-event-card__meta--top
  .si-event-time__text{
    font-size: 14px !important;      /* beats 14.5px !important */
    line-height: 1.35 !important;
    font-weight: 500 !important;
  }

  /* Force pm/am to uppercase on archive only */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card
  .si-event-card__meta.si-event-card__meta--top
  .si-event-time__text{
    text-transform: uppercase !important;
  }


  /* ===== SINGLE EVENTS ===== */
  body.single-sievents
  article.ast-article-single
  .si-event-card__meta.si-event-card__meta--top{
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  body.single-sievents
  article.ast-article-single
  .si-event-card__meta.si-event-card__meta--top
  .si-event-date__text,
  body.single-sievents
  article.ast-article-single
  .si-event-card__meta.si-event-card__meta--top
  .si-event-time__text{
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
  }

  body.single-sievents
  article.ast-article-single
  .si-event-card__meta.si-event-card__meta--top
  .si-event-time__text{
    text-transform: uppercase !important;
  }
}


/* EVENTS ARCHIVE — force AM/PM uppercase only */

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card
  .si-event-time__text{
    text-transform: uppercase !important;
  }
}


/* =========================================================
   EVENTS ARCHIVE (2960) — MOBILE
   Add breathing room under title (match single event)
   ========================================================= */
@media (max-width: 921px){

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__title{
    margin-bottom: 10px !important;
  }

  /* backup: if another rule is forcing the title margin to 0 */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__meta.si-event-card__meta--top{
    margin-top: 2px !important; /* keeps spacing consistent */
  }

}


/* =========================================================
   EVENTS ARCHIVE (Page ID 2960) — MOBILE
   Add breathing room under the title (text only)
   ========================================================= */
@media (max-width: 921px){

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__title{
    margin-bottom: 14px !important; /* breathing room under title */
  }

}


/* =========================================================
   EVENTS ARCHIVE (2960) — MOBILE
   Force space under title (JS-safe)
   ========================================================= */
@media (max-width: 921px){

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__title::after{
    content: "";
    display: block;
    height: 20px; /* matches single event spacing */
  }

}


/* =========================================================
   SINGLE EVENT (DESKTOP ONLY) — match archive title weight + meta alignment
   ========================================================= */
@media (min-width: 922px){

  /* 1) Title: match archive feel (less “heavy”) */
  body.single-sievents
  .site-content article.sievents .entry-title{
    font-weight: 800 !important;   /* adjust to 700 if you want even lighter */
    letter-spacing: -0.02em !important;
    line-height: 1.12 !important;
  }

  /* 2) Meta row (date/time/location): stop time from pushing far right */
  body.single-sievents
  .site-content article.sievents
  .si-event-card__meta--top{
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 18px !important;          /* matches archive spacing vibe */
    flex-wrap: wrap !important;
  }

  /* Remove any "push-right" behavior on the time item */
  body.single-sievents
  .site-content article.sievents
  .si-event-card__meta--top
  .si-event-time{
    margin-left: 0 !important;
  }

  body.single-sievents
  .site-content article.sievents
  .si-event-card__meta--top
  .si-event-card__meta-item.si-event-time{
    margin-left: 0 !important;
  }
}


/* =========================================================
   SINGLE EVENTS — DESKTOP TITLE WEIGHT (match archive)
   ========================================================= */
@media (min-width: 922px){
  body.single-sievents
  .entry-content
  h1,
  body.single-sievents
  .entry-content
  h2{
    font-weight: 700 !important; /* matches archive */
    letter-spacing: -0.02em !important;
  }
}



/* =========================================================
   UNIFIED CTAs — SITEWIDE (MOBILE + DESKTOP)
   Events archive • Businesses • Jobs archive • Single Events • Single Jobs
   ========================================================= */

/* ---------- Base pill CTA style (shared) ---------- */
:where(
  /* Events archive CTA */
  body.page-id-2960 .si-event-card .si-event-card__cta,

  /* Businesses archive CTA */
  .si-business-card .si-visit-btn,

  /* Jobs archive CTA */
  .si-job-card .si-job-details-btn,

  /* Single Events CTAs */
  body.single-sievents .si-event-actions .si-event-action,

  /* Single Jobs CTA */
  body.single-sijobs .si-job-single__actions .si-job-single__btn
){
  padding: 12px 24px !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---------- Events archive: prevent image/overlay whitespace ---------- */
body.page-id-2960 .si-event-card > a.si-event-card__link{
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ---------- Single Events: keep buttons on ONE line desktop ---------- */
body.single-sievents .si-event-actions{
  display: flex !important;
  gap: 14px !important;
  justify-content: center !important;
  flex-wrap: wrap !important; /* mobile ok */
}
@media (min-width: 922px){
  body.single-sievents .si-event-actions{
    flex-wrap: nowrap !important; /* desktop stays 1 line */
  }
}

/* ---------- Single Jobs: center button row ---------- */
body.single-sijobs .si-job-single__actions{
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

/* =========================================================
   SINGLE EVENTS — CTAs ONE LINE (MOBILE + DESKTOP)
   ========================================================= */

body.single-sievents .si-event-actions{
  display: flex !important;
  gap: 14px !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;     /* 🔒 NEVER WRAP */
}

/* Buttons */
body.single-sievents .si-event-actions .si-event-action{
  padding: 12px 24px !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  border-radius: 999px !important;
  font-weight: 600 !important;

  white-space: nowrap !important;   /* 🔒 text never wraps */
  flex-shrink: 0 !important;        /* 🔒 buttons never collapse */
}



/* =========================================================
   MOBILE ONLY — UNIFY ALL CTA BUTTONS (SIZE + WIDTH MODEL)
   ========================================================= */
@media (max-width: 921px){

  /* ---- Shared sizing (mobile) ---- */
  body.page-id-2960 .si-event-card .si-event-card__cta,
  body.page-id-2506 .si-business-card .si-visit-btn,
  body.page-id-2789 .si-job-card .si-job-details-btn,
  body.single-sievents .si-event-actions a.si-event-action,
  body.single-sijobs .si-job-single__actions a.si-job-single__btn{
    padding: 12px 24px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    min-height: 44px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* unified “pill width” model */
    min-width: 170px !important;
    max-width: 240px !important;
    width: auto !important;
  }



  /* ---- Single Events: remove the 50% width / flex:1 rule so pills match ---- */
  body.single-sievents .si-event-actions{
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: nowrap !important; /* you requested 1 line */
  }

  body.single-sievents .si-event-actions a.si-event-action{
    flex: 0 0 auto !important;     /* overrides flex:1 0 0 */
    width: auto !important;        /* overrides width:50% */
  }
}


/* =========================================================
   MOBILE ONLY — UNIFY ALL CTA SIZES VIA VARIABLES
   (does NOT affect desktop)
   ========================================================= */
@media (max-width: 921px){

  /* 1) Global SIN CTA tokens (updates Events archive + Businesses + Jobs archive automatically) */
  body{
    --sin-cta-pad-y: 12px;
    --sin-cta-pad-x: 24px;
    --sin-cta-font: 15px;
    --sin-cta-minh: 44px;
    --sin-cta-radius: 999px;
  }

  /* 2) Single Events: remove the “50% width / flex:1” mobile rules so they match */
  body.single-sievents .si-event-actions{
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: nowrap !important; /* you want 1 line */
  }
  body.single-sievents .si-event-actions a.si-event-action{
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 170px !important;   /* match the other pills */
    max-width: 240px !important;
  }

  /* 3) Safety: never let Events archive overlay link pick up padding */
  body.page-id-2960 .si-event-card > a.si-event-card__link{
    padding: 0 !important;
    background: transparent !important;
  }
}


/* =========================================================
   MOBILE ONLY — SINGLE EVENTS buttons match site CTAs
   (does not affect desktop)
   ========================================================= */
@media (max-width: 921px){

  /* Button row stays on one line */
  body.single-sievents .si-event-actions{
    display: flex !important;
    gap: 14px !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
  }

  /* Force the 2 buttons to match the “View details / View Business” pill sizing */
  body.single-sievents .si-event-actions a.si-event-action{
    padding: 12px 24px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    min-height: 44px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* stop the “big half-width” behavior */
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 170px !important;
    max-width: 240px !important;
  }

  /* If your theme is forcing primary/secondary widths, override those too */
  body.single-sievents .si-event-actions a.si-event-action-primary,
  body.single-sievents .si-event-actions a.si-event-action-secondary{
    flex: 0 1 auto !important;
    width: auto !important;
  }
}


/* =========================================================
   SINGLE JOBS — DESKTOP CTA PILL (targets your PHP class)
   DO NOT TOUCH MOBILE
   ========================================================= */
@media (min-width: 769px){

  body.single-sijobs
  .si-job-single__actions
  > a.si-job-single__btn.is-primary{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 12px 24px !important;
    min-height: 44px !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    border-radius: 999px !important;
    white-space: nowrap !important;

    background: var(--ast-global-color-0) !important;
    color: #fff !important;
    border: 0 !important;

    width: auto !important;
    max-width: none !important;

    box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
    text-decoration: none !important;
  }

  body.single-sijobs
  .si-job-single__actions
  > a.si-job-single__btn.is-primary:hover{
    filter: brightness(1.05) !important;
    transform: scale(0.97) !important;
  }

}


/* =========================================================
   SINGLE JOBS — DESKTOP CTA: match Events/Businesses width
   (DO NOT TOUCH MOBILE)
   ========================================================= */
@media (min-width: 769px){
  body.single-sijobs
  .si-job-single__actions
  > a.si-job-single__btn.is-primary{
    min-width: 170px !important;
    max-width: 240px !important;
    width: auto !important;
    padding: 12px 18px !important; /* matches your other CTAs closer */
    font-weight: 700 !important;
  }
}


/* =========================================================
   JOBS ARCHIVE (Page ID 2789) — DESKTOP ONLY
   - Move "Now Hiring" badge to TOP RIGHT
   - Center CTA at BOTTOM
   ========================================================= */
@media (min-width: 922px){

  /* Ensure card can anchor an absolute badge + allow bottom-stuck CTA */
  body.page-id-2789 .si-job-card{
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Make the content area fill the card so actions can sit at bottom */
  body.page-id-2789 .si-job-card .si-job-content{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 100% !important;
  }

  /* --- CTA: bottom + centered --- */
  body.page-id-2789 .si-job-card .si-job-actions{
    margin-top: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-top: 14px !important;
  }

  body.page-id-2789 .si-job-card .si-job-actions .si-job-details-btn{
    margin: 0 auto !important;
  }

  /* --- "Now Hiring" badge: move to top-right ---
     Covers common implementations:
     1) real element (.si-job-now-hiring / .si-job-hiring-badge)
     2) pseudo-element on the card (::before / ::after)
  */
  body.page-id-2789 .si-job-card .si-job-now-hiring,
  body.page-id-2789 .si-job-card .si-job-hiring-badge{
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
  }

  body.page-id-2789 .si-job-card::before,
  body.page-id-2789 .si-job-card::after{
    /* If your "Now Hiring" pill is a pseudo element, this relocates it */
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
  }

}


/* =========================================================
   JOBS ARCHIVE (Page 2789) — DESKTOP ONLY
   - "Now Hiring" badge in true top-right (uses the empty space)
   - CTA centered at bottom
   ========================================================= */
@media (min-width: 922px){

  body.page-id-2789 .si-job-card{
    position: relative !important;
  }

  /* Turn OFF any older pseudo-badge attached to the title */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-title:after{
    content: none !important;
    display: none !important;
  }

  /* Create the badge on the CARD so it can sit in the real top-right */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card:after{
    content: "Now Hiring" !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 4px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;

    background: #E9FBF3 !important;
    color: #059669 !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.12) !important;

    z-index: 20 !important;
    pointer-events: none !important;
  }

  /* Make CTA truly bottom + centered */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-content{
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    margin-top: auto !important;
    display: flex !important;
    justify-content: center !important;
  }

  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-details-btn{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}





/* =========================================================
   JOBS (Page ID 2789) — CTA RAISED + NO BIG EMPTY SPACE
   ========================================================= */
@media (min-width: 922px){

  /* Let card height be driven by content (no forced tall cards) */
  body.page-id-2789 .facetwp-template[data-name="jobs"] .si-job-card{
    position: relative !important;
    min-height: 0 !important;         /* <-- removes the forced “tall blank” */
    overflow: hidden !important;      /* keep clean rounded corners */
  }

  /* Just enough room for the button */
  body.page-id-2789 .facetwp-template[data-name="jobs"] .si-job-content{
    position: relative !important;
    padding-bottom: 75px !important;  /* <-- smaller, prevents giant void */
    z-index: 2 !important;
  }

  /* CTA sits inside the card and floats up */
  body.page-id-2789 .facetwp-template[data-name="jobs"] .si-job-actions{
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 58px !important;          /* <-- raise/lower here */
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    z-index: 3 !important;
  }

  /* Keep overlay link behind CTA */
  body.page-id-2789 .facetwp-template[data-name="jobs"] .si-job-card__link{
    z-index: 1 !important;
  }
}


/* =====================================================
   FORCE ALL CTA BUTTONS TO MATCH (OVERRIDES EVERYTHING)
   Paste at VERY BOTTOM of Custom CSS
   ===================================================== */

/*** JOBS ARCHIVE (Page 2789) — Full details button ***/
body.page-id-2789 .facetwp-wrapper.si-jobboard-wrap .facetwp-template[data-name="jobs"]
.si-job-actions a.si-job-details-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 44px !important;
  padding: 0 22px !important;

  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  background: var(--ast-global-color-0) !important;
  color: #fff !important;
  text-decoration: none !important;

  box-shadow: 0 10px 24px rgba(15,23,42,.14) !important;
}



/*** JOBS ARCHIVE (2789) — Now Hiring top-right higher ***/
body.page-id-2789 .facetwp-wrapper.si-jobboard-wrap .facetwp-template[data-name="jobs"]
.si-job-card{
  position: relative !important;
}
body.page-id-2789 .facetwp-wrapper.si-jobboard-wrap .facetwp-template[data-name="jobs"]
.si-job-card .now-hiring{
  position: absolute !important;
  top: 10px !important;
  right: 14px !important;
  z-index: 30 !important;
}


/*** BUSINESSES (Page 2506) — View Business button ***/
body.page-id-2506 .facetwp-template[data-name="businesses"]
.si-business-visit a.si-visit-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 44px !important;
  padding: 0 22px !important;

  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  background: var(--ast-global-color-0) !important;
  color: #fff !important;
  text-decoration: none !important;

  box-shadow: 0 10px 24px rgba(15,23,42,.14) !important;
}


/*** EVENTS ARCHIVE (Page 2960) — CTA button text size match ***/
body.page-id-2960 .facetwp-template[data-name="events"]
.si-event-card .si-event-card__cta,
body.page-id-2960 .facetwp-template[data-name="events"]
.si-event-card .si-event-card__button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 44px !important;
  padding: 0 22px !important;

  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  background: var(--ast-global-color-0) !important;
  color: #fff !important;
  text-decoration: none !important;

  box-shadow: 0 10px 24px rgba(15,23,42,.14) !important;
}




/* =========================================================
   HARD-LOCK PILL CTAs — TRUE SITEWIDE MATCH
   Put at VERY END of CSS so it wins
   ========================================================= */

:root{
  --si-pill-w: 200px;
  --si-pill-h: 46px;
  --si-pill-font: 15px;
  --si-pill-weight: 600;
  --si-pill-radius: 999px;
  --si-pill-pad-x: 18px;
}

/* ---------- EVENTS ARCHIVE (2960) ---------- */
body.page-id-2960
.facetwp-template[data-name="events"]
.si-event-card
:where(a.si-event-card__cta, .si-event-card__cta){
  width: var(--si-pill-w) !important;
  min-width: var(--si-pill-w) !important;
  max-width: var(--si-pill-w) !important;

  height: var(--si-pill-h) !important;
  min-height: var(--si-pill-h) !important;

  padding: 0 var(--si-pill-pad-x) !important;
  box-sizing: border-box !important;

  font-size: var(--si-pill-font) !important;
  font-weight: var(--si-pill-weight) !important;
  line-height: 1 !important;

  border-radius: var(--si-pill-radius) !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---------- BUSINESSES ARCHIVE (2506) ---------- */
body.page-id-2506
.facetwp-template[data-name="businesses"]
.si-business-card
.si-business-visit
a.si-visit-btn{
  width: var(--si-pill-w) !important;
  min-width: var(--si-pill-w) !important;
  max-width: var(--si-pill-w) !important;

  height: var(--si-pill-h) !important;
  min-height: var(--si-pill-h) !important;

  padding: 0 var(--si-pill-pad-x) !important;
  box-sizing: border-box !important;

  font-size: var(--si-pill-font) !important;
  font-weight: var(--si-pill-weight) !important;
  line-height: 1 !important;

  border-radius: var(--si-pill-radius) !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---------- JOBS ARCHIVE (2789) ---------- */
body.page-id-2789
.facetwp-template[data-name="jobs"]
.si-job-card
.si-job-actions
a.si-job-details-btn{
  width: var(--si-pill-w) !important;
  min-width: var(--si-pill-w) !important;
  max-width: var(--si-pill-w) !important;

  height: var(--si-pill-h) !important;
  min-height: var(--si-pill-h) !important;

  padding: 0 var(--si-pill-pad-x) !important;
  box-sizing: border-box !important;

  font-size: var(--si-pill-font) !important;
  font-weight: var(--si-pill-weight) !important;
  line-height: 1 !important;

  border-radius: var(--si-pill-radius) !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---------- SINGLE EVENTS ---------- */
body.single-sievents
.si-event-actions
:where(a.si-event-action, .si-event-action){
  width: var(--si-pill-w) !important;
  min-width: var(--si-pill-w) !important;
  max-width: var(--si-pill-w) !important;

  height: var(--si-pill-h) !important;
  min-height: var(--si-pill-h) !important;

  padding: 0 var(--si-pill-pad-x) !important;
  box-sizing: border-box !important;

  font-size: var(--si-pill-font) !important;
  font-weight: var(--si-pill-weight) !important;
  line-height: 1 !important;

  border-radius: var(--si-pill-radius) !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---------- SINGLE JOBS ---------- */
body.single-sijobs
.si-job-single__actions
a.si-job-single__btn{
  width: var(--si-pill-w) !important;
  min-width: var(--si-pill-w) !important;
  max-width: var(--si-pill-w) !important;

  height: var(--si-pill-h) !important;
  min-height: var(--si-pill-h) !important;

  padding: 0 var(--si-pill-pad-x) !important;
  box-sizing: border-box !important;

  font-size: var(--si-pill-font) !important;
  font-weight: var(--si-pill-weight) !important;
  line-height: 1 !important;

  border-radius: var(--si-pill-radius) !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* =========================================================
   JOBS ARCHIVE — ALIGN CTA WITH BUSINESSES
   ========================================================= */

body.page-id-2789
.si-job-card{
  display: flex !important;
  flex-direction: column !important;
}

/* Push actions upward consistently */
body.page-id-2789
.si-job-actions{
  margin-top: auto !important;
  padding-bottom: 22px !important; /* matches business card spacing */
  display: flex !important;
  justify-content: center !important;
}


/* JOB CTA — MATCH BUSINESS CTA EXACTLY */
body.page-id-2789
.si-job-details-btn{
  width: 200px !important;
  height: 46px !important;

  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  border-radius: 999px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}



/* =========================================================
   JOBS ARCHIVE (Page 2789) — MOBILE ONLY
   - "Now Hiring" badge TRUE top-right (card pseudo pill)
   - CTA centered at bottom (like desktop)
   ========================================================= */
@media (max-width: 921px){

  /* Card needs to be the positioning anchor + allow bottom CTA */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card{
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Turn OFF any older pseudo-badge attached to the title */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-title:after{
    content: none !important;
    display: none !important;
  }

  /* IMPORTANT: kill any existing real badge so we don't get duplicates */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card .now-hiring{
    display: none !important;
  }

  /* Create the badge on the CARD so it can sit in the real top-right */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card:after{
    content: "Now Hiring" !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 4px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;

    background: #E9FBF3 !important;
    color: #059669 !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.12) !important;

    z-index: 20 !important;
    pointer-events: none !important;
  }

  /* Make CTA truly bottom + centered */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-content{
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    margin-top: auto !important;
    display: flex !important;
    justify-content: center !important;
  }

  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-details-btn{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* =========================================================
   JOBS ARCHIVE (2789) — MOBILE
   Move CTA slightly LOWER
   ========================================================= */
@media (max-width: 921px){

  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    margin-top: auto !important;
    padding-top: 20px !important;   /* space above button */
    padding-bottom: 0px !important;/* pushes CTA down */
  }

}


/* =========================================================
   JOBS ARCHIVE (2789) — MOBILE
   Reduce space UNDER CTA button
   ========================================================= */
@media (max-width: 921px){

  /* Reduce extra padding at bottom of card */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card{
    padding-bottom: 32px !important; /* was larger */
  }

  /* Tighten CTA wrapper spacing */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Button itself sometimes adds optical space via shadow */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-details-btn{
    margin-bottom: 0 !important;
  }

}


/* =========================================================
   BUSINESSES ARCHIVE (2506) — MOBILE
   Add MORE space under the CTA (inside the card)
   ========================================================= */
@media (max-width: 921px){

  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-card .si-business-content{
    padding-bottom: 12px !important; /* <-- increases space UNDER button */
  }

  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-card .si-business-visit{
    margin-top: 0 !important;   /* <-- adds breathing room ABOVE button */
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-card .si-business-visit .si-visit-btn{
    margin-bottom: 0 !important;
  }

}


/* =====================================================
   EVENTS ARCHIVE — CTA SPACING (ALL DEVICES)
   ===================================================== */

/* Space below the CTA button */
.si-event-card__actions{
  margin-bottom: 0px !important;
}

/* Ensure the card has breathing room at the bottom */
.si-event-card{
  padding-bottom: 0px !important;
}





/* =========================================================
   SINGLE NEWS — DESKTOP ONLY (tune header spacing here)
   ========================================================= */
@media (min-width: 922px){
  body.single-sinews{
    --news-gap: 13px; /* <-- CHANGE THIS */
  }

  body.single-sinews #masthead .main-header-menu{
    column-gap: var(--news-gap) !important;
  }

  /* Remove any News-only nowrap forcing weird line breaks */
  body.single-sinews #masthead .ast-builder-menu-1,
  body.single-sinews #masthead .ast-builder-menu-3,
  body.single-sinews #masthead .main-header-menu{
    white-space: normal !important;
  }
}


/* =========================================================
   NEWS ARCHIVE (Page ID 1473) — DESKTOP ONLY
   Tighten header menu beyond what gap=0 can do
   ========================================================= */
@media (min-width: 922px){

  /* keep gap at 0 (negative doesn't work) */
  body.page-id-1473 #masthead .main-header-menu{
    column-gap: 0 !important;
    gap: 0 !important;
  }

  /* tighten spacing by reducing link padding */
  body.page-id-1473 #masthead .main-header-menu > li > a,
  body.page-id-1473 #masthead .main-header-menu > li > .menu-link{
    padding-left: 25.3px !important;   /* try 8px if you need tighter */
    padding-right: 8px !important;  /* try 8px if you need tighter */
  }

  /* remove any leftover li margins */
  body.page-id-1473 #masthead .main-header-menu > li{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* undo the News-only nowrap that was causing weird wrapping */
  body.page-id-1473 #masthead .ast-builder-menu-1,
  body.page-id-1473 #masthead .ast-builder-menu-3,
  body.page-id-1473 #masthead .main-header-menu{
    white-space: normal !important;
  }
}


/* =========================================================
   NEWS ARCHIVE — DESKTOP GRID (FWPL SAFE)
   Page: 1473
   FacetWP template: data-name="news"
   Card: .si-news-card
   ========================================================= */

@media (min-width: 922px){

  body.page-id-1473
  .facetwp-template[data-name="news"]{
    width: 100% !important;
    max-width: none !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(320px, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
    justify-content: start !important;
  }

  body.page-id-1473
  .facetwp-template[data-name="news"] .fwpl-layout,
  body.page-id-1473
  .facetwp-template[data-name="news"] .fwpl-result,
  body.page-id-1473
  .facetwp-template[data-name="news"] .fwpl-row,
  body.page-id-1473
  .facetwp-template[data-name="news"] .fwpl-col{
    display: contents !important;
  }

  body.page-id-1473
  .facetwp-template[data-name="news"] .fwpl-item,
  body.page-id-1473
  .facetwp-template[data-name="news"] .fwpl-item-wrap,
  body.page-id-1473
  .facetwp-template[data-name="news"] .si-news-card{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}

/* =========================================================
   OPTIONAL — 2 columns on smaller desktops
   ========================================================= */
@media (min-width: 922px) and (max-width: 1200px){
  body.page-id-1473 .facetwp-template[data-name="news"]{
    grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
  }
}



/* =========================================================
   SINGLE JOBS — Apply Now button
   Make hover match Jobs/Businesses archive pill behavior
   (no “inward” shrink, no sideways move)
   ========================================================= */

body.single-sijobs
.si-job-single__actions > a.si-job-single__btn.is-primary{
  /* match archive pill sizing system */
  width: var(--si-pill-w, 240px) !important;
  min-width: var(--si-pill-w, 240px) !important;
  max-width: var(--si-pill-w, 240px) !important;
  height: var(--si-pill-h, 44px) !important;
  min-height: var(--si-pill-h, 44px) !important;

  padding: var(--si-pill-pad, 12px 18px) !important;
  border-radius: var(--si-pill-radius, 999px) !important;

  /* prevent hover from changing box model */
  box-sizing: border-box !important;
  border: 0 !important;
  outline: 0 !important;

  /* kill weird movement */
  margin: 0 !important;
  transform: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;

  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease, filter .18s ease !important;
}

/* Hard-kill the current “inward” hover behavior */
body.single-sijobs
.si-job-single__actions > a.si-job-single__btn.is-primary:hover,
body.single-sijobs
.si-job-single__actions > a.si-job-single__btn.is-primary:focus,
body.single-sijobs
.si-job-single__actions > a.si-job-single__btn.is-primary:active{
  width: var(--si-pill-w, 240px) !important;
  min-width: var(--si-pill-w, 240px) !important;
  max-width: var(--si-pill-w, 240px) !important;
  padding: var(--si-pill-pad, 12px 18px) !important;
  border: 0 !important;
  transform: none !important;
}

/* Archive-style hover (subtle lift + shadow, NO size change) */
body.single-sijobs
.si-job-single__actions > a.si-job-single__btn.is-primary:hover{
  filter: brightness(.95) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .14) !important; /* matches your archive vibe */
}

/* Pressed */
body.single-sijobs
.si-job-single__actions > a.si-job-single__btn.is-primary:active{
  transform: translateY(0) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .12) !important;
}



/* =========================================================
   EVENTS ARCHIVE (Page 2960) — DESKTOP CTA NUCLEAR OVERRIDE
   Match Jobs archive pill button (DO NOT TOUCH MOBILE)
   ========================================================= */
@media (min-width: 922px){

  /* 1) Center the CTA area */
  body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__actions,
  body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__cta,
  body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__cta-wrap,
  body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__actions-wrap{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 18px !important;
    margin-bottom: 8px !important;
  }

  /* 2) The actual button (covers both possible classes) */
  body.page-id-2960 .facetwp-template[data-name="events"] a.si-event-card__cta,
  body.page-id-2960 .facetwp-template[data-name="events"] a.si-event-btn{
    /* lock geometry so it can’t “shrink/grow” on hover */
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 46px !important;
    min-width: 240px !important;
    padding: 0 28px !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    background: #1677ff !important;
    color: #fff !important;
    text-decoration: none !important;

    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .25) !important;

    /* kill any legacy transitions that cause weird movement */
    transform: none !important;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease !important;
  }

  /* 3) Hover (desktop only) — no sideways movement */
  body.page-id-2960 .facetwp-template[data-name="events"] a.si-event-card__cta:hover,
  body.page-id-2960 .facetwp-template[data-name="events"] a.si-event-btn:hover{
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 32px rgba(37, 99, 235, .28) !important;
  }

  /* 4) If a parent link/overlay is interfering, make sure CTA stays clickable */
  body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__actions a,
  body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__cta{
    position: relative !important;
    z-index: 5 !important;
  }
}


/* =========================================================
   EVENTS ARCHIVE (2960) — RESTORE CTA BUTTON VISIBILITY
   (Overlay removed in template)
   ========================================================= */

/* Make sure the card can show the CTA area */
body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card{
  overflow: visible !important;
}

/* Ensure the body has room for the button */
body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__body{
  display: flex !important;
  flex-direction: column !important;
}

/* Force CTA wrapper to show and sit at bottom */
body.page-id-2960 .facetwp-template[data-name="events"] .si-event-card__actions{
  display: flex !important;
  justify-content: center !important;
  margin-top: auto !important;     /* pushes it to the bottom */
  padding-top: 18px !important;
  padding-bottom: 6px !important;
  position: relative !important;
  z-index: 5 !important;
}

/* Force the actual button to display */
body.page-id-2960 .facetwp-template[data-name="events"] a.si-event-card__cta{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 46px !important;
  min-width: 240px !important;
  padding: 0 28px !important;

  background: #1677ff !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-decoration: none !important;

  border-radius: 999px !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .25) !important;
}


/* =========================================================
   EVENTS ARCHIVE (2960) — MAKE "View details" MATCH JOBS CTA
   (DO NOT TOUCH MOBILE)
   ========================================================= */
@media (min-width: 922px){

  /* Center the CTA row */
  body.page-id-2960 .facetwp-template[data-name="events"] .si-job-actions{
    display: flex !important;
    justify-content: center !important;
    margin: 16px 0 18px !important;
  }

  /* Force the pill button look */
  body.page-id-2960 .facetwp-template[data-name="events"] a.si-job-details-btn{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 46px !important;
    min-width: 240px !important;
    padding: 0 28px !important;

    background: #1677ff !important;
    color: #fff !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .25) !important;

    transform: none !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
  }

  /* Hover */
  body.page-id-2960 .facetwp-template[data-name="events"] a.si-job-details-btn:hover{
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 32px rgba(37, 99, 235, .28) !important;
  }
}


/* =========================================================
   EVENTS ARCHIVE (2960) — CTA POLISH
   Match Jobs: higher + narrower
   ========================================================= */
@media (min-width: 922px){

  /* Move CTA UP */
  body.page-id-2960
  .facetwp-template[data-name="events"]
  .si-job-actions{
    margin-top: 8px !important;     /* was too low */
    margin-bottom: 6px !important;
  }

  /* Match Jobs button width + size */
  body.page-id-2960
  .facetwp-template[data-name="events"]
  a.si-job-details-btn{
    min-width: 200px !important;    /* ⬅ narrower like Jobs */
    height: 44px !important;

    padding: 0 22px !important;     /* tighter pill */
    font-size: 15px !important;

    box-shadow: 0 8px 20px rgba(37,99,235,.22) !important;
  }

  /* Hover stays subtle */
  body.page-id-2960
  .facetwp-template[data-name="events"]
  a.si-job-details-btn:hover{
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 26px rgba(37,99,235,.26) !important;
  }
}




/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   1) Force equal CTA baseline (2-line titles won’t move button)
   2) Force MORE space under CTA (wins old rules)
   ========================================================= */
@media (min-width: 922px){

  /* Make each card a flex column container */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card{
    display: flex !important;
    flex-direction: column !important;
  }

  /* Body grows to fill, and we control bottom “air” here */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__body{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;

    /* THIS is the space under the CTA */
    padding-bottom: 115px !important;  /* try 105–135 */
  }

  /* Push CTA row to bottom no matter title/location size */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-job-actions{
    margin-top: auto !important;
  }

  /* (Optional) lock title height so cards look even */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__title{
    min-height: 56px !important; /* ~2 lines */
  }
}





/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   Bring images back + keep CTA perfect
   ========================================================= */
@media (min-width: 922px){

  /* Undo the rule that broke the media block */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card{
    display: block !important;  /* restores normal layout so image shows */
  }

  /* Keep the CTA alignment logic ONLY in the body */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__body{
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
  }

  /* Keep buttons pinned evenly (your “perfect” look) */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-job-actions{
    margin-top: auto !important;
  }
}





/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   HARD RESTORE CTA (covers BOTH CTA class versions)
   ========================================================= */
@media (min-width: 922px){

  /* Prevent clipping from any parent */
  body.page-id-2960 .facetwp-wrapper.si-events-wrap,
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .facetwp-template[data-name="events"],
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .fwpl-item,
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .si-event-card,
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .si-event-card__body{
    overflow: visible !important;
  }

  /* Force CTA wrappers visible (both possible wrappers) */
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .facetwp-template[data-name="events"] .si-event-card__actions,
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .facetwp-template[data-name="events"] .si-job-actions{
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    justify-content: center !important;
    margin: 16px 0 22px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 9999 !important;
  }

  /* Force CTA links visible (both possible link classes) */
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .facetwp-template[data-name="events"] a.si-event-card__cta,
  body.page-id-2960 .facetwp-wrapper.si-events-wrap .facetwp-template[data-name="events"] a.si-job-details-btn{
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    align-items: center !important;
    justify-content: center !important;

    height: 44px !important;
    min-width: 200px !important;
    padding: 0 22px !important;

    background: #1677ff !important;
    color: #fff !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .25) !important;
    z-index: 10000 !important;
  }
}


/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   Match bottom spacing under CTA to Jobs
   ========================================================= */
@media (min-width: 922px){

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card__body{
    padding-bottom: 130px !important; /* Jobs-equivalent air */
  }

}


/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   Keep CTA visible + match baseline + add space under button
   ========================================================= */
@media (min-width: 922px){

  /* Space under the CTA (this is the visible gap below the pill) */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card{
    padding-bottom: 45px !important; /* adjust 32–52 */
  }

  /* Ensure CTA wrapper is ALWAYS visible and consistent */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-job-actions{
    display: flex !important;
    justify-content: center !important;

    margin-top: 18px !important;   /* space ABOVE button */
    margin-bottom: 0 !important;

    padding: 0 !important;

    line-height: 1 !important;     /* fixes 1px baseline shifts */
    align-items: center !important;
  }

  /* Ensure the button itself isn't adding extra bottom offset */
  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  a.si-job-details-btn{
    margin: 0 !important;
    line-height: 1 !important;
    transform: translateY(0) !important;
  }

}


/* =========================================================
   SINGLE EVENTS — DESKTOP
   Make Date + Time spacing match mobile (tight)
   + keep Location from pushing Time far away
   ========================================================= */
@media (min-width: 922px){

  /* Meta row (date/time/location container) */
  body.single-sievents .si-event-card__meta--top{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;

    /* row-gap column-gap */
    gap: 8px 14px !important;

    margin: 0 0 12px !important;
  }

  /* All meta items: remove any weird width/flex that creates big gaps */
  body.single-sievents .si-event-card__meta--top .si-event-card__meta-item{
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }

  /* Keep Date + Time snug on one line */
  body.single-sievents .si-event-card__meta--top .si-event-date,
  body.single-sievents .si-event-card__meta--top .si-event-time{
    white-space: nowrap !important;
    margin-left: 0 !important;
  }

  /* Force Location to the next line (like mobile) */
  body.single-sievents .si-event-card__meta--top .si-event-location{
    flex: 1 1 100% !important;
    width: 100% !important;
    margin-top: 4px !important;
  }
}



/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   Move CTA UP without changing card height
   ========================================================= */
@media (min-width: 922px){

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-job-actions{
    margin-top: 0px !important;   /* ⬅ move button UP */
    margin-bottom: 0 !important;
    padding: 0 !important;
  }

}


/* =========================================================
   JOBS ARCHIVE (2789) — DESKTOP
   Pull CTA UP (remove big empty space above button)
   ========================================================= */
@media (min-width: 922px){

  /* If any old "reserve space for button" padding exists */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card{
    padding-bottom: 28px !important; /* tighten bottom area */
  }

  /* Stop flex/auto pushing the CTA to the bottom */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    margin-top: 14px !important;   /* normal spacing under snippet */
    padding-top: 0 !important;
  }

  /* Make sure it's not being forced by auto */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-content{
    min-height: unset !important;
  }
}


/* =========================================================
   JOBS ARCHIVE (2789) — DESKTOP
   Fix CTA overlap + reduce empty space above button
   ========================================================= */
@media (min-width: 922px){

  /* 1) Re-create a smaller reserved CTA zone (prevents overlap) */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card{
    position: relative !important;
    padding-bottom: 78px !important; /* smaller than old 88px */
  }

  /* 2) Anchor CTA in that reserved zone */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0px !important;        /* raise/lower the button */
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    justify-content: center !important;
  }

  /* 3) Optional: slightly tighten the space just before CTA */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-snippet{
    margin-bottom: 30px !important;
  }

}

/* =========================================================
   JOBS ARCHIVE (2789) — DESKTOP
   Reduce space UNDER CTA button
   ========================================================= */
@media (min-width: 922px){

  /* Reduce reserved CTA space */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-card{
    padding-bottom: 15px !important; /* was ~78px */
  }

  /* Lift button slightly */
  body.page-id-2789
  .facetwp-wrapper.si-jobboard-wrap
  .facetwp-template[data-name="jobs"]
  .si-job-actions{
    bottom: 14px !important; /* was ~20px */
  }

}




/* =========================================================
   BUSINESSES (Page 2506) — DESKTOP
   Lock CTA to bottom + reduce space under button
   ========================================================= */
@media (min-width: 922px){

  /* Make each card a column so we can push CTA to the bottom */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-card{
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding-bottom: 0 !important; /* remove extra bottom space */
  }

  /* Make content area fill remaining height */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-content{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding-bottom: 10px !important; /* controls space under CTA */
  }

  /* Tighten any extra spacing above the CTA */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-desc{
    margin-bottom: 10px !important;
  }

  /* Push CTA wrapper to the bottom + control bottom gap */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit{
    margin-top: auto !important;     /* THIS aligns Island Auto down */
    padding-top: 12px !important;
    padding-bottom: 12px !important; /* reduces space under button */
  }

  /* Lock button height + keep it consistent */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-visit-btn{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 46px !important;     /* lock height */
    padding: 0 40px !important;      /* lock thickness */
    line-height: 1 !important;
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   BUSINESSES (2506) — DESKTOP
   Reduce space ABOVE CTA (keep alignment)
   ========================================================= */
@media (min-width: 922px){

  /* Tighten last text block before CTA */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-desc{
    margin-bottom: 6px !important; /* was too tall */
  }

  /* Reduce vertical padding inside content column */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-content{
    padding-bottom: 4px !important;
  }

  /* Reduce gap ABOVE the button (this is the key fix) */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit{
    margin-top: auto !important;
    padding-top: -10px !important;   /* ↓ was 12px */
    padding-bottom: 25px !important;
  }
}


/* =========================================================
   BUSINESSES (2506) — DESKTOP
   Reduce empty space above CTA + keep buttons aligned
   ========================================================= */
@media (min-width: 922px){

  /* Ensure content stacks normally */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-content{
    display: flex !important;
    flex-direction: column !important;
  }

  /* The gap is usually created because the CTA wrapper is being pushed down */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit{
    margin-top: 22px !important;   /* <-- moves button UP */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* OPTIONAL (recommended): lock description height so CTA stays aligned */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-desc{
    margin-bottom: 0 !important;
    min-height: 96px !important;   /* adjust 72 / 84 / 96 */
  }

  /* Reduce space under the button without changing card height */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-card{
    padding-bottom: 0px !important;
  }

}



/* =========================================================
   BUSINESSES (2506) — DESKTOP
   ONLY reduce space UNDER the CTA button
   ========================================================= */
@media (min-width: 922px){

  /* The wrapper that creates the bottom gap */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit{
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Some themes/cards add bottom padding on the content/card */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-content{
    padding-bottom: 0 !important;
  }

  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-card{
    padding-bottom: 0 !important;
  }

  /* Make sure the button itself isn't adding extra margin */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-visit-btn{
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   BUSINESSES (2506) — DESKTOP
   Reduce space UNDER button by pinning CTA to bottom
   (does not change top spacing)
   ========================================================= */
@media (min-width: 922px){

  /* Create a reserved CTA zone at the bottom of the card */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-card{
    position: relative !important;
    padding-bottom: 0px !important; /* controls total reserved CTA zone */
  }

  /* Remove bottom padding that adds extra empty space */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-content{
    padding-bottom: 0px !important; /* your screenshot shows 4px here */
  }

  /* Pin CTA to bottom and control EXACT space under button */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit{
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 45px !important;       /* <<< LOWER this for MORE bottom space, raise for LESS */
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Make sure button itself isn't adding bottom margin */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-visit-btn{
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   EVENTS ARCHIVE (Page 2960) — MOBILE CTA (use DESKTOP rules)
   Match Jobs pill + keep stable (ONLY mobile)
   ========================================================= */
@media (max-width: 921px){

  /* Center the CTA row (mobile uses .si-job-actions) */
  body.page-id-2960
  .facetwp-template[data-name="events"]
  .si-job-actions{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 16px 0 18px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 5 !important;
  }

  /* Force the pill button look (mobile button class) */
  body.page-id-2960
  .facetwp-template[data-name="events"]
  a.si-job-details-btn{
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 44px !important;
    min-width: 200px !important;
    padding: 0 22px !important;

    background: #1677ff !important;
    color: #fff !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .25) !important;

    transform: none !important;
    transition: none !important; /* kill weird mobile movement */
  }

  /* No hover behavior on mobile */
  body.page-id-2960
  .facetwp-template[data-name="events"]
  a.si-job-details-btn:hover{
    transform: none !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .25) !important;
  }
}




/* =========================================================
   BUSINESSES (2506) — DESKTOP
   HARD FIX: stop CTA from overlaying text
   Force CTA BACK into normal flow + keep tight bottom spacing
   ========================================================= */
@media (min-width: 922px){

  /* Make the content area a vertical stack (this is the “flow”) */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-content{
    display: flex !important;
    flex-direction: column !important;
  }

  /* CTA wrapper: FORCE normal flow + centered */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-business-visit{
    position: static !important;     /* kill absolute/fixed */
    inset: auto !important;
    transform: none !important;

    display: flex !important;
    justify-content: center !important;

    margin-top: 25px !important;     /* space ABOVE button (prevents overlap) */
    margin-bottom: 0 !important;
    padding-bottom: 0px !important;  /* space UNDER button (tight) */
  }

  /* CTA button: FORCE normal flow */
  body.page-id-2506
  .facetwp-template[data-name="businesses"]
  .si-visit-btn{
    position: static !important;     /* kill absolute */
    inset: auto !important;
    transform: none !important;

    margin: 0 !important;
  }
}





/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   Lock LOCATION to 2 lines (correct selectors from inspector)
   ========================================================= */
@media (min-width: 922px){

  /* The bottom meta row (location) */
  body.page-id-2960
  .facetwp-template[data-name="events"]
  .si-event-card__meta.si-event-card__meta--bottom
  .si-event-card__meta-item{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;

    line-height: 1.35 !important;
    max-height: 2.7em !important; /* 2 lines */
  }
}


/* =========================================================
   EVENTS ARCHIVE (2960) — DESKTOP
   Increase FIXED card height slightly
   ========================================================= */
@media (min-width: 922px){

  body.page-id-2960
  .facetwp-wrapper.si-events-wrap
  .facetwp-template[data-name="events"]
  .si-event-card{
    min-height: 530px !important; /* adjust: 500–560 */
  }

}



/* =========================================================
   SINGLE EVENTS — DESKTOP
   Fix huge gap between DATE and TIME (match mobile)
   ========================================================= */
@media (min-width: 922px){

  body.single.single-sievents
  .si-event-card__meta.si-event-card__meta--top{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important; /* key: stop spreading */
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
  }

  /* Make sure date/time don't stretch */
  body.single.single-sievents
  .si-event-card__meta--top
  .si-event-date,
  body.single.single-sievents
  .si-event-card__meta--top
  .si-event-time{
    flex: 0 0 auto !important;
    width: auto !important;
    margin-right: 0 !important;
    white-space: nowrap !important;
  }

  /* Location drops to next line like mobile */
  body.single.single-sievents
  .si-event-card__meta--top
  .si-event-location{
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-top: 6px !important;
  }
}


/* =========================================================
   SINGLE EVENTS — DESKTOP
   Increase image box height (show more image)
   WITHOUT adding space above title
   ========================================================= */
@media (min-width: 922px){

  /* Make the featured image container taller */
  body.single-sievents
  .ast-single-post-featured-section{
    height: 535px !important;       /* 🔑 increase visible area */
    min-height: 460px !important;
    margin-bottom: 16px !important; /* tighten gap to title */
  }

  /* Force image to fill the taller box */
  body.single-sievents
  .ast-single-post-featured-section img{
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* =========================================================
   SINGLE EVENTS — MOBILE
   Dot separator: remove extra right-side space
   ========================================================= */
@media (max-width: 921px){

  body.single-sievents
  .si-event-card__meta--top .si-event-date::after{
    content: "•";
    margin-left: 12px !important;  /* space before dot */
    margin-right: 0px !important; /* tighten after dot */
    opacity: .6;
    font-weight: 400;
    display: inline-block;
  }

  /* (Optional) make date + dot stick with time on wraps */
  body.single-sievents
  .si-event-card__meta--top .si-event-date{
    white-space: nowrap;
  }
}



/* =========================================================
   SINGLE EVENTS — DESKTOP
   Controlled spacing above featured image
   ========================================================= */
@media (min-width: 922px){

  body.single-sievents
  #content.site-content > .ast-container{
    padding-top: 22px !important;  /* 👈 breathing room */
  }

  body.single-sievents
  #primary{
    margin-top: 0 !important;
  }
}

/* Mobile */
@media (max-width: 921px){

  body.single-sievents
  #content.site-content > .ast-container{
    padding-top: 5px !important; /* slightly tighter on mobile */
  }

  body.single-sievents #primary{
    margin-top: 0 !important;
  }
}





/* =========================================================
   SINGLE NEWS
   Reduce space above News label (desktop + mobile)
   ========================================================= */

/* Desktop */
@media (min-width: 922px){

  body.single-sinews
  #content.site-content > .ast-container{
    padding-top: 22px !important; /* tighter, intentional */
  }

  body.single-sinews #primary{
    margin-top: 0 !important;
  }
}

/* Mobile */
@media (max-width: 921px){

  body.single-sinews
  #content.site-content > .ast-container{
    padding-top: 0px !important; /* tighter for mobile */
  }







/* =========================================================
   NEWS ARCHIVE (page-id-1473)
   Move cards up (override Astra stubborn spacing)
   ========================================================= */

/* Kill Astra's top spacer on this page */
body.page-id-1473 #content.site-content::before{
  content: none !important;
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Override the actual top padding that is stuck at 34px */
body.page-id-1473 #content.site-content{
  padding-top: 22px !important;  /* adjust: 8–16px */
}

/* Just in case padding is coming from the inner container */
body.page-id-1473 #content.site-content > .ast-container{
  padding-top: 0 !important;
  margin-top: 0 !important;
}



/* =========================================================
   JOBS ARCHIVE — DESKTOP
   REMOVE ASTRA TOP SPACING ABOVE SEARCH
   Page ID: 2789
   ========================================================= */
@media (min-width: 922px){

  /* Kill Astra container spacing */
  body.page-id-2789 .site-content,
  body.page-id-2789 .ast-container{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Kill the invisible spacer Astra injects */
  body.page-id-2789 .site-content:before{
    display: none !important;
    content: none !important;
  }

}


/* =========================================================
   SINGLE EVENTS — Reduce space under divider (DESKTOP ONLY)
   MATCH NEWS spacing
   ========================================================= */
@media (min-width: 922px){

  body.single-sievents
  #content.site-content
  article.ast-article-single
  .si-event-actions{
    margin-top: 12px !important;
    margin-bottom: 6px !important;   /* reduce gap under divider */
    padding-bottom: 0 !important;
  }

  /* If a real <hr> divider exists */
  body.single-sievents
  #content.site-content
  article.ast-article-single
  hr{
    margin-top: 10px !important;
    margin-bottom: 8px !important;
  }

  /* Pull first paragraph up under divider */
  body.single-sievents
  #content.site-content
  article.ast-article-single
  .si-event-actions ~ p:first-of-type{
    margin-top: 6px !important;
  }

}



/* =========================================================
   SINGLE EVENTS — MATCH NEWS TEXT DENSITY (DESKTOP ONLY)
   line-height + paragraph spacing
   ========================================================= */
@media (min-width: 922px){

  body.single-sievents
  article.ast-article-single
  .entry-content{
    line-height: 1.55 !important; /* matches News */
  }

  /* Paragraph spacing */
  body.single-sievents
  article.ast-article-single
  .entry-content p{
    margin-bottom: 16px !important;
  }

  /* First paragraph tighter (like News) */
  body.single-sievents
  article.ast-article-single
  .entry-content p:first-of-type{
    margin-top: 0 !important;
  }

}


/* =========================================================
   COUPONS HEADER SEARCH — DESKTOP ONLY
   Put FacetWP icon INSIDE the centered input (premium)
   ========================================================= */
@media (min-width: 922px){

  /* Keep the whole search centered */
  #siHeaderSearchRow .facetwp-type-search{
    display: flex !important;
    justify-content: center !important;
  }

  /* Make the wrap the SAME width as the visible input */
  #siHeaderSearchRow .facetwp-input-wrap{
    position: relative !important;
    width: min(860px, 100%) !important;   /* adjust 860 if you want */
    margin: 0 auto !important;
    display: block !important;
  }

  /* Force the input to fill the wrap */
  #siHeaderSearchRow input.facetwp-search{
    width: 100% !important;
    margin: 0 !important;
    padding-left: 52px !important;  /* room for icon */
  }

  /* Style + place the REAL FacetWP icon inside the field */
  #siHeaderSearchRow .facetwp-icon{
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    font-size: 19px !important; /* bigger, cleaner */
    color: rgba(17, 24, 39, .40) !important; /* premium soft charcoal */
    pointer-events: none !important;
  }

}


	
@media (min-width: 922px){

  /* Stop the NAV container from wrapping */
  body.single-sinews header#masthead .main-header-bar-navigation .main-navigation.ast-inline-flex{
    flex-wrap: nowrap !important;
  }

  /* Stop the UL from wrapping and force one line */
  body.single-sinews header#masthead .main-header-bar-navigation ul.main-header-menu{
    display: flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  /* Optional: stop each item from breaking */
  body.single-sinews header#masthead .main-header-bar-navigation ul.main-header-menu > li{
    white-space: nowrap !important;
  }
}



/* =========================================================
   SINGLE NEWS — Reduce top spacing (MOBILE ONLY)
   ========================================================= */
@media (max-width: 921px){

  /* Reduce space above article container */
  body.single-sinews .site-content{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Tighten the inner container */
  body.single-sinews .ast-container{
    padding-top: 0px !important; /* adjust 0–12px to taste */
  }

  /* Remove extra space above entry header */
  body.single-sinews article.ast-article-single .entry-header{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

}

	
	

