/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 02 2026 | 14:49:48 */
/*==============================================================
   CSF Donation Page — Clean Rewrite v5
   Rekonect-branded (blue #1e73be / cyan #42ABDD)
   GoFundMe-style sticky right sidebar
   v5 changes: added image carousel (.csfimagecarousel /
   .custom-carousel-wrapper) and tabbed content (.bl-tabs)
   sections, ported from the SIC stylesheet and re-themed to
   CSF tokens. Recent Donations remains its own section
   (not a tab). Grid extended from 7 rows to 8 rows: bl-tabs
   slots in between the description and the recent donations.
==============================================================*/

:root {
  /* ===== Rekonect brand palette (matches rekonect.ngo) ===== */
  --rk-accent:        #1e73be;        /* primary brand blue (links, primary CTA) */
  --rk-accent-hover:  #155a96;
  --rk-accent-dark:   #114576;
  --rk-accent-soft:   #e7f1fa;        /* tint for badges / progress bg */
  --rk-accent-glow:   rgba(30,115,190,.18);

  --rk-cyan:          #42ABDD;        /* heading cyan */
  --rk-cyan-soft:     #e9f6fc;

  --rk-neutral-btn:   #55555e;        /* secondary button bg */
  --rk-neutral-btn-h: #3f4047;

  /* ===== Neutrals ===== */
  --rk-text:          #222222;
  --rk-text-soft:     #575760;
  --rk-muted:         #6b7280;
  --rk-subtle:        #b2b2be;
  --rk-line:          #e5e7eb;
  --rk-line-soft:     #eef0f2;
  --rk-border:        #e2e8f0;
  --rk-border-soft:   #f1f5f9;

  --rk-bg:            #ffffff;
  --rk-surface:       #ffffff;
  --rk-surface-2:     #f7f8f9;
  --rk-surface-3:     #f0f0f0;
  --rk-bg-soft:       #f1f5f9;

  /* ===== Status ===== */
  --rk-danger:        #ef4444;
  --rk-danger-soft:   #fee2e2;
  --rk-success:       #10b981;

  /* ===== Tier accents (kept distinct, desaturated) ===== */
  --tier-silver:      #94a3b8;
  --tier-gold:        #d97706;
  --tier-diamond:     #7c3aed;

  /* ===== Radii ===== */
  --rk-radius-sm:     6px;
  --rk-radius-md:     12px;
  --rk-radius:        10px;
  --rk-radius-lg:     14px;
  --rk-radius-xl:     18px;
  --rk-radius-full:   9999px;

  /* ===== Shadows (subtle) ===== */
  --rk-shadow-sm:     0 1px 2px rgba(0,0,0,.04);
  --rk-shadow:        0 1px 3px rgba(0,0,0,.05), 0 4px 12px rgba(0,0,0,.04);
  --rk-shadow-md:     0 8px 24px rgba(15,23,42,.08);
  --rk-shadow-lg:     0 4px 12px rgba(0,0,0,.06), 0 12px 32px rgba(0,0,0,.06);
  --rk-shadow-glow:   0 8px 32px rgba(30,115,190,.25);

  --rk-control-h:     46px;

  /* Easing curve used by widgets ported from SIC */
  --rk-ease-out:      cubic-bezier(0.16, 1, 0.3, 1);

  /* ===== Progress placeholders (override inline on .csfpostdonate when data is available) =====
     style="--csf-raised: 1439453; --csf-goal: 2000000; --csf-count: 1700;" */
  --csf-raised:       0;
  --csf-goal:         100000;
  --csf-count:        0;
}

/*--------------------------------------------------------------
   1. PAGE FOUNDATION
--------------------------------------------------------------*/
body.category-csf {
  background: var(--rk-bg) !important;
  color: var(--rk-text) !important;
  font-family: "Merriweather Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  line-height: 1.55 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding-top: 0 !important;
}
body.category-csf,
body.category-csf *,
body.category-csf *::before,
body.category-csf *::after { box-sizing: border-box !important; }

/* WordPress / GeneratePress reset */
body.category-csf .site-main,
body.category-csf .entry-content,
body.category-csf .inside-article,
body.category-csf article.post,
body.category-csf .content-area {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
body.category-csf .entry-meta,
body.category-csf .entry-title,
body.category-csf .entry-header { display: none !important; }
body.category-csf .widget-area.sidebar,
body.category-csf #right-sidebar,
body.category-csf #left-sidebar,
body.category-csf .is-right-sidebar,
body.category-csf .is-left-sidebar { display: none !important; width: 0 !important; visibility: hidden !important; }

/* Strip stray <strong> wrappers that cause weird boldness */
body.category-csf .gform_wrapper fieldset > strong,
body.category-csf .gform_wrapper fieldset > strong > strong,
body.category-csf .gform_wrapper .gfield > strong,
body.category-csf .gform_wrapper .gfield > strong > strong {
  font-weight: inherit !important;
  display: contents !important;
}

/*--------------------------------------------------------------
   2. HIDE FLOATING / STICKY UI + SITE CHROME
--------------------------------------------------------------*/
body.category-csf .csfstickyfooter,
body.category-csf .csf-floating-toggle,
body.category-csf .csf-floating-share { display: none !important; }

/* Hide the inline-rendered "Easily Manage Donations" login modal.
   It ships with style="display: block; visibility: visible;" inline,
   which paints a grey rectangle behind the donation form. The plugin's
   JS reopens it when the trigger link is clicked. */
body.category-csf .csfpostdonate .go-modal__overlay,
body.category-csf .csfpostdonate .go-modal__backdrop,
body.category-csf .csfpostdonate .go-modal__dialog {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -99999px !important;
}
body.category-csf .csfpostdonate .go-modal {
  display: contents !important;
}
body.category-csf .csfpostdonate .go-modal > .go-modal__trigger {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.category-csf .csfpageheader,
body.category-csf header#masthead,
body.category-csf header.site-header,
body.category-csf .site-header.has-inline-mobile-toggle,
body.category-csf .inside-header,
body.category-csf nav#site-navigation,
body.category-csf nav.main-navigation,
body.category-csf .main-navigation.sub-menu-right,
body.category-csf .has-sticky-branding,
body.category-csf #mobile-menu-control-wrapper,
body.category-csf .mobile-menu-control-wrapper,
body.category-csf .menu-toggle,
body.category-csf .navigation-branding,
body.category-csf .sticky-navigation-logo,
body.category-csf .stuckElement,
body.category-csf .nav-is-stuck,
body.category-csf .is-stuck,
body.category-csf .nav-sticky,
body.category-csf [class*="stuck"]:not(.csfpostdonate) { display: none !important; }

body.category-csf .site,
body.category-csf .site-content,
body.category-csf #page { padding-top: 0 !important; margin-top: 0 !important; }

/*--------------------------------------------------------------
   3. PAGE LAYOUT — single-column on mobile, sticky sidebar on desktop
   Uses display:contents on .csfpostcontent to lift its children
   into the page-level grid so .csfpostdonate can be placed in
   the right column without rearranging DOM.

   v5 grid (8 rows, was 7):
     1: header
     2: banner
     3: description  (carousel sits inside, no row of its own)
     4: bl-tabs       ← NEW: Teams / Fundraisers / Matchers
     5: donations     (Recent Donations — stays as its own section)
     6: linkbyfooter
     7: faq
     8: contact
   Sidebar spans rows 1-7 so it ends just above the contact form.
--------------------------------------------------------------*/
body.category-csf .entry-content {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 28px 24px 64px !important;
  display: block !important;
}

@media (min-width: 880px) {
  body.category-csf .entry-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px !important;
    grid-template-rows:
      auto    /* 1: header */
      auto    /* 2: banner */
      auto    /* 3: description */
      auto    /* 4: csfimagecarousel (when rendered as sibling, not nested) */
      auto    /* 5: bl-tabs */
      auto    /* 6: donations */
      auto    /* 7: linkbyfooter */
      auto    /* 8: faq */
      auto !important; /* 9: contact */
    column-gap: 48px !important;
    row-gap: 22px !important;
    align-items: start !important;
  }

  /* Hoist .csfpostcontent's children into the page-level grid */
  body.category-csf .csfpostcontent { display: contents !important; }

  /* Left column, in source-correct order */
  body.category-csf .csfpostheader      { grid-column: 1 !important; grid-row: 1 !important; }
  body.category-csf .csfpostbanner      { grid-column: 1 !important; grid-row: 2 !important; }
  body.category-csf .csfpostdescription { grid-column: 1 !important; grid-row: 3 !important; }
  body.category-csf .csfimagecarousel   { grid-column: 1 !important; grid-row: 4 !important; }
  body.category-csf .bl-tabs            { grid-column: 1 !important; grid-row: 5 !important; }
  body.category-csf .csfpostdonations   { grid-column: 1 !important; grid-row: 6 !important; }
  body.category-csf .csflinkbyfooter    { grid-column: 1 !important; grid-row: 7 !important; }
  body.category-csf .csfpostfaq         { grid-column: 1 !important; grid-row: 8 !important; }

  /* If .csfimagecarousel ends up nested INSIDE .csfpostdescription (the
     other DOM variant), grid-row above does nothing — it stays inside
     the description block. The placement rule is harmless in that case
     because the carousel isn't a direct grid child. */

  /* Sidebar = sticky donate card, occupies column 2 spanning rows 1-8.
     Grid will grow these rows to fit the sidebar's intrinsic height,
     so row 9 (contact) starts BELOW the sidebar — no overlap. */
  body.category-csf .csfpostdonate {
    grid-column: 2 !important;
    grid-row: 1 / 9 !important;
    position: sticky !important;
    top: 24px !important;
    align-self: start !important;
  }

  /* Contact form: stays in column 1 (left column), same as the rest
     of the page content. Spanning full width would put it underneath
     the sticky sidebar — its centered card would render under the
     sidebar's z-index, causing visual overlap (especially the phone
     field's intl-tel-input which uses position:relative). */
  body.category-csf .csfpostcontact {
    grid-column: 1 !important;
    grid-row: 9 !important;
    margin-top: 16px !important;
  }

  /* Kill the divider — it would steal a grid cell */
  body.category-csf hr.csfpostdivider { display: none !important; }
}

@media (max-width: 1024px) and (min-width: 880px) {
  body.category-csf .entry-content {
    grid-template-columns: minmax(0, 1fr) 340px !important;
    column-gap: 36px !important;
    padding: 24px 20px 64px !important;
  }
}

@media (max-width: 879px) {
  body.category-csf .entry-content { padding: 20px 16px 56px !important; }
  body.category-csf .csfpostdonate {
    position: static !important;
    margin: 12px 0 22px 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/*--------------------------------------------------------------
   4. HEADER (.csfpostheader)
--------------------------------------------------------------*/
body.category-csf .csfpostheader {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-align: left !important;
  animation: none !important;
}
body.category-csf .csfpostheader::before,
body.category-csf .csfpostheader::after { content: none !important; }

body.category-csf .csfposttitle {
  display: block !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--rk-muted) !important;
  margin: 0 0 6px 0 !important;
}
body.category-csf .csfposttitlename {
  display: block !important;
  font-size: clamp(1.6rem, 3.2vw, 2.25rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  color: var(--rk-text) !important;
  margin: 0 !important;
}

/* The big "DONATE NOW" header CTA is redundant — hide it */
body.category-csf .csfpostheader .csfposttop { display: none !important; }

/* Share row */
body.category-csf .csfpostheader .csfpostshare {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 14px !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--rk-muted) !important;
}
body.category-csf .csfpostheader .csfpostshare > br { display: none !important; }
body.category-csf .csfpostheader .csfpostshare .addtoany_shortcode,
body.category-csf .csfpostheader .csfpostshare .a2a_kit {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.category-csf .csfpostheader .csfpostshare .a2a_kit a,
body.category-csf .csfpostheader .csfpostshare .addtoany_shortcode a {
  all: revert !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 2px !important;
  border: none !important;
  background: transparent !important;
  border-radius: 4px !important;
  width: auto !important;
  height: auto !important;
  line-height: 0 !important;
  transition: opacity .2s ease, background .2s ease !important;
}
body.category-csf .csfpostheader .csfpostshare .a2a_kit a:hover {
  opacity: 0.85 !important;
  background: var(--rk-surface-2) !important;
}
body.category-csf .csfpostheader .csfpostshare .a2a_kit a svg,
body.category-csf .csfpostheader .csfpostshare .a2a_kit a img {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  vertical-align: middle !important;
}
body.category-csf .a2a_kit.addtoany_list .a2a_label { display: none !important; }

/* "is a program of Rekonect..." attribution */
body.category-csf .csfpostheader > p,
body.category-csf .csfpostheader p {
  display: block !important;
  margin: 10px 0 0 0 !important;
  font-size: 0.82rem !important;
  color: var(--rk-muted) !important;
  line-height: 1.5 !important;
}
body.category-csf .csfpostheader p a {
  color: var(--rk-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/*--------------------------------------------------------------
   5. BANNER
--------------------------------------------------------------*/
body.category-csf .csfpostbanner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 16px !important;
  border-radius: var(--rk-radius-lg) !important;
  overflow: hidden !important;
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-line) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-height: 480px !important;
}
body.category-csf .csfpostbanner img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 440px !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  border-radius: var(--rk-radius) !important;
}

/*--------------------------------------------------------------
   6. STORY / DESCRIPTION
--------------------------------------------------------------*/
body.category-csf .csfpostdescription {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-align: left !important;
  color: var(--rk-text) !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
  animation: none !important;
}
body.category-csf .csfpostdescription p {
  margin: 0 0 1rem 0 !important;
  color: var(--rk-text) !important;
}
body.category-csf .csfpostdescription p:last-child { margin-bottom: 0 !important; }
body.category-csf .csfpostdescription a {
  color: var(--rk-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.category-csf .csfpostdescription a:hover { color: var(--rk-accent-hover) !important; }

/* Collapsed state */
body.category-csf .csfpostdescription.csf-description-collapsed {
  max-height: 280px !important;
  overflow: hidden !important;
  position: relative !important;
}
body.category-csf .csfpostdescription.csf-description-collapsed::after {
  content: "" !important;
  position: absolute !important;
  left: 0; right: 0; bottom: 0;
  height: 100px !important;
  background: linear-gradient(to bottom, transparent, var(--rk-bg)) !important;
  pointer-events: none !important;
}

body.category-csf .csf-description-toggle-wrap {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 0.25rem 0 1.25rem !important;
}
body.category-csf .csf-description-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 9px 18px !important;
  background: transparent !important;
  border: 1.5px solid var(--rk-text) !important;
  border-radius: var(--rk-radius-full) !important;
  color: var(--rk-text) !important;
  font-family: inherit !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .2s ease, color .2s ease !important;
  box-shadow: none !important;
}
body.category-csf .csf-description-toggle:hover {
  background: var(--rk-text) !important;
  color: #fff !important;
}
body.category-csf .csf-description-toggle .toggle-icon { display: none !important; }
body.category-csf .csf-collapsible-content {
  overflow: hidden;
  transition: max-height 0.5s ease, opacity 0.4s ease;
}
body.category-csf .csf-collapsible-content.csf-content-collapsed { max-height: 0; opacity: 0; pointer-events: none; }
body.category-csf .csf-collapsible-content.csf-content-expanded  { max-height: 6000px; opacity: 1; }
body.category-csf .csf-collapsible-content > p:empty,
body.category-csf .csfpostdescription > p:empty { display: none !important; }

/*--------------------------------------------------------------
   6.5. IMAGE CAROUSEL (.csfimagecarousel + .custom-carousel-wrapper)
   Nested inside .csfpostdescription. Ported from SIC (W-5).
--------------------------------------------------------------*/

/* Required keyframes for shimmer + fade-in effects */
@keyframes csfShimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
/* legacy alias — some inline scripts reference plain 'shimmer' */
@keyframes shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@keyframes csfFadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Container wrapper inside the description */
body.category-csf .csfimagecarousel {
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
}
body.category-csf .csfimagecarousel:empty { display: none !important; }

body.category-csf .custom-carousel-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: var(--rk-radius-xl) !important;
  box-shadow: var(--rk-shadow-md) !important;
  animation: csfFadeInUp .6s var(--rk-ease-out) .2s both;
}
body.category-csf .custom-carousel-wrapper::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 60px !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--rk-cyan), var(--rk-accent)) !important;
  border-radius: 0 0 3px 3px !important;
  z-index: 5 !important;
}
body.category-csf .custom-carousel-container {
  position: relative !important;
  width: 100% !important;
  min-height: 280px !important;  /* prevent collapse before images load */
  overflow: hidden !important;
  border-radius: var(--rk-radius-xl) !important;
  background: var(--rk-surface-2) !important;
}

/* Slides: the plugin JS toggles slides via inline `style="display: block|none"`.
   Inline styles win over CSS, so the JS controls actual visibility once it
   runs. BUT — before JS runs (or if JS fails), we still want at least the
   FIRST slide visible. Default behavior: hide all slides, show the first.
   Once JS sets inline display, that takes over. */
body.category-csf .custom-carousel-slide {
  /* NO display !important — let the plugin's inline style="display: block|none" drive visibility */
  display: none;
  width: 100% !important;
  text-align: center !important;
  opacity: 1 !important;
}
/* Pre-JS fallback: show first slide if no inline style is set yet.
   Once JS runs and sets inline display on every slide, those win. */
body.category-csf .custom-carousel-slide:first-child:not([style*="display"]) {
  display: block;
}
/* If the plugin ever uses an .active class instead of inline styles */
body.category-csf .custom-carousel-slide.active {
  display: block;
}
/* Some plugin versions mark inactive slides with .custom-carousel-slide
   but explicitly add a hidden class. Don't fight inline styles — the
   plugin's `style="display: block"` on the active slide will override
   any of our display rules via specificity, since inline beats any
   selector. */

/* IMG: override any global .carousel/.swiper rules that force cover/100% height.
   Use !important everywhere to fight 1543.css's unscoped image carousel rules. */
body.category-csf .custom-carousel-wrapper .custom-carousel-slide img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

/* Kill the unscoped global .carousel/.swiper dark overlay inside our wrapper */
body.category-csf .custom-carousel-wrapper .carousel::before,
body.category-csf .custom-carousel-wrapper .image-carousel::before,
body.category-csf .custom-carousel-wrapper .swiper::before,
body.category-csf .custom-carousel-wrapper .slick-slider::before {
  content: none !important;
  display: none !important;
}

/* Arrows */
body.category-csf .custom-carousel-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: 50% !important;
  font-size: 1.25rem !important;
  color: var(--rk-accent) !important;
  cursor: pointer !important;
  box-shadow: var(--rk-shadow-sm) !important;
  opacity: 0 !important;
  transition: all .3s var(--rk-ease-out) !important;
}
body.category-csf .custom-carousel-wrapper:hover .custom-carousel-arrow { opacity: 1 !important; }
body.category-csf .custom-carousel-arrow:hover {
  background: linear-gradient(135deg, var(--rk-accent), var(--rk-accent-dark)) !important;
  border-color: var(--rk-accent) !important;
  color: #fff !important;
  box-shadow: var(--rk-shadow-glow) !important;
  transform: translateY(-50%) scale(1.1) !important;
}
body.category-csf .custom-carousel-arrow:active { transform: translateY(-50%) scale(.95) !important; }
body.category-csf .custom-carousel-prev { left: 16px !important; }
body.category-csf .custom-carousel-next { right: 16px !important; }
body.category-csf .custom-carousel-prev:hover { left: 14px !important; }
body.category-csf .custom-carousel-next:hover { right: 14px !important; }
body.category-csf .custom-carousel-arrow svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
  transition: transform .2s ease !important;
}
body.category-csf .custom-carousel-prev:hover svg { transform: translateX(-2px) !important; }
body.category-csf .custom-carousel-next:hover svg { transform: translateX(2px) !important; }

/* Dots */
body.category-csf .custom-carousel-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  background: var(--rk-bg-soft) !important;
  border-top: 1px solid var(--rk-border-soft) !important;
}
body.category-csf .custom-carousel-dot {
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--rk-border) !important;
  border: 2px solid transparent !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  transition: all .3s var(--rk-ease-out) !important;
}
body.category-csf .custom-carousel-dot:hover {
  background: var(--rk-accent-soft) !important;
  border-color: var(--rk-accent) !important;
  transform: scale(1.2) !important;
}
body.category-csf .custom-carousel-dot.active {
  width: 28px !important;
  background: linear-gradient(135deg, var(--rk-accent), var(--rk-cyan)) !important;
  border-color: transparent !important;
  border-radius: var(--rk-radius-full) !important;
  box-shadow: 0 2px 8px rgba(30,115,190,.3) !important;
}

/* Counter / Caption (optional, plugin-emitted) */
body.category-csf .custom-carousel-counter {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 10 !important;
  padding: 6px 12px !important;
  background: rgba(255,255,255,.9) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-radius: var(--rk-radius-full) !important;
  border: 1px solid var(--rk-border) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--rk-text-soft) !important;
  box-shadow: var(--rk-shadow-sm) !important;
}
body.category-csf .custom-carousel-counter .current {
  color: var(--rk-accent) !important;
  font-weight: 700 !important;
}
body.category-csf .custom-carousel-caption {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 24px 20px !important;
  background: linear-gradient(to top, rgba(15,23,42,.8), transparent) !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  transition: all .3s var(--rk-ease-out) !important;
}
body.category-csf .custom-carousel-slide.active .custom-carousel-caption {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Custom modal (lightbox emitted by the plugin) */
body.category-csf .custom-modal {
  display: none !important;
  position: fixed !important;
  z-index: 100000 !important;
  inset: 0 !important;
  background: rgba(0,0,0,.85) !important;
  align-items: center !important;
  justify-content: center !important;
}
body.category-csf .custom-modal.active,
body.category-csf .custom-modal[style*="display: block"],
body.category-csf .custom-modal[style*="display:block"] {
  display: flex !important;
}
body.category-csf .custom-modal-content {
  max-width: 92vw !important;
  max-height: 88vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: var(--rk-radius) !important;
  box-shadow: 0 12px 48px rgba(0,0,0,.6) !important;
}
body.category-csf .custom-modal-close {
  position: absolute !important;
  top: 20px !important;
  right: 28px !important;
  font-size: 2.5rem !important;
  line-height: 1 !important;
  color: #fff !important;
  cursor: pointer !important;
  z-index: 1 !important;
  font-weight: 300 !important;
}
body.category-csf #custom-modal-caption {
  position: absolute !important;
  bottom: 20px !important;
  left: 0 !important;
  right: 0 !important;
  color: #fff !important;
  text-align: center !important;
  padding: 0 20px !important;
  font-size: 0.95rem !important;
}

/* Carousel responsive */
@media (min-width: 1024px) {
  body.category-csf .custom-carousel-arrow { width: 52px !important; height: 52px !important; font-size: 1.35rem !important; }
  body.category-csf .custom-carousel-prev { left: 20px !important; }
  body.category-csf .custom-carousel-next { right: 20px !important; }
  body.category-csf .custom-carousel-dot { width: 12px !important; height: 12px !important; }
  body.category-csf .custom-carousel-dot.active { width: 32px !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body.category-csf .custom-carousel-wrapper .custom-carousel-slide img { max-height: 460px !important; }
  body.category-csf .custom-carousel-arrow { width: 44px !important; height: 44px !important; font-size: 1.15rem !important; opacity: 1 !important; }
  body.category-csf .custom-carousel-dots { padding: 14px 16px !important; gap: 8px !important; }
}
@media (max-width: 767px) {
  body.category-csf .custom-carousel-wrapper { border-radius: var(--rk-radius-lg) !important; }
  body.category-csf .custom-carousel-container { border-radius: var(--rk-radius-lg) !important; }
  body.category-csf .custom-carousel-arrow {
    width: 40px !important; height: 40px !important; font-size: 1rem !important; opacity: 1 !important;
    background: rgba(255,255,255,.9) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
  body.category-csf .custom-carousel-prev { left: 10px !important; }
  body.category-csf .custom-carousel-next { right: 10px !important; }
  body.category-csf .custom-carousel-dots { padding: 12px 16px !important; gap: 8px !important; }
  body.category-csf .custom-carousel-dot { width: 8px !important; height: 8px !important; }
  body.category-csf .custom-carousel-dot.active { width: 24px !important; }
  body.category-csf .custom-carousel-counter {
    top: 12px !important; right: 12px !important;
    padding: 4px 10px !important;
    font-size: 0.75rem !important;
  }
  body.category-csf .custom-carousel-caption { padding: 20px 16px !important; font-size: 0.9rem !important; }
  body.category-csf .custom-carousel-wrapper .custom-carousel-slide img { max-height: 360px !important; }
}
@media (max-width: 480px) {
  body.category-csf .custom-carousel-wrapper { border-radius: var(--rk-radius-md) !important; }
  body.category-csf .custom-carousel-container { border-radius: var(--rk-radius-md) !important; }
  body.category-csf .custom-carousel-arrow { width: 36px !important; height: 36px !important; font-size: 0.9rem !important; }
  body.category-csf .custom-carousel-prev { left: 8px !important; }
  body.category-csf .custom-carousel-next { right: 8px !important; }
  body.category-csf .custom-carousel-dots { padding: 10px 12px !important; gap: 6px !important; }
  body.category-csf .custom-carousel-dot { width: 6px !important; height: 6px !important; }
  body.category-csf .custom-carousel-dot.active { width: 20px !important; }
  body.category-csf .custom-carousel-wrapper .custom-carousel-slide img { max-height: 300px !important; }
}

/* Carousel a11y */
body.category-csf .custom-carousel-arrow:focus-visible,
body.category-csf .custom-carousel-dot:focus-visible {
  outline: 2px solid var(--rk-accent) !important;
  outline-offset: 2px !important;
}
@media (prefers-reduced-motion: reduce) {
  body.category-csf .custom-carousel-slide,
  body.category-csf .custom-carousel-slide img,
  body.category-csf .custom-carousel-arrow,
  body.category-csf .custom-carousel-dot,
  body.category-csf .custom-carousel-caption {
    animation: none !important;
    transition-duration: 0.1s !important;
  }
}

/*--------------------------------------------------------------
   7. STICKY DONATE SIDEBAR (.csfpostdonate)
--------------------------------------------------------------*/
body.category-csf .csfpostdonate {
  width: 100% !important;
  margin: 0 0 22px 0 !important;
  padding: 22px !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-lg) !important;
  box-shadow: var(--rk-shadow) !important;
  animation: none !important;
}
body.category-csf .csfpostdonate::before,
body.category-csf .csfpostdonate::after { content: none !important; }

/* Progress bar above the title */
body.category-csf .csfpostdonate > .csfpostsubtitle::before,
body.category-csf .csfpostdonate > #donateto::before {
  content: "" !important;
  display: block !important;
  height: 8px !important;
  width: 100% !important;
  margin: 0 0 14px 0 !important;
  border-radius: var(--rk-radius-full) !important;
  background:
    linear-gradient(to right,
      var(--rk-accent) 0%,
      var(--rk-accent) calc(var(--csf-raised) / var(--csf-goal) * 100%),
      var(--rk-accent-soft) calc(var(--csf-raised) / var(--csf-goal) * 100%),
      var(--rk-accent-soft) 100%) !important;
}
body.category-csf .csfpostdonate .csfpostsubtitle,
body.category-csf #donateto {
  display: block !important;
  text-align: left !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  color: var(--rk-text) !important;
  margin: 0 0 4px 0 !important;
  text-shadow: none !important;
}
body.category-csf .csfpostdonate .csf-progress-meta {
  font-size: 0.88rem !important;
  color: var(--rk-muted) !important;
  margin: 0 0 14px 0 !important;
}

/* "Easily Manage Donations - Donate with Your Free Donor Account"
   This is a .go-modal__trigger anchor inside a .go-modal wrapper.
   The plugin's stylesheet styles it as a big button by default.
   Demote it to a small grey text link consistent with the form's
   visual hierarchy. */
body.category-csf .csfpostdonate > a,
body.category-csf .csfpostdonate > p > a,
body.category-csf .csfpostdonate a[onclick],
body.category-csf .csfpostdonate a[href="#"],
body.category-csf .csfpostdonate .go-modal__trigger,
body.category-csf .csfpostdonate a.go-modal__trigger,
body.category-csf .csfpostdonate .go-modal__trigger--link {
  display: inline-block !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  font-family: inherit !important;
  font-size: 0.63rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--rk-muted) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  animation: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  text-align: left !important;
  border-radius: 0 !important;
}
body.category-csf .csfpostdonate .go-modal__trigger:hover,
body.category-csf .csfpostdonate a.go-modal__trigger:hover {
  background: none !important;
  color: var(--rk-accent) !important;
  text-decoration: underline !important;
  transform: none !important;
  box-shadow: none !important;
}
body.category-csf .csfpostdonate > p {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  color: var(--rk-muted) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
body.category-csf .csfpostdonate a[onclick]:hover,
body.category-csf .csfpostdonate a[href="#"]:hover { color: var(--rk-accent) !important; }

/* Form wrapper — clean white card, no halo */
body.category-csf .csfpostdonate .gform_wrapper {
  width: 100% !important;
  margin: 4px 0 0 0 !important;
  padding: 14px !important;
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  box-shadow: none !important;
  animation: none !important;
}
body.category-csf .csfpostdonate .gform_wrapper::before,
body.category-csf .csfpostdonate .gform_wrapper::after { content: none !important; }

/* ===== Swiper sizing — minimal intervention =====
   The donate form uses Swiper (via gp-page-transitions) for its 2-page
   navigation. Swiper sets each slide's inline `width: 745px` because
   that's what it measured at init, before our CSS narrowed the sidebar.
   It also sets the `.swiper-wrapper` inline width to 745px for the
   same reason.

   We override BOTH widths to fit the sidebar. We do NOT touch
   display/flex/transform — those are how Swiper slides between pages. */

body.category-csf .csfpostdonate .swiper-wrapper,
body.category-csf .csfpostdonate .gform-body.swiper-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}

body.category-csf .csfpostdonate .swiper-slide,
body.category-csf .csfpostdonate .gform_page.swiper-slide {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex-shrink: 0 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* ===== Fix Swiper's stale translate cache =====
   Swiper measures slide widths at init. If our CSS shrinks slides
   AFTER init, Swiper's internal translate cache is stale: it still
   thinks slides are 745px wide and translates by -765px (745 + 20
   spaceBetween) when navigating to page 2. That overshoots and
   pushes page 2's content offscreen left.

   To force Swiper to use the correct translate distance, we override
   the wrapper's transform based on which slide is active. Swiper sets
   the active state via the `.swiper-slide-active` class on whichever
   page is currently visible. */

/* Page 1 active: no translate */
body.category-csf .csfpostdonate .swiper-wrapper:has(> .gform_page:nth-child(1).swiper-slide-active) {
  transform: translate3d(0px, 0, 0) !important;
}
/* Page 2 active: translate by exactly the wrapper width (no spaceBetween,
   since we set margin-right: 0 on slides) */
body.category-csf .csfpostdonate .swiper-wrapper:has(> .gform_page:nth-child(2).swiper-slide-active) {
  transform: translate3d(-100%, 0, 0) !important;
}

/* ===== KILL THE GLOBAL .swiper SHADOW + DARK OVERLAY =====
   Another stylesheet on this site (1543.css, intended for an image
   carousel elsewhere) ships UNSCOPED rules:
       .swiper { box-shadow: 0 20px 60px rgba(0,0,0,.55), ...; }
       .swiper::before { background: linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.55)); }
   Those match the donate form's swiper and render as a dark grey halo
   bleeding past the sidebar. Override the shadow + the dark overlay,
   but do NOT touch Swiper's overflow (Swiper needs overflow:hidden on
   .swiper itself to clip the offscreen slide during page transitions). */
body.category-csf .csfpostdonate .swiper,
body.category-csf .csfpostdonate .gform-body.swiper-wrapper {
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.category-csf .csfpostdonate .swiper::before,
body.category-csf .csfpostdonate .gform-body.swiper-wrapper::before,
body.category-csf .csfpostdonate .swiper::after,
body.category-csf .csfpostdonate .gform-body.swiper-wrapper::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
}
/* Note: 1543.css applies `.swiper * { position: relative; z-index: 3 }`
   globally. We don't fight that — `position: relative` on slides is
   actually what Swiper expects, and the z-index doesn't break anything
   inside the form. */

/* Defensive: keep every field, fieldset, and grid row inside the sidebar
   constrained to the column width. Gravity Forms' `gfield--width-full`
   normally is 100% of the form, but if Swiper's 745px slide is still
   leaking through somehow, this catches the overflow at the field level. */
body.category-csf .csfpostdonate .gform_page,
body.category-csf .csfpostdonate .gform_page_fields,
body.category-csf .csfpostdonate .gform_fields,
body.category-csf .csfpostdonate .gfield,
body.category-csf .csfpostdonate fieldset.gfield,
body.category-csf .csfpostdonate .donation-info,
body.category-csf .csfpostdonate .your-info,
body.category-csf .csfpostdonate .gform-grid-row {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.category-csf .csfpostdonate .gfield--width-full {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
}

body.category-csf .csfpostdonate .gform_wrapper .gform_fields,
body.category-csf .csfpostdonate .gform_wrapper .donation-info,
body.category-csf .csfpostdonate .gform_wrapper .your-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  grid-template-columns: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/*--------------------------------------------------------------
   8. GRAVITY FORMS — base
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .gform_heading {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  border: none !important;
}
body.category-csf .gform_wrapper .gform_required_legend { display: none !important; }
body.category-csf .gform_wrapper .gform_description {
  font-size: 0.9rem !important;
  color: var(--rk-muted) !important;
  margin: 0 !important;
}
body.category-csf .gform_wrapper .gform_description:empty { display: none !important; }

body.category-csf .gform_wrapper .gfield {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.category-csf .gform_wrapper .admin-hidden-markup,
body.category-csf .gform_wrapper .gfield_visibility_hidden { display: none !important; }

body.category-csf .gform_wrapper .gsection {
  border: none !important;
  margin: 8px 0 0 0 !important;
  padding: 0 0 6px 0 !important;
  border-bottom: 1px solid var(--rk-line) !important;
}
body.category-csf .gform_wrapper .gsection_title {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--rk-text) !important;
  text-align: left !important;
  margin: 0 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
body.category-csf .gform_wrapper .gsection_description {
  font-size: 0.8rem !important;
  color: var(--rk-muted) !important;
  text-align: left !important;
  margin-top: 4px !important;
}

body.category-csf .gform_wrapper .gfield_label {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--rk-text-soft) !important;
  margin: 0 0 6px 0 !important;
  display: block !important;
  text-align: left !important;
}
body.category-csf .gform_wrapper legend.gfield_label {
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
}
body.category-csf .gform_wrapper .hidden_label > .gfield_label,
body.category-csf .gform_wrapper .screen-reader-text {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
body.category-csf .gform_wrapper .gfield_required {
  color: var(--rk-accent) !important;
  margin-left: 2px !important;
}
body.category-csf .gform_wrapper .gfield_description {
  color: var(--rk-muted) !important;
  font-size: 0.8rem !important;
  text-align: left !important;
  margin: 4px 0 0 0 !important;
}

/* Inputs / textarea */
body.category-csf .gform_wrapper input[type="text"],
body.category-csf .gform_wrapper input[type="email"],
body.category-csf .gform_wrapper input[type="tel"],
body.category-csf .gform_wrapper input[type="number"],
body.category-csf .gform_wrapper input[type="url"],
body.category-csf .gform_wrapper input[type="password"],
body.category-csf .gform_wrapper input.large,
body.category-csf .gform_wrapper input.medium,
body.category-csf .gform_wrapper input.small,
body.category-csf .gform_wrapper textarea {
  width: 100% !important;
  height: var(--rk-control-h) !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1.5px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: var(--rk-text) !important;
  line-height: 1.4 !important;
  box-shadow: var(--rk-shadow-sm) !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  outline: none !important;
}
body.category-csf .gform_wrapper textarea {
  height: auto !important;
  min-height: 120px !important;
  border-radius: var(--rk-radius) !important;
  line-height: 1.55 !important;
  resize: vertical !important;
}
body.category-csf .gform_wrapper input:hover,
body.category-csf .gform_wrapper textarea:hover { border-color: #d1d5db !important; }
body.category-csf .gform_wrapper input:focus,
body.category-csf .gform_wrapper textarea:focus {
  border-color: var(--rk-accent) !important;
  box-shadow: 0 0 0 3px var(--rk-accent-glow) !important;
}
body.category-csf .gform_wrapper input::placeholder,
body.category-csf .gform_wrapper textarea::placeholder {
  color: var(--rk-subtle) !important;
  opacity: 1 !important;
}

/* Select */
body.category-csf .gform_wrapper select {
  width: 100% !important;
  height: var(--rk-control-h) !important;
  padding: 0 42px 0 14px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 14px !important;
  border: 1.5px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  color: var(--rk-text) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  outline: none !important;
}
body.category-csf .gform_wrapper select:focus {
  border-color: var(--rk-accent) !important;
  box-shadow: 0 0 0 3px var(--rk-accent-glow) !important;
}
body.category-csf .gform_wrapper select::-ms-expand { display: none !important; }

/* Radio / checkbox pills */
body.category-csf .gform_wrapper .gfield_radio input[type="radio"],
body.category-csf .gform_wrapper .gfield_checkbox input[type="checkbox"],
body.category-csf .gform_wrapper .ginput_container_consent input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important; height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  pointer-events: none !important;
}

/* Default: 2-column grid for radios. The sidebar variant overrides
   to single-column via more specific rule below. */
body.category-csf .gform_wrapper .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
}
body.category-csf .gform_wrapper .gfield_checkbox {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
body.category-csf .gform_wrapper .gfield_radio .gchoice,
body.category-csf .gform_wrapper .gfield_checkbox .gchoice {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
}
body.category-csf .gform_wrapper .gfield_radio .gchoice label,
body.category-csf .gform_wrapper .gfield_checkbox .gchoice label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 8px 14px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1.5px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--rk-text) !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  user-select: none !important;
  line-height: 1.3 !important;
}
body.category-csf .gform_wrapper .gfield_radio .gchoice label:hover,
body.category-csf .gform_wrapper .gfield_checkbox .gchoice label:hover {
  border-color: var(--rk-accent) !important;
  background: var(--rk-accent-soft) !important;
}
body.category-csf .gform_wrapper .gfield_radio input[type="radio"]:checked + label,
body.category-csf .gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label {
  background: var(--rk-accent) !important;
  border-color: var(--rk-accent) !important;
  color: #fff !important;
}
body.category-csf .gform_wrapper .gfield_radio input[type="radio"]:checked + label::before,
body.category-csf .gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label::before {
  content: "" !important;
  display: inline-flex !important;
  flex-shrink: 0 !important;
  width: 16px !important; height: 16px !important;
  margin-right: 8px !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e73be' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 11px 11px !important;
  border-radius: 50% !important;
}

/* Sidebar variant: stack radios single-column for narrow column */
body.category-csf .csfpostdonate .gform_wrapper .gfield_radio {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

/*--------------------------------------------------------------
   9. COMPOSITE FIELDS (name / address)
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .ginput_complex {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
}
body.category-csf .gform_wrapper .ginput_complex .ginput_full,
body.category-csf .gform_wrapper .ginput_complex .address_line_1,
body.category-csf .gform_wrapper .ginput_complex .address_line_2 {
  grid-column: span 2 !important;
}
body.category-csf .gform_wrapper .ginput_complex .gform-grid-col { min-width: 0 !important; }
body.category-csf .gform_wrapper .ginput_complex input,
body.category-csf .gform_wrapper .ginput_complex select { width: 100% !important; }
body.category-csf .gform_wrapper .ginput_complex .gform-field-label--type-sub { display: none !important; }
body.category-csf .gform_wrapper .gf_clear,
body.category-csf .gform_wrapper .gf_clear_complex { display: none !important; }

/* Sidebar: stack composites single-column */
body.category-csf .csfpostdonate .gform_wrapper .ginput_complex {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
body.category-csf .csfpostdonate .gform_wrapper .ginput_complex .gform-grid-col,
body.category-csf .csfpostdonate .gform_wrapper .ginput_complex > span,
body.category-csf .csfpostdonate .gform_wrapper .ginput_complex > div {
  width: 100% !important;
  flex: 1 1 100% !important;
  grid-column: span 1 !important;
}

/*--------------------------------------------------------------
   10. PHONE (intl-tel-input)
   We do NOT style iti elements. The plugin ships its own complete
   CSS that handles flag positioning, dropdown visibility, and
   selected-country display. Any overrides here have repeatedly
   broken the basic functionality.

   ONE exception: the gp-advanced-phone-field version of iti's CSS
   omits the standard `.iti { position: relative; display: inline-block }`
   rule that the upstream package ships. Without it, the absolutely-
   positioned country-container has no positioning context and floats
   above the input instead of overlaying its left edge. So we add it
   back, scoped to our forms only — this is the SINGLE iti rule we set.
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .ginput_container_phone { width: 100% !important; }
body.category-csf .gform_wrapper .iti {
  position: relative !important;
  display: block !important;
}
/* Force-hide the iti accessibility text. iti's stylesheet hides this
   span (which contains "Israel +972" etc.) using the standard sr-only
   pattern: position:absolute + 1px size + clip rect. But 1543.css's
   global `.swiper * { position: relative !important }` forcibly converts
   it to position:relative — and `clip` only works on absolutely
   positioned elements, so the text becomes visible (the "el", "7"
   fragments leaking between fields).

   Restore position:absolute with stronger specificity than .swiper *. */
body.category-csf .csfpostdonate .iti__a11y-text,
body.category-csf .gform_wrapper .iti__a11y-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Also force-hide the dropdown LIST when iti__hide is present, in case
   1543.css's position:relative override breaks its hiding too. */
body.category-csf .csfpostdonate .iti__dropdown-content.iti__hide,
body.category-csf .gform_wrapper .iti__dropdown-content.iti__hide {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -99999px !important;
  pointer-events: none !important;
}

/*--------------------------------------------------------------
   11. DATE
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .ginput_container_date,
body.category-csf .gform_wrapper .clear-multi {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: stretch !important;
}
body.category-csf .gform_wrapper .ginput_container_date > div,
body.category-csf .gform_wrapper .ginput_container_date > span {
  flex: 1 !important;
  min-width: 0 !important;
}
body.category-csf .gform_wrapper .ginput_container_date input,
body.category-csf .gform_wrapper .ginput_container_date select { width: 100% !important; }
body.category-csf .gform_wrapper .ginput_container_date label {
  display: block !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: var(--rk-muted) !important;
  margin-top: 4px !important;
  text-align: center !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

/*--------------------------------------------------------------
   12. CREDIT CARD
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .ginput_container_creditcard {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}
body.category-csf .gform_wrapper .ginput_container_creditcard .ginput_full,
body.category-csf .gform_wrapper .ginput_container_creditcard input { width: 100% !important; }

body.category-csf .gform_wrapper .gform_card_icon_container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
  min-height: 28px !important;
  align-items: center !important;
}
body.category-csf .gform_wrapper .gform_card_icon {
  display: inline-block !important;
  width: 34px !important;
  height: 22px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: 0 !important;
  overflow: hidden !important;
  vertical-align: middle !important;
  opacity: 1 !important;
}
body.category-csf .gform_wrapper .gform_card_icon_container .screen-reader-text {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  border: 0 !important;
}

body.category-csf .gform_wrapper .ginput_cardextras {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: 10px !important;
  align-items: start !important;
}
body.category-csf .gform_wrapper .ginput_cardinfo_left {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.category-csf .gform_wrapper .ginput_card_expiration_container {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
body.category-csf .gform_wrapper .ginput_card_expiration_month_container,
body.category-csf .gform_wrapper .ginput_card_expiration_year_container { min-width: 0 !important; }
body.category-csf .gform_wrapper .ginput_cardinfo_right {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
body.category-csf .gform_wrapper .ginput_card_security_code { width: 100% !important; }
body.category-csf .gform_wrapper .ginput_card_security_code_icon {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 14px !important;
  background: #d1d5db !important;
  border-radius: 3px !important;
  pointer-events: none !important;
  opacity: .7 !important;
}

/*--------------------------------------------------------------
   13. ACH / CHECK
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .ginput_container_ach {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
body.category-csf .gform_wrapper .ginput_container_ach .ginput_full {
  grid-column: span 2 !important;
}
body.category-csf .gform_wrapper .ginput_container_ach input,
body.category-csf .gform_wrapper .ginput_container_ach select { width: 100% !important; }

/*--------------------------------------------------------------
   14. PRODUCT / PRICE — donation amount + total card
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .ginput_container_product_price input.ginput_amount,
body.category-csf .gform_wrapper input.ginput_amount {
  width: 100% !important;
  height: var(--rk-control-h) !important;
  text-align: center !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--rk-text) !important;
}
body.category-csf .gform_wrapper .ginput_container_product_calculation { text-align: center !important; }
body.category-csf .gform_wrapper .ginput_product_price_wrapper {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 14px 20px !important;
  margin: 6px auto 0 !important;
  max-width: 100% !important;
  background: var(--rk-accent-soft) !important;
  border: 1px solid rgba(30,115,190,.25) !important;
  border-radius: var(--rk-radius) !important;
  text-align: center !important;
}
body.category-csf .gform_wrapper .ginput_product_price_label { display: none !important; }
body.category-csf .gform_wrapper .ginput_product_price {
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: var(--rk-accent-dark) !important;
  background: transparent !important;
  border: none !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  display: inline-block !important;
  line-height: 1 !important;
}

/*--------------------------------------------------------------
   15. HTML FIELDS / INLINE NOTES
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .gfield_html { text-align: left !important; }
body.category-csf .gform_wrapper .gfield_html p {
  margin: 0 !important;
  color: var(--rk-text-soft) !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
}
body.category-csf .gform_wrapper .gfield_html strong { color: var(--rk-text) !important; }
body.category-csf .gform_wrapper .gfield_html:has(> br:only-child) { display: none !important; }
body.category-csf .gform_wrapper .anonymousbox p {
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
  color: var(--rk-text-soft) !important;
  padding: 10px 12px !important;
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-sm) !important;
}

/*--------------------------------------------------------------
   16. CAPTCHA
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .ginput_recaptcha {
  display: flex !important;
  justify-content: center !important;
  margin: 8px 0 !important;
}
body.category-csf .gform_wrapper .gfield--type-captcha .gfield_label { display: none !important; }

/*--------------------------------------------------------------
   17. FORM FOOTER + SUBMIT (rekonect blue CTA)
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .gform_footer,
body.category-csf .gform_wrapper .gform-footer {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 16px 0 0 0 !important;
  padding: 12px 0 0 0 !important;
  border-top: 1px solid var(--rk-line) !important;
  text-align: center !important;
  grid-column: 1 / -1 !important;
  float: none !important;
  clear: both !important;
}
body.category-csf .gform_wrapper input[type="submit"],
body.category-csf .gform_wrapper .gform_button,
body.category-csf .gform_wrapper button.gform_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 24px !important;
  background: var(--rk-accent) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  border: none !important;
  border-radius: var(--rk-radius-full) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 6px 16px var(--rk-accent-glow) !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
  animation: none !important;
}
body.category-csf .gform_wrapper input[type="submit"]:hover,
body.category-csf .gform_wrapper .gform_button:hover {
  background: var(--rk-accent-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 10px 24px var(--rk-accent-glow) !important;
}
body.category-csf .gform_wrapper input[type="submit"]:active { transform: translateY(0) !important; }

/* ===== MULTI-PAGE NAVIGATION BUTTONS =====
   The donate form is a Gravity Forms multi-page form. The page nav
   uses .gform_next_button (page 1 → 2) and .gform_previous_button
   (page 2 → 1) inside .gform-page-footer. By default these inherit
   the GeneratePress button color (#55555e dark grey). Override to
   match our brand pill style.

   Layout: stack vertically. Submit button ("Donate $X.XX") on top
   as the primary CTA, secondary buttons (← Donation Info, Your Info →)
   below. This avoids horizontal cramping in the narrow sidebar. */
body.category-csf .gform_wrapper .gform-page-footer,
body.category-csf .gform_wrapper .gform_page_footer {
  display: flex !important;
  flex-direction: column-reverse !important;  /* submit visually on top */
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 16px 0 0 0 !important;
  padding: 12px 0 0 0 !important;
  border-top: 1px solid var(--rk-line) !important;
  text-align: center !important;
  float: none !important;
  clear: both !important;
}
/* When only one button exists in the footer (e.g. page 1 has only "Next"),
   center it. */
body.category-csf .gform_wrapper .gform-page-footer:has(> input:only-of-type),
body.category-csf .gform_wrapper .gform_page_footer:has(> input:only-of-type) {
  justify-content: center !important;
}

body.category-csf .gform_wrapper .gform_next_button,
body.category-csf .gform_wrapper .gform_previous_button,
body.category-csf .gform_wrapper input.gform_next_button,
body.category-csf .gform_wrapper input.gform_previous_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  border: none !important;
  border-radius: var(--rk-radius-full) !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
  animation: none !important;
  line-height: 1.2 !important;
}

/* Primary "Your Info →" / "Next" button — solid brand blue */
body.category-csf .gform_wrapper .gform_next_button,
body.category-csf .gform_wrapper input.gform_next_button {
  background: var(--rk-accent) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 6px 16px var(--rk-accent-glow) !important;
}
body.category-csf .gform_wrapper .gform_next_button:hover,
body.category-csf .gform_wrapper input.gform_next_button:hover {
  background: var(--rk-accent-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 10px 24px var(--rk-accent-glow) !important;
}

/* Secondary "← Donation Info" / "Previous" button — outline style */
body.category-csf .gform_wrapper .gform_previous_button,
body.category-csf .gform_wrapper input.gform_previous_button {
  background: #fff !important;
  color: var(--rk-text) !important;
  border: 1.5px solid var(--rk-line) !important;
  box-shadow: var(--rk-shadow-sm) !important;
  width: 100% !important;
}
body.category-csf .gform_wrapper .gform_previous_button:hover,
body.category-csf .gform_wrapper input.gform_previous_button:hover {
  background: var(--rk-surface-2) !important;
  border-color: var(--rk-accent) !important;
  color: var(--rk-accent) !important;
  transform: translateY(-1px) !important;
}

/* Submit button ("Donate $X.XX") inside the form footer. The actual
   submit lives in `.gform_footer` (NOT .gform_page_footer — that's for
   page nav buttons). We stack the layout: submit button full-width on
   top, page nav (← Donation Info) on bottom. */
body.category-csf .gform_wrapper .gform_footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.category-csf .gform_wrapper .gform_footer .gform_button,
body.category-csf .gform_wrapper .gform_footer input[type="submit"],
body.category-csf .gform_wrapper .gform-page-footer .gform_button,
body.category-csf .gform_wrapper .gform_page_footer .gform_button,
body.category-csf .gform_wrapper .gform-page-footer input[type="submit"],
body.category-csf .gform_wrapper .gform_page_footer input[type="submit"] {
  width: 100% !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  padding: 14px 18px !important;
  white-space: normal !important;  /* allow long button text to wrap */
}

/*--------------------------------------------------------------
   18. VALIDATION
--------------------------------------------------------------*/
body.category-csf .gform_wrapper .validation_message,
body.category-csf .gform_wrapper .gfield_validation_message {
  font-size: 0.82rem !important;
  color: #b91c1c !important;
  margin-top: 6px !important;
  padding: 6px 10px !important;
  background: var(--rk-danger-soft) !important;
  border-radius: var(--rk-radius-sm) !important;
  text-align: left !important;
}
body.category-csf .gform_wrapper .gfield_error input,
body.category-csf .gform_wrapper .gfield_error textarea,
body.category-csf .gform_wrapper .gfield_error select {
  border-color: var(--rk-danger) !important;
}
body.category-csf .gform_wrapper .gform_validation_errors {
  padding: 12px 14px !important;
  margin: 0 0 12px 0 !important;
  background: var(--rk-danger-soft) !important;
  border: 1px solid var(--rk-danger) !important;
  border-radius: var(--rk-radius) !important;
  color: #991b1b !important;
  font-size: 0.9rem !important;
  text-align: left !important;
}

/*--------------------------------------------------------------
   19. RECENT DONATIONS (stays a separate section on CSF — NOT a tab)
--------------------------------------------------------------*/
body.category-csf .csfpostdonations {
  width: 100% !important;
  margin: 4px 0 22px 0 !important;
  padding: 0 !important;
  animation: none !important;
}
body.category-csf .csfpostdonations .csfpostsubtitle {
  text-align: left !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--rk-text) !important;
  margin: 0 0 12px 0 !important;
  text-shadow: none !important;
}
body.category-csf .csfpostdonations .gv-list-multiple-container,
body.category-csf .csfpostdonations .gv-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
body.category-csf .csfpostdonations .gv-list-view {
  flex: 1 1 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  box-shadow: none !important;
  text-align: left !important;
  transition: background .2s ease, border-color .2s ease !important;
}
body.category-csf .csfpostdonations .gv-list-view:hover {
  background: var(--rk-surface-2) !important;
  border-color: #d1d5db !important;
}
body.category-csf .csfpostdonations .gv-list-view::before {
  content: "" !important;
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
  background-color: var(--rk-accent-soft) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231e73be'%3E%3Cpath d='M12 21s-7-4.35-7-10a4 4 0 017-2.65A4 4 0 0119 11c0 5.65-7 10-7 10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
  border-radius: 50% !important;
  font-size: 0 !important;
}
body.category-csf .csfpostdonations .gv-list-view-title,
body.category-csf .csfpostdonations .gv-list-view-content,
body.category-csf .csfpostdonations .gv-list-view-content-image,
body.category-csf .csfpostdonations .gv-grid-col {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.category-csf .csfpostdonations .gv-list-view a {
  color: var(--rk-text) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
body.category-csf .csfpostdonations .gv-no-results,
body.category-csf .csfpostdonations h3 {
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--rk-muted) !important;
  background: var(--rk-surface-2) !important;
  border: 1px dashed var(--rk-line) !important;
  padding: 14px !important;
  border-radius: var(--rk-radius) !important;
  text-align: center !important;
  margin: 0 !important;
}

/* GravityView TABLE fallback */
body.category-csf .csfpostdonations table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
  background: transparent !important;
}
body.category-csf .csfpostdonations table thead { display: none !important; }
body.category-csf .csfpostdonations table tbody tr {
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-line) !important;
}
body.category-csf .csfpostdonations table tbody tr td {
  padding: 12px 14px !important;
  border: 1px solid var(--rk-line) !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  vertical-align: middle !important;
  font-size: 0.95rem !important;
  color: var(--rk-text) !important;
}
body.category-csf .csfpostdonations table tbody tr td:first-child {
  border-left: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) 0 0 var(--rk-radius) !important;
  font-weight: 600 !important;
}
body.category-csf .csfpostdonations table tbody tr td:last-child {
  border-right: 1px solid var(--rk-line) !important;
  border-radius: 0 var(--rk-radius) var(--rk-radius) 0 !important;
  text-align: right !important;
  color: var(--rk-accent) !important;
  font-weight: 700 !important;
}

/*--------------------------------------------------------------
   19.5. TABBED CONTENT (.bl-tabs)
   Teams / Fundraisers / Donation Matchers
   Ported from SIC (PART 3) and re-themed to CSF tokens (rk-*).
--------------------------------------------------------------*/

/* Tab fade-in animation (referenced by .is-active panel) */
@keyframes csfTabFade {
  from { opacity: .6; transform: translateY(2px); }
  to   { opacity: 1;  transform: translateY(0); }
}

/* Wrapper + nav */
body.category-csf .bl-tabs {
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 18px rgba(15,23,42,.06) !important;
  overflow: hidden !important;
  margin: 12px 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.category-csf .bl-tabs__nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: stretch !important;
  padding: 12px !important;
  background: var(--rk-surface-2) !important;
  border-bottom: 1px solid var(--rk-border) !important;
  overflow: visible !important;
}

body.category-csf .bl-tabs__tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid var(--rk-border) !important;
  background: #fff !important;
  color: var(--rk-text-soft) !important;
  border-radius: 999px !important;
  padding: 9px 16px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  letter-spacing: .2px !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  position: relative !important;
  white-space: nowrap !important;
  user-select: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease !important;
  font-family: inherit !important;
}
body.category-csf .bl-tabs__tab:hover {
  color: var(--rk-accent) !important;
  border-color: var(--rk-accent) !important;
  background: var(--rk-accent-soft) !important;
}
body.category-csf .bl-tabs__tab.is-active {
  color: #fff !important;
  border-color: var(--rk-accent) !important;
  background: var(--rk-accent) !important;
  box-shadow: 0 4px 12px var(--rk-accent-glow) !important;
}
body.category-csf .bl-tabs__tab:focus { outline: none !important; }
body.category-csf .bl-tabs__tab:focus-visible {
  box-shadow: 0 0 0 3px var(--rk-accent-glow) !important;
}
body.category-csf .bl-tabs__tab-inner {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Panels */
body.category-csf .bl-tabs__panels {
  padding: 16px !important;
  background: #fff !important;
}
body.category-csf .bl-tabs__panel { border-radius: 12px !important; }
body.category-csf .bl-tabs__panel.is-active {
  animation: csfTabFade .18s ease-out !important;
}
body.category-csf .bl-tabs__panel-inner {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.category-csf .bl-tabs__panel-inner > p:empty { display: none !important; }
body.category-csf .bl-tabs__panel-inner > br { display: none !important; }
body.category-csf .bl-tabs__panel-inner img,
body.category-csf .bl-tabs__panel-inner video,
body.category-csf .bl-tabs__panel-inner iframe {
  max-width: 100% !important;
  height: auto !important;
}

/* Section subtitle inside any tab (.csfpostsubtitle) */
body.category-csf .bl-tabs__panel-inner .csfpostsubtitle {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--rk-text) !important;
  margin: 0 0 14px 0 !important;
  text-align: left !important;
}

/* GravityView containers — neutralize default chrome inside tabs */
body.category-csf .bl-tabs__panel-inner .gv-container,
body.category-csf .bl-tabs__panel-inner .gv-list-container,
body.category-csf .bl-tabs__panel-inner .gv-table-container {
  max-width: 100% !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
body.category-csf .bl-tabs__panel-inner [itemprop="itemReviewed"] {
  display: block !important;
  width: 100% !important;
}

/* GV LIST view — Teams + Fundraisers (stacked rows) */
body.category-csf .bl-tabs__panel-inner .gv-list-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
body.category-csf .bl-tabs__panel-inner .gv-list-view {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  text-align: left !important;
  transition: background .2s ease, border-color .2s ease !important;
}
body.category-csf .bl-tabs__panel-inner .gv-list-view:hover {
  background: var(--rk-surface-2) !important;
  border-color: var(--rk-accent) !important;
}
/* No heart icon inside tab panels — that's reserved for the Recent
   Donations section. The tabs show Teams/Fundraisers, not donors. */
body.category-csf .bl-tabs__panel-inner .gv-list-view::before {
  content: none !important;
}
body.category-csf .bl-tabs__panel-inner .gv-list-view-title {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.category-csf .bl-tabs__panel-inner .gv-list-view-title h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--rk-text) !important;
  line-height: 1.3 !important;
}
body.category-csf .bl-tabs__panel-inner .gv-list-view-content,
body.category-csf .bl-tabs__panel-inner .gv-list-view-content-image,
body.category-csf .bl-tabs__panel-inner .gv-list-view-content-description {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.category-csf .bl-tabs__panel-inner .gv-grid,
body.category-csf .bl-tabs__panel-inner .gv-list-view-content .gv-grid,
body.category-csf .bl-tabs__panel-inner .gv-list-view-content > .gv-grid {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
body.category-csf .bl-tabs__panel-inner [class*="gv-grid-col"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
}
body.category-csf .bl-tabs__panel-inner .gv-list-view a {
  color: var(--rk-accent) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
body.category-csf .bl-tabs__panel-inner .gv-list-view a:hover {
  color: var(--rk-accent-hover) !important;
  text-decoration: underline !important;
}

/* Teams tab — list rows with progress bars (.teamdonations) */
body.category-csf .bl-tabs__panel-inner .teamdonations {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations p {
  margin: 0 0 8px 0 !important;
  font-size: .9rem !important;
  color: var(--rk-text-soft) !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: block !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-meter {
  width: 100% !important;
  height: 8px !important;
  background: var(--rk-line-soft) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  margin: 0 0 6px 0 !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-fill {
  height: 100% !important;
  background: var(--rk-accent) !important;
  border-radius: 999px !important;
  transition: width .3s ease !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-caption,
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-goal {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  font-size: .8rem !important;
  margin: 0 12px 0 0 !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-caption-label,
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-goal-label {
  color: var(--rk-muted) !important;
  font-weight: 500 !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-caption-value,
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-goal-value {
  color: var(--rk-text) !important;
  font-weight: 700 !important;
}
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-caption br,
body.category-csf .bl-tabs__panel-inner .teamdonations .gfpm-goal br {
  display: none !important;
}

/* Fundraisers tab — name + progress + share link */
body.category-csf .bl-tabs__panel-inner .progressmeterheader {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--rk-accent) !important;
  margin-right: 6px !important;
}
body.category-csf .bl-tabs__panel-inner .progressmetersubheader {
  font-size: .85rem !important;
  color: var(--rk-muted) !important;
}

/* "Copy this" widget (.bl-copythis) — fundraising link rows */
body.category-csf .bl-tabs__panel-inner .bl-copythis {
  margin: 8px 0 0 0 !important;
  padding: 10px 12px !important;
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.category-csf .bl-tabs__panel-inner .bl-copythis__label {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: var(--rk-muted) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}
body.category-csf .bl-tabs__panel-inner .bl-copythis__row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.category-csf .bl-tabs__panel-inner .bl-copythis__value {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 8px 10px !important;
  background: #fff !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-sm) !important;
  font-family: ui-monospace, "SF Mono", Menlo, monospace !important;
  font-size: 0.8rem !important;
  color: var(--rk-text) !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  cursor: pointer !important;
}
body.category-csf .bl-tabs__panel-inner .bl-copythis__btn {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 12px !important;
  background: var(--rk-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rk-radius-sm) !important;
  font-family: inherit !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s ease !important;
}
body.category-csf .bl-tabs__panel-inner .bl-copythis__btn:hover {
  background: var(--rk-accent-hover) !important;
}
body.category-csf .bl-tabs__panel-inner .bl-copythis__btn-icon { font-size: 1rem !important; line-height: 1 !important; }
body.category-csf .bl-tabs__panel-inner .bl-copythis__status {
  font-size: 0.75rem !important;
  color: var(--rk-success) !important;
  font-weight: 600 !important;
  margin-left: 6px !important;
}

/* GV no-results / empty-state heading */
body.category-csf .bl-tabs__panel-inner .gv-no-results,
body.category-csf .bl-tabs__panel-inner .gv-no-results-text {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  background: var(--rk-surface-2) !important;
  border: 1px dashed var(--rk-border) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin: 0 !important;
  text-align: center !important;
}
body.category-csf .bl-tabs__panel-inner .gv-no-results h3,
body.category-csf .bl-tabs__panel-inner .gv-no-results-text h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: var(--rk-muted) !important;
  line-height: 1.5 !important;
  background: transparent !important;
  border: 0 !important;
}
body.category-csf .bl-tabs__panel-inner .gv-no-results h3 p,
body.category-csf .bl-tabs__panel-inner .gv-no-results-text h3 p {
  margin: 0 !important;
  display: inline !important;
}
body.category-csf .bl-tabs__panel-inner .gv-no-results a,
body.category-csf .bl-tabs__panel-inner .gv-no-results-text a {
  color: var(--rk-accent) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* GV TABLE view — Donation Matchers */
body.category-csf .bl-tabs__panel-inner .gv-table-container,
body.category-csf .bl-tabs__panel-inner .gv-table-view {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view,
body.category-csf .bl-tabs__panel-inner .gv-table-container table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 0 !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view thead {
  background: var(--rk-surface-2) !important;
  display: table-header-group !important;  /* override the .csfpostdonations table thead { display: none } above */
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view thead th {
  padding: 12px 16px !important;
  text-align: left !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: var(--rk-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  border-bottom: 1px solid var(--rk-border) !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view tfoot { display: none !important; }
body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody tr {
  background: #fff !important;
  transition: background .15s ease !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody tr:hover {
  background: var(--rk-surface-2) !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody td {
  padding: 12px 16px !important;
  font-size: .95rem !important;
  color: var(--rk-text) !important;
  border-bottom: 1px solid var(--rk-line-soft) !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
  background: transparent !important;
  border-radius: 0 !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody tr:last-child td {
  border-bottom: 0 !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody td:first-child {
  font-weight: 600 !important;
  border-radius: 0 !important;
}
body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody td:last-child {
  text-align: right !important;
  color: var(--rk-accent) !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
}

/* GV widgets footer (pagination + custom call-to-action below list) */
body.category-csf .bl-tabs__panel-inner .gv-widgets-footer {
  margin-top: 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links {
  margin: 0 0 10px 0 !important;
}
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links ul.page-numbers {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  border: 1px solid var(--rk-border) !important;
  background: #fff !important;
  color: var(--rk-text-soft) !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links .page-numbers:hover {
  background: var(--rk-accent-soft) !important;
  color: var(--rk-accent) !important;
  border-color: var(--rk-accent) !important;
}
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links .page-numbers.current {
  background: var(--rk-accent) !important;
  color: #fff !important;
  border-color: var(--rk-accent) !important;
}

/* Custom call-to-action below GV list (.csfcontactlink) */
body.category-csf .bl-tabs__panel-inner .csfcontactlink,
body.category-csf .bl-tabs__panel-inner .siccontactlink {
  margin: 12px 0 0 0 !important;
  padding: 12px 16px !important;
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: 10px !important;
  font-size: .9rem !important;
  color: var(--rk-text-soft) !important;
  line-height: 1.5 !important;
  text-align: center !important;
}
body.category-csf .bl-tabs__panel-inner .csfcontactlink br,
body.category-csf .bl-tabs__panel-inner .siccontactlink br {
  display: none !important;
}
body.category-csf .bl-tabs__panel-inner .csfcontactlink a,
body.category-csf .bl-tabs__panel-inner .siccontactlink a {
  color: var(--rk-accent) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-left: 6px !important;
}
body.category-csf .bl-tabs__panel-inner .csfcontactlink a:hover,
body.category-csf .bl-tabs__panel-inner .siccontactlink a:hover {
  text-decoration: underline !important;
}

/* Sticky-nav variant (opt-in via .bl-tabs--sticky) */
body.category-csf .bl-tabs.bl-tabs--sticky .bl-tabs__nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
}

/* bl-tabs mobile refinements */
@media (max-width: 767px) {
  body.category-csf .bl-tabs { border-radius: 14px !important; }
  body.category-csf .bl-tabs__nav { padding: 8px !important; gap: 6px !important; }
  body.category-csf .bl-tabs__tab { padding: 8px 12px !important; font-size: 12px !important; }
  body.category-csf .bl-tabs__panels { padding: 12px !important; }
  body.category-csf .bl-tabs__panel-inner .gv-list-view { padding: 12px !important; }
  body.category-csf .bl-tabs__panel-inner .gv-list-view-title h3 { font-size: .95rem !important; }
  body.category-csf .bl-tabs__panel-inner table.gv-table-view thead th,
  body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody td {
    padding: 10px 12px !important;
    font-size: .85rem !important;
  }
  body.category-csf .bl-tabs__panel-inner .bl-copythis__row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.category-csf .bl-tabs__panel-inner .bl-copythis__btn {
    justify-content: center !important;
  }
}

/*--------------------------------------------------------------
   20. "Raising money for a good cause" CALLOUT (.csflinkbyfooter)
--------------------------------------------------------------*/
body.category-csf .csflinkbyfooter {
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  animation: none !important;
}
body.category-csf .csflinkbyfooter > p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  color: var(--rk-text-soft) !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  box-shadow: none !important;
}
body.category-csf .csflinkbyfooter > p::before { content: none !important; }
body.category-csf .csflinkbyfooter > p a {
  display: inline !important;
  color: var(--rk-accent) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  background: none !important;
  padding: 0 !important;
  border: none !important;
}
body.category-csf .csflinkbyfooter > p a:hover { color: var(--rk-accent-hover) !important; }

body.category-csf hr.csfpostdivider { display: none !important; }

/*--------------------------------------------------------------
   21. TIER TABLES (in story / collapsible)
--------------------------------------------------------------*/
body.category-csf .csfpostdescription table,
body.category-csf .csfpostcontent table,
body.category-csf .csf-collapsible-content table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
  background: transparent !important;
  border: none !important;
  table-layout: fixed !important;
}
body.category-csf .csfpostdescription table tbody tr,
body.category-csf .csfpostcontent table tbody tr,
body.category-csf .csf-collapsible-content table tbody tr {
  background: var(--rk-surface) !important;
  transition: background .2s ease, border-color .2s ease !important;
}
body.category-csf .csfpostdescription table tbody tr:hover,
body.category-csf .csfpostcontent table tbody tr:hover,
body.category-csf .csf-collapsible-content table tbody tr:hover {
  background: var(--rk-surface-2) !important;
}
body.category-csf .csfpostdescription table tbody tr td,
body.category-csf .csfpostcontent table tbody tr td,
body.category-csf .csf-collapsible-content table tbody tr td {
  padding: 14px 18px !important;
  border: 1px solid var(--rk-line) !important;
  background: transparent !important;
  vertical-align: middle !important;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
  color: var(--rk-text) !important;
}
body.category-csf .csfpostdescription table tbody tr td:first-child,
body.category-csf .csf-collapsible-content table tbody tr td:first-child {
  border-radius: var(--rk-radius) 0 0 var(--rk-radius) !important;
  border-right: none !important;
  text-align: left !important;
  font-weight: 500 !important;
  width: 65% !important;
}
body.category-csf .csfpostdescription table tbody tr td:last-child,
body.category-csf .csf-collapsible-content table tbody tr td:last-child {
  border-radius: 0 var(--rk-radius) var(--rk-radius) 0 !important;
  border-left: none !important;
  text-align: right !important;
  font-weight: 800 !important;
  color: var(--rk-accent-dark) !important;
  width: 35% !important;
}
body.category-csf .csfpostdescription table tbody tr td:only-child,
body.category-csf .csf-collapsible-content table tbody tr td:only-child {
  border-radius: var(--rk-radius) !important;
  border: 1px solid var(--rk-line) !important;
  text-align: center !important;
}
body.category-csf .csfpostdescription table tbody tr td b,
body.category-csf .csf-collapsible-content table tbody tr td b { font-weight: 700 !important; }

/* Header rows (colspan) */
body.category-csf .csfpostdescription table tbody tr td[colspan],
body.category-csf .csf-collapsible-content table tbody tr td[colspan] {
  background: var(--rk-accent-dark) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  border-color: var(--rk-accent-dark) !important;
  border-radius: var(--rk-radius) !important;
}
body.category-csf .csfpostdescription table tbody tr td[colspan] b,
body.category-csf .csf-collapsible-content table tbody tr td[colspan] b { color: #fff !important; }

/* Sponsored badge */
body.category-csf .csfpostdescription table tbody tr td span[style*="fc6260"],
body.category-csf .csf-collapsible-content table tbody tr td span[style*="fc6260"] {
  display: inline-block !important;
  padding: 3px 10px !important;
  margin-right: 8px !important;
  background: #fee2e2 !important;
  border: 1px solid #fecaca !important;
  border-radius: var(--rk-radius-full) !important;
  color: #b91c1c !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/*--------------------------------------------------------------
   22. TIER LISTS (ul → li → b)
--------------------------------------------------------------*/
body.category-csf .csfpostdescription ul,
body.category-csf .csfpostcontent ul,
body.category-csf .csf-collapsible-content ul,
body.category-csf .entry-content ul {
  list-style: none !important;
  margin: 16px 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
body.category-csf .csfpostdescription ul ul,
body.category-csf .csf-collapsible-content ul ul,
body.category-csf .entry-content ul ul {
  margin: 0 !important;
  padding: 0 !important;
  gap: 10px !important;
  max-width: 100% !important;
}
body.category-csf .csfpostdescription ul li,
body.category-csf .csf-collapsible-content ul li,
body.category-csf .entry-content ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.category-csf .csfpostdescription ul li b,
body.category-csf .csf-collapsible-content ul li b,
body.category-csf .entry-content ul li b {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  padding: 14px 18px !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-line) !important;
  border-left: 4px solid var(--rk-accent) !important;
  border-radius: var(--rk-radius) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--rk-text) !important;
  text-align: left !important;
  box-shadow: none !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease !important;
  cursor: pointer !important;
}
body.category-csf .csfpostdescription ul li b:hover,
body.category-csf .csf-collapsible-content ul li b:hover,
body.category-csf .entry-content ul li b:hover {
  background: var(--rk-surface-2) !important;
  border-color: var(--rk-accent) !important;
  transform: translateY(-1px) !important;
}
body.category-csf .csfpostdescription ul li:first-of-type b,
body.category-csf .csf-collapsible-content ul li:first-of-type b { border-left-color: var(--tier-silver) !important; }
body.category-csf .csfpostdescription ul li:nth-of-type(2) b,
body.category-csf .csf-collapsible-content ul li:nth-of-type(2) b { border-left-color: var(--tier-gold) !important; }
body.category-csf .csfpostdescription ul li:nth-of-type(3) b,
body.category-csf .csf-collapsible-content ul li:nth-of-type(3) b { border-left-color: var(--tier-diamond) !important; }

/* Important: scope the tier-list `ul li` styles so they DON'T apply
   inside the bl-tabs panels (which contain GravityView <ul>/<li>
   structures that would otherwise inherit pill styling). */
body.category-csf .bl-tabs__panel-inner ul,
body.category-csf .bl-tabs__panel-inner ul li,
body.category-csf .bl-tabs__panel-inner ul li b {
  all: revert !important;
}
/* Re-apply page-numbers list styling after the all:revert above */
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links ul.page-numbers {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.category-csf .bl-tabs__panel-inner .gv-widget-page-links ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: inline-block !important;
}

/*--------------------------------------------------------------
   23. SPONSORSHIP SECTION HEADERS (inline span sizes from editor)
--------------------------------------------------------------*/
body.category-csf .csf-collapsible-content > p:has(span[style*="18pt"]),
body.category-csf .csf-collapsible-content > p:has(span[style*="14pt"]),
body.category-csf .csfpostdescription > p:has(span[style*="18pt"]),
body.category-csf .csfpostdescription > p:has(span[style*="14pt"]) {
  margin: 1.6rem 0 0.75rem !important;
  padding: 0 !important;
  text-align: left !important;
  border-top: none !important;
}
body.category-csf .csf-collapsible-content span[style*="18pt"],
body.category-csf .csfpostdescription span[style*="18pt"] {
  display: inline-block !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--rk-text) !important;
  padding-bottom: 6px !important;
  border-bottom: 3px solid var(--rk-accent) !important;
}
body.category-csf .csf-collapsible-content span[style*="14pt"],
body.category-csf .csfpostdescription span[style*="14pt"] {
  display: inline-block !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--rk-text-soft) !important;
  padding: 6px 16px !important;
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-full) !important;
}

/*--------------------------------------------------------------
   24. SELECTABLE TIERS (JS-driven)
--------------------------------------------------------------*/
body.category-csf table tbody tr:has(td:nth-child(2)),
body.category-csf .csfpostdescription ul li:has(b),
body.category-csf .csf-collapsible-content ul li:has(b),
body.category-csf .csf-tier-item {
  cursor: pointer !important;
  user-select: none !important;
}
/* Don't make GV list rows or table rows inside tabs look selectable */
body.category-csf .bl-tabs__panel-inner table tbody tr:has(td:nth-child(2)),
body.category-csf .bl-tabs__panel-inner ul li:has(b) {
  cursor: default !important;
  user-select: auto !important;
}

body.category-csf .csf-tier-selected {
  background: var(--rk-accent-soft) !important;
  border-color: var(--rk-accent) !important;
  box-shadow: 0 0 0 2px var(--rk-accent-glow) !important;
  position: relative !important;
}
body.category-csf .csf-tier-selected::after {
  content: "✓" !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  background: var(--rk-accent) !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: bold !important;
}
body.category-csf table tbody tr.csf-tier-selected td {
  background: var(--rk-accent-soft) !important;
  border-color: var(--rk-accent) !important;
}
body.category-csf table tbody tr.csf-tier-selected td:last-child {
  position: relative !important;
  padding-right: 42px !important;
}
body.category-csf .gform_wrapper input.csf-amount-populated {
  border-color: var(--rk-accent) !important;
  background: var(--rk-accent-soft) !important;
}
body.category-csf .csf-amount-success {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 12px auto !important;
  padding: 8px 16px !important;
  max-width: 100% !important;
  background: var(--rk-accent-soft) !important;
  border: 1px solid rgba(30,115,190,.3) !important;
  border-radius: var(--rk-radius-full) !important;
  color: var(--rk-accent-dark) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
}

/*--------------------------------------------------------------
   25. CONTACT FORM (full-width, below everything)
--------------------------------------------------------------*/
body.category-csf .csfpostcontact {
  width: 100% !important;
  max-width: 100% !important;
  margin: 32px 0 0 0 !important;
  padding: 32px 0 0 0 !important;
  border-top: 1px solid var(--rk-line) !important;
  animation: none !important;
  clear: both !important;
}
body.category-csf .csfpostcontact .csfpostsubtitle {
  text-align: left !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--rk-text) !important;
  margin: 0 0 16px 0 !important;
  text-shadow: none !important;
}
body.category-csf .csfpostcontact .gform_wrapper {
  width: 100% !important;
  max-width: 100% !important;       /* fill the left column */
  margin: 0 !important;
  padding: 24px !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-lg) !important;
  box-shadow: var(--rk-shadow) !important;
  animation: none !important;
}
body.category-csf .csfpostcontact .gform_wrapper::before,
body.category-csf .csfpostcontact .gform_wrapper::after { content: none !important; }
body.category-csf .csfpostcontact .gform_wrapper .gform_fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  grid-template-columns: none !important;
}

/*--------------------------------------------------------------
   26. SITE FOOTER
--------------------------------------------------------------*/
body.category-csf .site-footer,
body.category-csf footer.site-info {
  width: 100% !important;
  margin-top: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border-top: 1px solid var(--rk-line) !important;
  box-shadow: none !important;
}
body.category-csf footer.site-info .inside-site-info {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
body.category-csf footer.site-info::before { content: none !important; }
body.category-csf footer.site-info .copyright-bar {
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: var(--rk-muted) !important;
  text-align: center !important;
  line-height: 1.6 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}
body.category-csf footer.site-info .copyright-bar::before { content: none !important; }
body.category-csf footer.site-info .copyright-bar a {
  color: var(--rk-accent) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
body.category-csf footer.site-info .copyright-bar a:hover {
  color: var(--rk-accent-hover) !important;
  text-decoration: underline !important;
}

/*--------------------------------------------------------------
   27. ACCESSIBILITY
--------------------------------------------------------------*/
body.category-csf *:focus-visible {
  outline: 2px solid var(--rk-accent) !important;
  outline-offset: 2px !important;
}
@media (prefers-reduced-motion: reduce) {
  body.category-csf * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.2s !important;
  }
}

/* Respect Gravity Forms conditional logic */
body.category-csf .gform_wrapper .gform_footer[style*="display: none"],
body.category-csf .gform_wrapper .gform-footer[style*="display: none"],
body.category-csf .gform_wrapper .gfield[style*="display: none"],
body.category-csf .gform_wrapper input[type="submit"][style*="display: none"],
body.category-csf .gform_wrapper .gform_button[style*="display: none"] {
  display: none !important;
}

/*--------------------------------------------------------------
   28. RESPONSIVE refinements
--------------------------------------------------------------*/
@media (max-width: 879px) {
  body.category-csf .csfpostbanner {
    padding: 12px !important;
    max-height: 360px !important;
  }
  body.category-csf .csfpostbanner img { max-height: 320px !important; }
  body.category-csf .csfpostcontact .gform_wrapper { padding: 20px !important; }
}

@media (max-width: 600px) {
  body.category-csf .gform_wrapper .ginput_complex,
  body.category-csf .gform_wrapper .ginput_cardextras,
  body.category-csf .gform_wrapper .ginput_container_ach {
    grid-template-columns: 1fr !important;
  }
  body.category-csf .gform_wrapper .ginput_container_ach .ginput_full {
    grid-column: span 1 !important;
  }
  body.category-csf .csflinkbyfooter > p {
    font-size: 0.88rem !important;
    padding: 14px 16px !important;
  }
}

@media (max-width: 480px) {
  body.category-csf .entry-content { padding: 16px 14px 56px !important; }
  body.category-csf .csfposttitlename { font-size: 1.45rem !important; }
  body.category-csf .gform_wrapper .gfield_radio { grid-template-columns: 1fr !important; }
  body.category-csf .gform_wrapper input[type="submit"],
  body.category-csf .gform_wrapper .gform_button { width: 100% !important; padding: 13px 18px !important; }
  body.category-csf .csfpostbanner { max-height: 300px !important; }
  body.category-csf .csfpostbanner img { max-height: 260px !important; }
  body.category-csf .csfpostheader .csfpostshare { flex-wrap: wrap !important; }
}

@media (max-width: 400px) {
  body.category-csf .csfpostdescription table tbody,
  body.category-csf .csfpostdescription table tbody tr,
  body.category-csf .csf-collapsible-content table tbody,
  body.category-csf .csf-collapsible-content table tbody tr { display: block !important; }
  body.category-csf .csfpostdescription table tbody tr,
  body.category-csf .csf-collapsible-content table tbody tr {
    margin-bottom: 10px !important;
    border-radius: var(--rk-radius) !important;
    overflow: hidden !important;
    border: 1px solid var(--rk-line) !important;
  }
  body.category-csf .csfpostdescription table tbody tr td,
  body.category-csf .csf-collapsible-content table tbody tr td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }
  body.category-csf .csfpostdescription table tbody tr td:first-child,
  body.category-csf .csf-collapsible-content table tbody tr td:first-child {
    border-radius: var(--rk-radius) var(--rk-radius) 0 0 !important;
    border-bottom: none !important;
  }
  body.category-csf .csfpostdescription table tbody tr td:last-child,
  body.category-csf .csf-collapsible-content table tbody tr td:last-child {
    border-radius: 0 0 var(--rk-radius) var(--rk-radius) !important;
    border-top: none !important;
    text-align: right !important;
  }
  /* Don't collapse stacked-block tables inside bl-tabs panels */
  body.category-csf .bl-tabs__panel-inner table tbody,
  body.category-csf .bl-tabs__panel-inner table tbody tr,
  body.category-csf .bl-tabs__panel-inner table tbody td {
    display: revert !important;
    width: revert !important;
    text-align: revert !important;
    border-radius: revert !important;
  }
  body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody td {
    display: table-cell !important;
  }
  body.category-csf .bl-tabs__panel-inner table.gv-table-view tbody tr {
    display: table-row !important;
  }
}

.ginput_product_price::after {
  content: "Total";
  display: block;
  margin-top: 0.5em;
  font-size: 0.5em;
}

/*--------------------------------------------------------------
   FIX 1: Breathing room between adjacent checkbox fieldsets
   (credit card fee / anonymous / etc.)
--------------------------------------------------------------*/
body.category-csf .csfpostdonate fieldset.gfield--type-checkbox {
  margin: 6px 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Ensure consecutive checkbox fieldsets always have a clear gap,
   regardless of what .gform_fields gap resolves to. */
body.category-csf .csfpostdonate fieldset.gfield--type-checkbox + fieldset.gfield--type-checkbox,
body.category-csf .csfpostdonate fieldset.gfield--type-checkbox + .gfield {
  margin-top: 14px !important;
}

/* Also give a little internal breathing inside each fieldset's
   choice container so the pill doesn't touch the fieldset edge. */
body.category-csf .csfpostdonate .gfield--type-checkbox .ginput_container_checkbox {
  padding: 2px 0 !important;
}

/*--------------------------------------------------------------
   FIX 2: Right-edge border bleed on radio/checkbox pills
   Caused by the swiper slide's width being marginally wider
   than its inner content, exposing the pill's right border.
--------------------------------------------------------------*/
body.category-csf .csfpostdonate .gfield_radio,
body.category-csf .csfpostdonate .gfield_checkbox {
  padding-right: 2px !important;  /* breathing room from slide edge */
  padding-left: 2px !important;
  box-sizing: border-box !important;
}

/* Make sure the pill labels themselves don't overflow their
   container — explicit min-width:0 prevents flex children from
   pushing past the parent. */
body.category-csf .csfpostdonate .gfield_radio .gchoice label,
body.category-csf .csfpostdonate .gfield_checkbox .gchoice label {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Defensive: clip any sub-pixel overflow at the slide level so
   stray 1-2px borders never bleed past the sidebar. Swiper needs
   overflow:hidden on .swiper itself (already set), but slides
   sometimes leak. */
body.category-csf .csfpostdonate .gform_page,
body.category-csf .csfpostdonate .swiper-slide {
  overflow-x: clip !important;  /* clip is better than hidden — doesn't create scroll context */
}

/*--------------------------------------------------------------
   FIX: Suggested Donation radio — 2×2 grid
--------------------------------------------------------------*/
body.category-csf .csfpostdonate .donation-amount .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  flex-direction: unset !important;
  gap: 8px !important;
}

/*--------------------------------------------------------------
   FIX: Shrink checkbox pill text so it stays one line
--------------------------------------------------------------*/
body.category-csf .csfpostdonate .gfield--type-checkbox .gchoice label {
  font-size: 0.78rem !important;
  padding: 8px 10px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/*--------------------------------------------------------------
   FIX: Center the "Credit Card Fee: $X.XX" description
--------------------------------------------------------------*/
body.category-csf .csfpostdonate .gfield--type-checkbox .gfield_description {
  text-align: center !important;
}

/*--------------------------------------------------------------
   FIX: Center "Your Donation" section title
--------------------------------------------------------------*/
body.category-csf .csfpostdonate .your-donation .gsection_title {
  text-align: center !important;
}

/*--------------------------------------------------------------
   MOBILE STICKY "DONATE NOW" FOOTER BUTTON
--------------------------------------------------------------*/
@media (max-width: 980px) {
  body.category-csf .csfstickyfooter {
    display: flex !important;
    position: fixed !important;
    top: auto !important;          /* ← add this */
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    padding: 12px 16px max(12px, env(safe-area-inset-bottom)) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-top: 1px solid var(--rk-line) !important;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06) !important;
    justify-content: center !important;
    align-items: center !important;
    transition: transform 0.3s ease, opacity 0.3s ease !important;
  }

  body.category-csf .csfstickyfooter.csfstickyfooter.csf-footer-hidden {
    transform: translateY(100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

  body.category-csf .csfstickyfooter .csfpostfooterbutton {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 420px !important;
    padding: 15px 24px !important;
    background: var(--rk-accent) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    border-radius: var(--rk-radius-full) !important;
    border: none !important;
    box-shadow: 0 4px 14px var(--rk-accent-glow) !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
  }

  body.category-csf .csfstickyfooter .csfpostfooterbutton:hover {
    background: var(--rk-accent-hover) !important;
    transform: translateY(-1px) !important;
  }

  body.category-csf .csfstickyfooter .csfpostfooterbutton:active {
    transform: translateY(0) !important;
  }

  /* Push page content up so the sticky bar doesn't cover it */
  body.category-csf .entry-content {
    padding-bottom: 88px !important;
  }
}

/*--------------------------------------------------------------
   29. TRUST SIGNAL PILLS (.csf-trust-pills)
--------------------------------------------------------------*/
body.category-csf .csf-trust-pills {
  display: block !important;            /* container is block, full-width */
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 0 !important;
  padding: 14px 0 2px 0 !important;
  border-top: 1px solid var(--rk-line) !important;
  box-sizing: border-box !important;
  list-style: none !important;
  text-align: center !important;        /* centers inline-flex children */
  font-size: 0 !important;              /* kill whitespace gaps between inline-blocks */
}

body.category-csf .csf-trust-pill {
  display: inline-flex !important;
  vertical-align: middle !important;
  width: auto !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 5px !important;
  padding: 7px 12px !important;
  background: var(--rk-accent-soft) !important;
  border: 1px solid rgba(30, 115, 190, 0.22) !important;
  border-radius: var(--rk-radius-full) !important;
  font-family: inherit !important;
  font-size: 0.7rem !important;          /* restore font-size on children */
  font-weight: 700 !important;
  color: var(--rk-accent-dark) !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}

body.category-csf .csf-trust-pill:hover {
  background: #d9eaf6 !important;
  border-color: rgba(30, 115, 190, 0.4) !important;
}

body.category-csf .csf-trust-pill svg {
  width: 13px !important;
  height: 13px !important;
  margin-right: 4px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  stroke: var(--rk-accent) !important;
  stroke-width: 2 !important;
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  overflow: visible !important;
}

/*--------------------------------------------------------------
   30. FAQ SECTION (.csfpostfaq with mobile_accordion)
   Grid placement is handled in section 3 (the v5 8-row grid).
--------------------------------------------------------------*/

/* ===== FAQ container ===== */
body.category-csf .csfpostfaq {
  width: 100% !important;
  max-width: 100% !important;
  margin: 32px 0 0 0 !important;
  padding: 32px 0 0 0 !important;
  border-top: 1px solid var(--rk-line) !important;
  animation: none !important;
  clear: both !important;
}

body.category-csf .csfpostfaq .csfpostsubtitle {
  text-align: left !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--rk-text) !important;
  margin: 0 0 16px 0 !important;
  text-shadow: none !important;
}

/* ===== Accordion wrapper — render as a single card ===== */
body.category-csf .csfpostfaq .ma-wrapper {
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-lg) !important;
  box-shadow: var(--rk-shadow) !important;
  overflow: hidden !important;
}

/* ===== Section dividers — use our token, not the default rgba ===== */
body.category-csf .csfpostfaq .ma-wrapper .ma-section {
  border-bottom: 1px solid var(--rk-line) !important;
}
body.category-csf .csfpostfaq .ma-wrapper .ma-section:last-child {
  border-bottom: none !important;
}

/* ===== Question button (label row) ===== */
body.category-csf .csfpostfaq .ma-wrapper .ma-label {
  width: 100% !important;
  padding: 18px 22px !important;
  background: transparent !important;
  border: none !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--rk-text) !important;
  text-align: left !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  -webkit-tap-highlight-color: transparent !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-label:hover,
body.category-csf .csfpostfaq .ma-wrapper .ma-label:focus-visible {
  background: var(--rk-surface-2) !important;
  color: var(--rk-accent) !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-label.is-open {
  background: var(--rk-accent-soft) !important;
  color: var(--rk-accent-dark) !important;
}

/* ===== Label text + emoji icon ===== */
body.category-csf .csfpostfaq .ma-wrapper .ma-label-text {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 !important;
  min-width: 0 !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--rk-accent-soft) !important;
  border-radius: 50% !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  transition: background 0.2s ease !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-label.is-open .ma-icon {
  background: #fff !important;
}

/* ===== Chevron — replace the borrowed border-arrow with a clean
   plus/minus toggle that fits the rest of the page ===== */
body.category-csf .csfpostfaq .ma-wrapper .ma-chevron {
  position: relative !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
  margin-left: 12px !important;
  border: none !important;
  transform: none !important;
  transition: transform 0.25s ease !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-chevron::before,
body.category-csf .csfpostfaq .ma-wrapper .ma-chevron::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  background: currentColor !important;
  border-radius: 1px !important;
  transition: transform 0.25s ease, opacity 0.2s ease !important;
}
body.category-csf .csfpostfaq .ma-wrapper .ma-chevron::before {
  width: 14px !important;
  height: 2px !important;
  transform: translate(-50%, -50%) !important;
}
body.category-csf .csfpostfaq .ma-wrapper .ma-chevron::after {
  width: 2px !important;
  height: 14px !important;
  transform: translate(-50%, -50%) !important;
}
body.category-csf .csfpostfaq .ma-wrapper .ma-label.is-open .ma-chevron::after {
  transform: translate(-50%, -50%) rotate(90deg) !important;
  opacity: 0 !important;
}

/* ===== Answer panel ===== */
body.category-csf .csfpostfaq .ma-wrapper .ma-content {
  background: var(--rk-surface-2) !important;
  border-top: 1px solid var(--rk-line) !important;
  /* Keep accordion's max-height transition working, but only when open */
}
body.category-csf .csfpostfaq .ma-wrapper .ma-content:not(.is-visible) {
  border-top: none !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-content-inner {
  padding: 18px 22px 22px 22px !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  color: var(--rk-text-soft) !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-content-inner p {
  margin: 0 0 0.9em 0 !important;
  color: var(--rk-text-soft) !important;
}
body.category-csf .csfpostfaq .ma-wrapper .ma-content-inner p:last-child {
  margin-bottom: 0 !important;
}
body.category-csf .csfpostfaq .ma-wrapper .ma-content-inner p:empty {
  display: none !important;
}

body.category-csf .csfpostfaq .ma-wrapper .ma-content-inner a {
  color: var(--rk-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 500 !important;
}
body.category-csf .csfpostfaq .ma-wrapper .ma-content-inner a:hover {
  color: var(--rk-accent-hover) !important;
}

/* ===== Mobile refinements ===== */
@media (max-width: 600px) {
  body.category-csf .csfpostfaq {
    margin-top: 24px !important;
    padding-top: 24px !important;
  }
  body.category-csf .csfpostfaq .ma-wrapper .ma-label {
    padding: 14px 16px !important;
    font-size: 0.95rem !important;
  }
  body.category-csf .csfpostfaq .ma-wrapper .ma-content-inner {
    padding: 14px 16px 18px 16px !important;
  }
  body.category-csf .csfpostfaq .ma-wrapper .ma-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 0.9rem !important;
  }
}

/*--------------------------------------------------------------
   FIX: Scale trust pills down on mobile so they stay on one line
--------------------------------------------------------------*/
@media (max-width: 600px) {
  body.category-csf .csf-trust-pill {
    margin: 0 3px !important;
    padding: 6px 9px !important;
    font-size: 0.62rem !important;
  }
  body.category-csf .csf-trust-pill svg {
    width: 11px !important;
    height: 11px !important;
    margin-right: 3px !important;
  }
}

@media (max-width: 380px) {
  body.category-csf .csf-trust-pill {
    margin: 0 2px !important;
    padding: 5px 7px !important;
    font-size: 0.58rem !important;
  }
  body.category-csf .csf-trust-pill svg {
    width: 10px !important;
    height: 10px !important;
    margin-right: 2px !important;
  }
}

/*--------------------------------------------------------------
   FIX: Section ordering on mobile (CSF)
   On desktop the explicit grid rows handle placement, but on mobile
   the layout falls back to source order. Use flexbox order to place
   each section between the description, carousel, tabs, donations, etc.

   v5.1 mobile order:
     1: header
     2: banner
     3: description (with carousel inside, OR carousel as sibling at order 4)
     4: csfimagecarousel (if rendered as sibling — order is harmless if nested)
     5: bl-tabs
     6: donate
     7: donations
     8: linkbyfooter
     9: faq
     10: contact
--------------------------------------------------------------*/
@media (max-width: 879px) {
  body.category-csf .entry-content {
    display: flex !important;
    flex-direction: column !important;
  }
  body.category-csf .csfpostcontent { display: contents !important; }

  body.category-csf .csfpostheader      { order: 1 !important; }
  body.category-csf .csfpostbanner      { order: 2 !important; }
  body.category-csf .csfpostdescription { order: 3 !important; }
  body.category-csf .csfimagecarousel   { order: 4 !important; }
  body.category-csf .bl-tabs            { order: 5 !important; }
  body.category-csf .csfpostdonate      { order: 6 !important; }
  body.category-csf .csfpostdonations   { order: 7 !important; }
  body.category-csf .csflinkbyfooter    { order: 8 !important; }
  body.category-csf .csfpostfaq         { order: 9 !important; }
  body.category-csf hr.csfpostdivider   { order: 10 !important; display: none !important; }
  body.category-csf .csfpostcontact     { order: 11 !important; }
}

/* Append this to the existing CSF stylesheet (after section 30) */

/*--------------------------------------------------------------
   31. DONATION CONFIRMATION (.csf-confirmation)
   Renders inside .csfpostdonate sidebar after successful submit.
--------------------------------------------------------------*/
body.category-csf .csf-confirmation {
  width: 100% !important;
  padding: 4px 0 !important;
  text-align: center !important;
}

/* === Hero block === */
body.category-csf .csf-confirmation__hero {
  padding: 8px 0 18px 0 !important;
}
body.category-csf .csf-confirmation__check {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto 14px auto !important;
  background: var(--rk-accent) !important;
  color: #fff !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 14px var(--rk-accent-glow) !important;
}
body.category-csf .csf-confirmation__check svg {
  display: block !important;
}
body.category-csf .csf-confirmation__title {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  color: var(--rk-text) !important;
}
body.category-csf .csf-confirmation__amount {
  margin: 0 !important;
  padding: 0 4px !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  color: var(--rk-text-soft) !important;
}
body.category-csf .csf-confirmation__amount strong {
  color: var(--rk-accent-dark) !important;
  font-weight: 700 !important;
}

/* === Receipt card === */
body.category-csf .csf-confirmation__receipt {
  margin: 4px 0 16px 0 !important;
  padding: 16px 14px !important;
  background: var(--rk-accent-soft) !important;
  border: 1px solid rgba(30, 115, 190, 0.22) !important;
  border-radius: var(--rk-radius) !important;
  text-align: center !important;
}
body.category-csf .csf-confirmation__receipt-label {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  color: var(--rk-accent-dark) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
body.category-csf .csf-confirmation__receipt-action a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 18px !important;
  background: #fff !important;
  border: 1.5px solid var(--rk-accent) !important;
  border-radius: var(--rk-radius-full) !important;
  font-family: inherit !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--rk-accent-dark) !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}
body.category-csf .csf-confirmation__receipt-action a:hover {
  background: var(--rk-accent) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
body.category-csf .csf-confirmation__receipt-action a::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  margin-right: 7px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23114576' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px !important;
  transition: filter 0.2s ease !important;
}
body.category-csf .csf-confirmation__receipt-action a:hover::before {
  filter: brightness(0) invert(1) !important;
}
body.category-csf .csf-confirmation__receipt-meta {
  margin-top: 10px !important;
  font-size: 0.78rem !important;
  color: var(--rk-muted) !important;
}

/* === Dedication acknowledgments === */
body.category-csf .csf-confirmation__dedication {
  margin: 0 0 16px 0 !important;
  padding: 14px 16px !important;
  border-radius: var(--rk-radius) !important;
  text-align: center !important;
}
body.category-csf .csf-confirmation__dedication--honor {
  background: #FDF2F4 !important;
  border: 1px solid #F4D5DC !important;
}
body.category-csf .csf-confirmation__dedication--memory {
  background: var(--rk-surface-2) !important;
  border: 1px solid var(--rk-line) !important;
}
body.category-csf .csf-confirmation__dedication--message {
  background: #FFFBEB !important;
  border: 1px solid #F0E4B8 !important;
}
body.category-csf .csf-confirmation__dedication-eyebrow {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}
body.category-csf .csf-confirmation__dedication--honor .csf-confirmation__dedication-eyebrow {
  color: #B23A52 !important;
}
body.category-csf .csf-confirmation__dedication--memory .csf-confirmation__dedication-eyebrow {
  color: #4A5468 !important;
}
body.category-csf .csf-confirmation__dedication--message .csf-confirmation__dedication-eyebrow {
  color: #8A6D11 !important;
}
body.category-csf .csf-confirmation__dedication-name {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--rk-text) !important;
  line-height: 1.3 !important;
}
body.category-csf .csf-confirmation__dedication-note {
  margin-top: 6px !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
  color: var(--rk-text-soft) !important;
}

/* === Share row === */
body.category-csf .csf-confirmation__share {
  margin: 0 0 16px 0 !important;
  padding: 14px 0 0 0 !important;
  border-top: 1px solid var(--rk-line-soft) !important;
  text-align: center !important;
}
body.category-csf .csf-confirmation__share-label {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--rk-muted) !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.02em !important;
}
body.category-csf .csf-confirmation__share .a2a_kit,
body.category-csf .csf-confirmation__share .addtoany_list,
body.category-csf .csf-confirmation__share .addtoany_shortcode {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.category-csf .csf-confirmation__share .a2a_kit a {
  all: revert !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 2px !important;
  border: none !important;
  background: transparent !important;
  border-radius: 4px !important;
  line-height: 0 !important;
  transition: opacity .2s ease, background .2s ease, transform .2s ease !important;
}
body.category-csf .csf-confirmation__share .a2a_kit a:hover {
  opacity: 0.85 !important;
  background: var(--rk-surface-2) !important;
  transform: translateY(-1px) !important;
}
body.category-csf .csf-confirmation__share .a2a_kit a svg,
body.category-csf .csf-confirmation__share .a2a_kit a img {
  width: 30px !important;
  height: 30px !important;
  display: block !important;
}
body.category-csf .csf-confirmation__share .a2a_kit .a2a_label {
  display: none !important;
}

/* === Help line === */
body.category-csf .csf-confirmation__help {
  margin: 8px 0 0 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.5 !important;
  color: var(--rk-muted) !important;
  text-align: center !important;
}
body.category-csf .csf-confirmation__help a {
  color: var(--rk-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 600 !important;
}
body.category-csf .csf-confirmation__help a:hover {
  color: var(--rk-accent-hover) !important;
}

/* === Mobile: same column it's already in === */
@media (max-width: 600px) {
  body.category-csf .csf-confirmation__title { font-size: 1.3rem !important; }
  body.category-csf .csf-confirmation__check { width: 52px !important; height: 52px !important; }
  body.category-csf .csf-confirmation__receipt { padding: 14px 12px !important; }
}

/* Append this to the existing CSF stylesheet (after section 31) */

/*--------------------------------------------------------------
   32. PLEDGE CONFIRMATION (.csf-confirmation--pledge)
   Renders inside .csfpostdonate sidebar after pledge submission
   for Quickpay/Zelle/PayPal, Wire, and Grant Organization.
   Extends the section-31 .csf-confirmation styles with:
     - Clock-icon medallion variant (pending, not complete)
     - Step cards (numbered action blocks)
     - Critical/amber step variant (memo line — load-bearing)
     - Bank details list (dl)
     - Tax receipt note (different from donation receipt)
--------------------------------------------------------------*/

/* === Clock medallion (replaces check for pledge state) === */
body.category-csf .csf-confirmation__check--pledge {
  background: var(--rk-accent) !important;
  /* Same shape and shadow as donation check — different glyph
     (clock icon vs checkmark) communicates "pending, not complete" */
}

/* === Step cards === */
body.category-csf .csf-pledge-step {
  margin: 0 0 14px 0 !important;
  padding: 16px 16px !important;
  background: var(--rk-accent-soft) !important;
  border: 1px solid rgba(30, 115, 190, 0.22) !important;
  border-radius: var(--rk-radius) !important;
  text-align: left !important;
}

body.category-csf .csf-pledge-step__num {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  color: var(--rk-accent-dark) !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

body.category-csf .csf-pledge-step__title {
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  color: var(--rk-text) !important;
  line-height: 1.3 !important;
  margin: 0 0 12px 0 !important;
}

body.category-csf .csf-pledge-step__detail {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--rk-text-soft) !important;
  margin: 0 0 4px 0 !important;
  letter-spacing: 0.02em !important;
}

body.category-csf .csf-pledge-step__copy {
  margin: 0 0 0 0 !important;
}

/* Make sure [bl_copy]'s emitted widget fills the step card width.
   The shortcode ships its own styles; we only intervene to ensure
   the wrapper doesn't get pinched by step-card padding. */
body.category-csf .csf-pledge-step__copy > * {
  max-width: 100% !important;
}

body.category-csf .csf-pledge-step__note {
  margin: 12px 0 0 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
  color: var(--rk-text-soft) !important;
}

/* === Critical step variant (the memo line — failure-mode protection) === */
body.category-csf .csf-pledge-step--critical {
  background: #FFF8E6 !important;
  border-color: #F0D88A !important;
}

body.category-csf .csf-pledge-step__num--critical {
  color: #8A6D11 !important;
}

/* === Bank/grantee details list === */
body.category-csf .csf-pledge-bank {
  margin: 0 0 12px 0 !important;
  padding: 12px 14px !important;
  background: #fff !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-sm) !important;
  display: grid !important;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  column-gap: 14px !important;
  row-gap: 8px !important;
}

body.category-csf .csf-pledge-bank dt {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: var(--rk-muted) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
}

body.category-csf .csf-pledge-bank dd {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--rk-text) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* === Tax-receipt note (different from donation confirmation receipt CARD) === */
body.category-csf .csf-pledge-receipt-note {
  margin: 4px 0 12px 0 !important;
  padding: 10px 12px 10px 14px !important;
  border-left: 3px solid var(--rk-accent) !important;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
  color: var(--rk-text-soft) !important;
  text-align: left !important;
  background: transparent !important;
}

/* === Mobile refinements === */
@media (max-width: 600px) {
  body.category-csf .csf-pledge-step {
    padding: 14px 14px !important;
  }
  body.category-csf .csf-pledge-bank {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 4px !important;
    padding: 10px 12px !important;
  }
  body.category-csf .csf-pledge-bank dt {
    margin-top: 6px !important;
  }
  body.category-csf .csf-pledge-bank dt:first-child {
    margin-top: 0 !important;
  }
}

/* ============================================================
   FONT NORMALIZATION — CSF
   The sitewide rekonect.css @import loads Bricolage Grotesque etc.
   That import runs regardless of body class, so the fonts are
   available on CSF pages even though our body:not() selectors
   exclude the rest of the master styling. Result: headings and
   some form elements inherit the wrong font.

   Force everything inside body.category-csf to use the local
   Merriweather Sans stack defined on body.category-csf itself.
   ============================================================ */

body.category-csf,
body.category-csf h1,
body.category-csf h2,
body.category-csf h3,
body.category-csf h4,
body.category-csf h5,
body.category-csf h6,
body.category-csf p,
body.category-csf span,
body.category-csf a,
body.category-csf li,
body.category-csf div,
body.category-csf label,
body.category-csf button,
body.category-csf input,
body.category-csf select,
body.category-csf textarea,
body.category-csf .csfposttitle,
body.category-csf .csfposttitlename,
body.category-csf .csfpostsubtitle,
body.category-csf #donateto,
body.category-csf .csfpostdescription,
body.category-csf .csfpostdescription *,
body.category-csf .csfpostdonate,
body.category-csf .csfpostdonate *,
body.category-csf .csfpostdonations,
body.category-csf .csfpostdonations *,
body.category-csf .csfpostcontact,
body.category-csf .csfpostcontact *,
body.category-csf .csflinkbyfooter,
body.category-csf .csflinkbyfooter *,
body.category-csf .csfpostfaq,
body.category-csf .csfpostfaq *,
body.category-csf .csf-confirmation,
body.category-csf .csf-confirmation *,
body.category-csf .csf-pledge-step,
body.category-csf .csf-pledge-step *,
body.category-csf .csf-trust-pill,
body.category-csf .bl-tabs,
body.category-csf .bl-tabs *,
body.category-csf .custom-carousel-wrapper,
body.category-csf .custom-carousel-wrapper *,
body.category-csf .gform_wrapper,
body.category-csf .gform_wrapper *,
body.category-csf .gv-container,
body.category-csf .gv-container *,
body.category-csf .gv-list-view,
body.category-csf .gv-list-view *,
body.category-csf .ma-wrapper,
body.category-csf .ma-wrapper *,
body.category-csf .site-footer,
body.category-csf .site-footer *,
body.category-csf footer.site-info,
body.category-csf footer.site-info * {
  font-family: "Merriweather Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* The .bl-copythis__value should stay monospaced — it shows a URL */
body.category-csf .bl-tabs__panel-inner .bl-copythis__value {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace !important;
}

/* Allow JetBrains Mono in the footer ONLY on legal pills/tags
   (the new sitewide footer uses mono for legal text), but only
   if the .rk-footer block is present on a CSF page — the
   addendum we made earlier for CSF/SIC footers should still
   render in its intended typography. */
body.category-csf .rk-footer .rk-footer__legal,
body.category-csf .rk-footer .rk-footer__legal *,
body.category-csf .rk-footer .rk-footer__legal-tag,
body.category-csf .rk-footer .rk-footer__stat-label,
body.category-csf .rk-footer .rk-footer__col-title {
  font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace !important;
}

body.category-csf .rk-footer__stat-value {
  font-family: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif !important;
}

body.category-csf .rk-footer__tagline {
  font-family: "Fraunces", "Iowan Old Style", Georgia, serif !important;
}

/* Keep the rest of the footer body text in Merriweather Sans for
   consistency with the page above it. */
body.category-csf .rk-footer,
body.category-csf .rk-footer p,
body.category-csf .rk-footer li,
body.category-csf .rk-footer a,
body.category-csf .rk-footer .rk-footer__blurb,
body.category-csf .rk-footer .rk-footer__col li,
body.category-csf .rk-footer .rk-footer__col a {
  font-family: "Merriweather Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/*--------------------------------------------------------------
   SWIPER WIDTH OVERRIDE — maximum specificity
   Wins against any other stylesheet's .swiper-slide width rule
   by chaining the class three times. Only loses to inline !important.
--------------------------------------------------------------*/
body.category-csf .csfpostdonate .swiper-wrapper.swiper-wrapper.swiper-wrapper,
body.category-csf .csfpostdonate .gform-body.swiper-wrapper.swiper-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  transform: translate3d(0, 0, 0) !important;
}

body.category-csf .csfpostdonate .swiper-slide.swiper-slide.swiper-slide,
body.category-csf .csfpostdonate .gform_page.swiper-slide.swiper-slide {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Per-page translate, now extended to all 4 pages.
   Triple-chained for specificity. */
body.category-csf .csfpostdonate .swiper-wrapper.swiper-wrapper.swiper-wrapper:has(> .gform_page:nth-child(1).swiper-slide-active) {
  transform: translate3d(0, 0, 0) !important;
}
body.category-csf .csfpostdonate .swiper-wrapper.swiper-wrapper.swiper-wrapper:has(> .gform_page:nth-child(2).swiper-slide-active) {
  transform: translate3d(-100%, 0, 0) !important;
}
body.category-csf .csfpostdonate .swiper-wrapper.swiper-wrapper.swiper-wrapper:has(> .gform_page:nth-child(3).swiper-slide-active) {
  transform: translate3d(-200%, 0, 0) !important;
}
body.category-csf .csfpostdonate .swiper-wrapper.swiper-wrapper.swiper-wrapper:has(> .gform_page:nth-child(4).swiper-slide-active) {
  transform: translate3d(-300%, 0, 0) !important;
}

/* ============================================================
   CSF — PAYMENT-PAGE INSTRUCTION NOTES
   Appears above card fields or the connect button on the final
   page of the donation form. Sized to stay under ~1/3 of a
   mobile viewport.
   ============================================================ */

body.category-csf .rk-pay-note {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  margin: 0 0 1rem;
  background: var(--rk-surface, #FFFFFF);
  border: 1px solid var(--rk-border, rgba(6, 8, 12, 0.08));
  border-left: 3px solid var(--rk-accent, #3FA5DD);
  border-radius: 12px;
  font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
  color: var(--rk-text, #1A1F2A);
  box-shadow: 0 1px 2px rgba(6, 8, 12, 0.03);
}

body.category-csf .rk-pay-note__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

body.category-csf .rk-pay-note__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--rk-accent-soft, rgba(63, 165, 221, 0.08));
  font-size: 0.95rem;
  line-height: 1;
}

body.category-csf .rk-pay-note__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--rk-text, #1A1F2A);
}

body.category-csf .rk-pay-note__body {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--rk-text-muted, #4A5563);
}

body.category-csf .rk-pay-note__body strong {
  color: var(--rk-text, #1A1F2A);
  font-weight: 600;
}

/* Per-method accent stripes + icon backdrops */
body.category-csf .rk-pay-note--gpay   { border-left-color: #4285F4; }
body.category-csf .rk-pay-note--gpay   .rk-pay-note__icon { background: rgba(66, 133, 244, 0.10); }

body.category-csf .rk-pay-note--apay   { border-left-color: #000000; }
body.category-csf .rk-pay-note--apay   .rk-pay-note__icon { background: #000; color: #fff; font-size: 1rem; }

body.category-csf .rk-pay-note--paypal { border-left-color: #003087; }
body.category-csf .rk-pay-note--paypal .rk-pay-note__icon { background: rgba(0, 48, 135, 0.10); }

body.category-csf .rk-pay-note--ach    { border-left-color: #00B86B; }
body.category-csf .rk-pay-note--ach    .rk-pay-note__icon { background: rgba(0, 184, 107, 0.10); }

/* Card uses the default --rk-accent — no override needed */

@media (max-width: 480px) {
  body.category-csf .rk-pay-note        { padding: 0.75rem 0.875rem; gap: 0.375rem; }
  body.category-csf .rk-pay-note__title { font-size: 0.9rem; }
  body.category-csf .rk-pay-note__body  { font-size: 0.8rem; line-height: 1.4; }
  body.category-csf .rk-pay-note__icon  { width: 1.5rem; height: 1.5rem; font-size: 0.85rem; }
}

/*==============================================================
   CSF Donation Page — Fixes Addendum v5.3
   
   Append to the end of the existing CSF stylesheet.
   Pairs with csf-fixes.js v5.3.
   
   What's different from v5.2:
   - Works WITH the bl-accordion plugin's existing pseudo-elements
     (.blacc-header::before = "Change" label, ::after = chevron)
     instead of trying to inject our own. The plugin's specificity
     was beating us.
   - The title is hidden until JS splits it (no flash of "Donate to").
   - All vertical whitespace between title and first accordion is
     stripped aggressively.
==============================================================*/


/*--------------------------------------------------------------
   FIX 1: Title — eyebrow + program name, no flash
   The title is invisible until the JS runs and adds .csf-title-ready
   to the heading. The JS runs synchronously on DOMContentLoaded
   (or immediately if DOM is ready), so the gap is imperceptible.
--------------------------------------------------------------*/

/* Kill any pre-existing ::before on the title from the base stylesheet */
body.category-csf .csfpostdonate > #donateto::before,
body.category-csf .csfpostdonate > .csfpostsubtitle::before {
  content: none !important;
  display: none !important;
}

/* Hide the title until JS marks it ready — no flash of "Donate to X" */
body.category-csf .csfpostdonate #donateto,
body.category-csf .csfpostdonate .csfpostsubtitle {
  visibility: hidden !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.category-csf .csfpostdonate #donateto.csf-title-ready,
body.category-csf .csfpostdonate .csfpostsubtitle.csf-title-ready {
  visibility: visible !important;
  margin: 0 0 12px 0 !important;
}

/* Tighten the outer sidebar padding so title sits close to top edge */
body.category-csf .csfpostdonate {
  padding: 10px 14px !important;
}

body.category-csf .csfpostdonate .csf-title-eyebrow {
  display: inline-block !important;
  margin: 0 0 3px 0 !important;
  padding: 4px 10px !important;
  background: var(--rk-accent-soft) !important;
  border: 1px solid rgba(30,115,190,.22) !important;
  border-radius: var(--rk-radius-full) !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--rk-accent-dark) !important;
  line-height: 1 !important;
}

body.category-csf .csfpostdonate .csf-title-name {
  display: block !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.2 !important;
  color: var(--rk-text) !important;
  text-wrap: balance !important;
}

/* Kill the empty <p> and <br> tags between title and form that
   are baked into the page template. They were adding ~32px + a
   line-height of whitespace right where we want it tightest. */
body.category-csf .csfpostdonate > p:empty,
body.category-csf .csfpostdonate > br {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* The <p> isn't truly "empty" — it contains tab characters. We
   detect "effectively empty" paragraphs by hiding any <p> that has
   no child elements and only whitespace text. The :has() selector
   handles this; combined with :not(:has(*)) we get whitespace-only
   paragraphs. */
body.category-csf .csfpostdonate > p:not(:has(*)):not(.csf-progress-meta) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}


/*--------------------------------------------------------------
   FIX 2: Donor Login as button under trust pills
   (unchanged from v5.2 — this worked)
--------------------------------------------------------------*/

body.category-csf .csfpostdonate {
  display: flex !important;
  flex-direction: column !important;
}

body.category-csf .csfpostdonate > * { order: 5; }

body.category-csf .csfpostdonate > #donateto,
body.category-csf .csfpostdonate > .csfpostsubtitle { order: 1 !important; }

body.category-csf .csfpostdonate > p:not(:has(.go-modal__trigger)) { order: 2 !important; }

body.category-csf .csfpostdonate > .gf-cache-buster-form-container,
body.category-csf .csfpostdonate > [id^="gform_wrapper_"],
body.category-csf .csfpostdonate > form { order: 3 !important; }

body.category-csf .csfpostdonate > .csf-trust-pills { order: 4 !important; }

body.category-csf .csfpostdonate > .go-modal {
  order: 6 !important;
  display: block !important;
  width: 100% !important;
  margin: 14px 0 0 0 !important;
}

body.category-csf .csfpostdonate > .go-modal > .go-modal__trigger,
body.category-csf .csfpostdonate > .go-modal > a.go-modal__trigger,
body.category-csf .csfpostdonate > .go-modal > .go-modal__trigger--link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  background: #fff !important;
  border: 1.5px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-full) !important;
  font-family: inherit !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: var(--rk-text-soft) !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  box-shadow: var(--rk-shadow-sm) !important;
  cursor: pointer !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}

body.category-csf .csfpostdonate > .go-modal > .go-modal__trigger:hover,
body.category-csf .csfpostdonate > .go-modal > a.go-modal__trigger:hover {
  background: var(--rk-surface-2) !important;
  border-color: var(--rk-accent) !important;
  color: var(--rk-accent) !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

body.category-csf .csfpostdonate > .go-modal > .go-modal__trigger::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23575760' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  flex-shrink: 0 !important;
  position: static !important;
  opacity: 1 !important;
  transition: filter 0.2s ease !important;
}
body.category-csf .csfpostdonate > .go-modal > .go-modal__trigger:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e73be' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}


/*--------------------------------------------------------------
   FIX 3: Aggressively kill space above the form
--------------------------------------------------------------*/

body.category-csf .csfpostdonate .gform_wrapper {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.category-csf .csfpostdonate .gform_wrapper .gform_heading,
body.category-csf .csfpostdonate .gform_wrapper > .gform_heading {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

body.category-csf .csfpostdonate .gform_wrapper .gform_fields {
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Section-group wrappers — collapse so they don't add layout overhead */
body.category-csf .csfpostdonate .donation-method,
body.category-csf .csfpostdonate .donation-amount,
body.category-csf .csfpostdonate .dedicate-donation,
body.category-csf .csfpostdonate .your-info,
body.category-csf .csfpostdonate .your-donation,
body.category-csf .csfpostdonate .your-address {
  display: contents !important;
}

body.category-csf .csfpostdonate .gform_page,
body.category-csf .csfpostdonate .gform_page_fields,
body.category-csf .csfpostdonate .swiper-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Kill the plugin's `margin: 14px 0 10px` on accordion headers */
body.category-csf .csfpostdonate .gform_fields .gfield.gsection.blacc-header,
body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/*--------------------------------------------------------------
   FIX 4 + 5: Accordion headers — work WITH the plugin's pseudos
   
   The bl-accordion plugin renders:
     - ::before = "Change" label (positioned absolute, right:44px)
     - ::after  = "⌄" chevron (positioned absolute, right:18px)
   
   Plugin selector specificity: .gform_wrapper .gfield.gsection.blacc-header
   To win we use: body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header
   (one type selector + 4 class selectors + descendant chain)
--------------------------------------------------------------*/

/* Outer box — soft-blue card with subtle blue border, no side stripe.
   Matches the earlier light-blue look that visually broke up the form. */
body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header {
  display: grid !important;
  grid-template-columns: 1fr 78px !important;
  grid-template-rows: auto auto !important;
  grid-template-areas:
    "title  indicator"
    "desc   indicator" !important;
  column-gap: 10px !important;
  row-gap: 2px !important;
  align-items: center !important;

  padding: 11px 14px !important;
  margin: 0 !important;

  background: var(--rk-accent-soft) !important;
  border: 1px solid rgba(30,115,190,.22) !important;
  border-radius: var(--rk-radius) !important;
  box-shadow: none !important;

  cursor: pointer !important;
  transition: background .2s ease, border-color .2s ease !important;
  position: relative !important;
}

body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header:hover {
  background: #d9eaf6 !important;
  border-color: rgba(30,115,190,.4) !important;
  box-shadow: none !important;
  transform: none !important;
}
body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header:active {
  transform: none !important;
}
body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header:focus,
body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header:focus-visible {
  outline: none !important;
  border-color: var(--rk-accent) !important;
  box-shadow: 0 0 0 3px var(--rk-accent-glow) !important;
}

/* Open state — go to white so it's visually distinct from closed
   (closed = action available, open = currently editing) */
body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header[aria-expanded="true"] {
  background: var(--rk-surface) !important;
  border-color: var(--rk-line) !important;
  box-shadow: none !important;
}

/* Title */
body.category-csf .csfpostdonate .gform_wrapper .blacc-header h3.gsection_title,
body.category-csf .csfpostdonate .gform_wrapper .blacc-header h2.gsection_title,
body.category-csf .csfpostdonate .gform_wrapper .blacc-header .gsection_title {
  grid-area: title !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--rk-text) !important;
  line-height: 1.2 !important;
}

/* Description */
body.category-csf .csfpostdonate .gform_wrapper .blacc-header .gsection_description {
  grid-area: desc !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--rk-text-soft) !important;
  line-height: 1.35 !important;
  min-width: 0 !important;
  opacity: 1 !important;
}

body.category-csf .csfpostdonate .gform_wrapper .blacc-header .bl-icon-line {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.category-csf .csfpostdonate .gform_wrapper .blacc-header .bl-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 14px !important;
  height: 14px !important;
  color: var(--rk-accent) !important;
}
body.category-csf .csfpostdonate .gform_wrapper .blacc-header .bl-icon svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
}
body.category-csf .csfpostdonate .gform_wrapper .blacc-header .bl-icon-text {
  display: inline !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: var(--rk-text-soft) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
}
body.category-csf .csfpostdonate .gform_wrapper .blacc-header .bl-icon-text strong {
  font-weight: 700 !important;
  color: var(--rk-text) !important;
}
body.category-csf .csfpostdonate .gform_wrapper .blacc-header .bl-icon-line br {
  display: none !important;
}

/* ===== PLUGIN'S ::before "CHANGE" LABEL =====
   Reskin: smaller text, brand color, tucked to the right edge.
   Specificity ladder includes form ID to match the plugin's rule. */
body.category-csf .csfpostdonate .gform_wrapper .blacc-header::before,
body.category-csf .csfpostdonate #gform_wrapper_7 .blacc-header::before,
body.category-csf .csfpostdonate .gform_wrapper #gform_7 .blacc-header::before {
  content: "Change" !important;
  right: 30px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--rk-accent) !important;
  line-height: 1 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* Hover */
body.category-csf .csfpostdonate .gform_wrapper .blacc-header:hover::before,
body.category-csf .csfpostdonate #gform_wrapper_7 .blacc-header:hover::before,
body.category-csf .csfpostdonate .gform_wrapper #gform_7 .blacc-header:hover::before {
  color: var(--rk-accent-hover) !important;
  opacity: 1 !important;
}

/* ===== PLUGIN'S ::after CHEVRON =====
   Restyle: smaller, brand color, tucked tighter to the edge.
   Hide entirely when open — CLOSE text alone is clearer than
   CLOSE + a rotated chevron that conflicts with the label. */
body.category-csf .csfpostdonate .gform_wrapper .blacc-header::after {
  right: 12px !important;
  font-size: 18px !important;
  color: var(--rk-accent) !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}
body.category-csf .csfpostdonate .gform_wrapper .blacc-header[aria-expanded="true"]::after,
body.category-csf .csfpostdonate #gform_wrapper_7 .blacc-header[aria-expanded="true"]::after,
body.category-csf .csfpostdonate .gform_wrapper #gform_7 .blacc-header[aria-expanded="true"]::after {
  display: none !important;
  content: none !important;
}

/* When open, move "Close" to the chevron's slot (right edge) since
   the chevron is hidden */
body.category-csf .csfpostdonate .gform_wrapper .blacc-header[aria-expanded="true"]::before,
body.category-csf .csfpostdonate #gform_wrapper_7 .blacc-header[aria-expanded="true"]::before,
body.category-csf .csfpostdonate .gform_wrapper #gform_7 .blacc-header[aria-expanded="true"]::before {
  content: "Close" !important;
  color: var(--rk-accent-dark) !important;
  opacity: 1 !important;
  right: 14px !important;
}


/*--------------------------------------------------------------
   FIX 6: "How would you like to donate?" radio — 2×3 grid
--------------------------------------------------------------*/

body.category-csf .csfpostdonate #field_7_1 .gfield_radio,
body.category-csf .csfpostdonate fieldset#field_7_1 .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  flex-direction: unset !important;
  gap: 8px !important;
}

body.category-csf .csfpostdonate #field_7_1 .gfield_radio .gchoice,
body.category-csf .csfpostdonate fieldset#field_7_1 .gfield_radio .gchoice {
  display: flex !important;
  width: 100% !important;
}
body.category-csf .csfpostdonate #field_7_1 .gfield_radio .gchoice label,
body.category-csf .csfpostdonate fieldset#field_7_1 .gfield_radio .gchoice label {
  width: 100% !important;
  min-width: 0 !important;
}


/*--------------------------------------------------------------
   FIX 7: Donation Type (One Time / Recurring) — 2-col pills
--------------------------------------------------------------*/

body.category-csf .csfpostdonate #field_7_13 {
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  border: none !important;
}

body.category-csf .csfpostdonate #field_7_13 > .gfield_label,
body.category-csf .csfpostdonate #field_7_13 > legend.gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.category-csf .csfpostdonate #field_7_13 .gfield_radio,
body.category-csf .csfpostdonate fieldset#field_7_13 .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  flex-direction: unset !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.category-csf .csfpostdonate #field_7_13 .gfield_radio .gchoice,
body.category-csf .csfpostdonate fieldset#field_7_13 .gfield_radio .gchoice {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
}

body.category-csf .csfpostdonate #field_7_13 .gfield_radio .gchoice label,
body.category-csf .csfpostdonate fieldset#field_7_13 .gfield_radio .gchoice label {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.category-csf .csfpostdonate #field_7_85 {
  margin-top: 2px !important;
}
body.category-csf .csfpostdonate #field_7_85 p {
  margin: 0 !important;
  padding-top: 2px !important;
  font-size: 0.78rem !important;
  text-align: center !important;
  color: var(--rk-muted) !important;
}


/*--------------------------------------------------------------
   "Your Donation" mini-header
--------------------------------------------------------------*/
body.category-csf .csfpostdonate #field_7_79.gsection,
body.category-csf .csfpostdonate .your-donation > .gsection:not(.bl-accordion) {
  border: none !important;
  padding: 6px 0 0 0 !important;
  margin: 4px 0 0 0 !important;
}
body.category-csf .csfpostdonate #field_7_79 .gsection_title {
  text-align: center !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
}

/*==============================================================
   CSF — Tech Support Trigger Buttons (restore)

   Restores the pill-button styling for the Donor Login and
   Technical Support links in the sidebar. This is v1's
   sections 33 + 34 verbatim — drop it in alongside v3.

   The triggers themselves never move (only the dialog gets
   reparented to <body> when opened), so .donorloginmodal /
   .technicalsupport remain valid ancestor selectors.
==============================================================*/


/*--------------------------------------------------------------
   33. TRIGGER BUTTONS — Donor Login + Technical Support
--------------------------------------------------------------*/

/* Sit under the trust pills */
body.category-csf .csfpostdonate > .donorloginmodal  { order: 6 !important; }
body.category-csf .csfpostdonate > .technicalsupport { order: 7 !important; }

body.category-csf .csfpostdonate .donorloginmodal,
body.category-csf .csfpostdonate .technicalsupport {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

body.category-csf .csfpostdonate .donorloginmodal {
  margin: 14px 0 6px 0 !important;
}
body.category-csf .csfpostdonate .technicalsupport {
  margin: 0 !important;
}

body.category-csf .csfpostdonate .donorloginmodal > .go-modal,
body.category-csf .csfpostdonate .technicalsupport > .go-modal {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Shared button shell */
body.category-csf .csfpostdonate .donorloginmodal .go-modal__trigger,
body.category-csf .csfpostdonate .technicalsupport .go-modal__trigger,
body.category-csf .csfpostdonate .donorloginmodal a.go-modal__trigger,
body.category-csf .csfpostdonate .technicalsupport a.go-modal__trigger,
body.category-csf .csfpostdonate .donorloginmodal .go-modal__trigger--link,
body.category-csf .csfpostdonate .technicalsupport .go-modal__trigger--link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  background: #fff !important;
  border: 1.5px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-full) !important;
  font-family: inherit !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: var(--rk-text-soft) !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  box-shadow: var(--rk-shadow-sm) !important;
  cursor: pointer !important;
  transition:
    background .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease !important;
}

body.category-csf .csfpostdonate .donorloginmodal .go-modal__trigger:hover,
body.category-csf .csfpostdonate .technicalsupport .go-modal__trigger:hover {
  background: var(--rk-surface-2) !important;
  border-color: var(--rk-accent) !important;
  color: var(--rk-accent) !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

/* DONOR LOGIN — person/account icon */
body.category-csf .csfpostdonate .donorloginmodal .go-modal__trigger::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23575760' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  flex-shrink: 0 !important;
  transition: filter 0.2s ease !important;
}
body.category-csf .csfpostdonate .donorloginmodal .go-modal__trigger:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e73be' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}

/* TECHNICAL SUPPORT — life-ring icon, de-emphasized as secondary */
body.category-csf .csfpostdonate .technicalsupport .go-modal__trigger {
  font-size: 0.78rem !important;
  padding: 9px 18px !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--rk-muted) !important;
}
body.category-csf .csfpostdonate .technicalsupport .go-modal__trigger:hover {
  background: var(--rk-surface-2) !important;
  border-color: var(--rk-line) !important;
  color: var(--rk-accent) !important;
}
body.category-csf .csfpostdonate .technicalsupport .go-modal__trigger::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M5.6 5.6l2.4 2.4'/%3E%3Cpath d='M16 16l2.4 2.4'/%3E%3Cpath d='M5.6 18.4L8 16'/%3E%3Cpath d='M16 8l2.4-2.4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  flex-shrink: 0 !important;
  transition: filter 0.2s ease !important;
}
body.category-csf .csfpostdonate .technicalsupport .go-modal__trigger:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e73be' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M5.6 5.6l2.4 2.4'/%3E%3Cpath d='M16 16l2.4 2.4'/%3E%3Cpath d='M5.6 18.4L8 16'/%3E%3Cpath d='M16 8l2.4-2.4'/%3E%3C/svg%3E") !important;
}


/*--------------------------------------------------------------
   34. OVERLAY VISIBILITY — keep tech support modal openable

   The base stylesheet's section 2 force-hides every
   .go-modal__overlay under .csfpostdonate (to suppress donor
   login's inline-rendered overlay). The technical-support
   modal is also under .csfpostdonate, so the same rule was
   hiding it. Re-enable visibility specifically for it, while
   still respecting the hidden / aria-hidden attributes the
   plugin toggles when closed.
--------------------------------------------------------------*/

body.category-csf .csfpostdonate .technicalsupport .go-modal__overlay,
body.category-csf .csfpostdonate .technicalsupport .go-modal__backdrop,
body.category-csf .csfpostdonate .technicalsupport .go-modal__dialog {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: fixed !important;
  left: 0 !important;
}
body.category-csf .csfpostdonate .technicalsupport .go-modal__overlay[hidden],
body.category-csf .csfpostdonate .technicalsupport .go-modal__overlay[aria-hidden="true"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/*==============================================================
   END — Trigger restore
==============================================================*/


/*--------------------------------------------------------------
   Trust pills spacing
--------------------------------------------------------------*/
body.category-csf .csfpostdonate .csf-trust-pills {
  margin-top: 12px !important;
  border-top: 1px solid var(--rk-line) !important;
  padding-top: 12px !important;
  padding-bottom: 0 !important;
}


/*--------------------------------------------------------------
   MOBILE refinements
--------------------------------------------------------------*/
@media (max-width: 600px) {
  body.category-csf .csfpostdonate #field_7_1 .gfield_radio {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.category-csf .csfpostdonate #field_7_13 .gfield_radio {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.category-csf .csfpostdonate .gform_wrapper .gfield.gsection.blacc-header {
    padding: 10px 12px !important;
    grid-template-columns: 1fr 68px !important;
  }
  body.category-csf .csfpostdonate .gform_wrapper .blacc-header::before {
    font-size: 0.62rem !important;
    right: 26px !important;
  }
  body.category-csf .csfpostdonate .gform_wrapper .blacc-header::after {
    font-size: 16px !important;
    right: 10px !important;
  }
}

/*==============================================================
   END FIXES ADDENDUM v5.3
==============================================================*/

/*--------------------------------------------------------------
   v5.7 SURGICAL PATCH — append at the very end of csf-fixes.css
   - Center the title block (eyebrow + program name)
   - Replace pill with eyebrow text flanked by hairlines
--------------------------------------------------------------*/

/* Center the whole title block */
body.category-csf .csfpostdonate #donateto.csf-title-ready,
body.category-csf .csfpostdonate .csfpostsubtitle.csf-title-ready {
  text-align: center !important;
}

body.category-csf .csfpostdonate .csf-title-name {
  text-align: center !important;
}

/* Eyebrow: text with a hairline on each side. Built with flex +
   pseudo-elements so the lines auto-size to fill the row. */
body.category-csf .csfpostdonate .csf-title-eyebrow {
  /* Reset the pill chrome */
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;

  /* Lay out as a flex row: line — text — line */
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 6px 0 !important;

  /* Type */
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--rk-muted) !important;
  line-height: 1 !important;
}

body.category-csf .csfpostdonate .csf-title-eyebrow::before,
body.category-csf .csfpostdonate .csf-title-eyebrow::after {
  content: "" !important;
  flex: 1 1 auto !important;
  height: 1px !important;
  background: var(--rk-line) !important;
  display: block !important;
}

/*==============================================================
   CSF — Technical Support Addendum v3

   REPLACES v2 entirely. Keep v1's sections 33 + 34 in place;
   they style the trigger anchors and overlay visibility and
   still work. Delete v2's sections 35-v2 through 42-v2 before
   appending this — or just append this; v3's specificity is
   higher than v2's where they overlap.

   What v2 got wrong:
   v2 assumed .gform_fields had a flat list of .gfield children
   and forced a 12-col grid on it. But Gravity Forms wraps the
   fields between each <gsection> into a slug-named div:
       .gform_fields
         > .gfield (Username, hidden)
         > .technical-support-request-form
             > .gfield.gsection (the section divider)
             > .gfield  (Name)
             > .gfield  (Email)
             > ...
         > .what-went-wrong?
             > .gfield.gsection
             > .gfield  ...
         > .technical-context
             > ...
         > .steps-to-reproduce
             > ...
   So .gform_fields has 5 direct children (1 hidden + 4 wrappers),
   and v2's grid placed each wrapper into a 12-col grid cell.
   Combined with some upstream rule on .gform_fields that
   flex-row's it, the 4 wrappers laid out side-by-side as the
   "4 columns" we kept seeing.

   v3 fix:
   - Force .gform_fields to be a normal block (no flex, no grid).
   - Force every section-wrapper to be a normal block.
   - Apply the 12-col grid INSIDE each section wrapper, where the
     actual .gfield children live.
   - Size the dialog explicitly (GoModal has no default width
     wide enough for this form).

   Field-id quick reference (form 42):
     38 = section "Technical Support Request Form"
     43 = section "What Went Wrong?"
     47 = section "Technical Context"
     75 = section "Steps to Reproduce"
     4  = Name (width-half)
     6  = Email (width-half)
     31 = Username (hidden)
     39 = Screenshot HTML block
     46 = Browser Details (hidden)
     48 = Console Log (hidden)
     63 = Screenshot base64 (hidden)
     64 = URL base64 (hidden)
     65 = Data Consent checkbox
     69 = "In what browser..." (gf_list_inline)
==============================================================*/


/*--------------------------------------------------------------
   35-v3. DIALOG SIZING — give it room

   GoModal's default dialog width is too narrow for this form.
   The dialog has no .technicalsupport ancestor (it's reparented
   to <body>), but we can identify it by the form it contains.
--------------------------------------------------------------*/

/* Match any go-modal__dialog that contains form 42. */
.go-modal__dialog:has(#gform_wrapper_42) {
  width: min(880px, calc(100vw - 32px)) !important;
  max-width: 880px !important;
  max-height: calc(100vh - 48px) !important;
  padding: 0 !important;
  background: #fff !important;
  border-radius: var(--rk-radius-lg, 14px) !important;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.go-modal__dialog:has(#gform_wrapper_42) .go-modal__header {
  flex: 0 0 auto !important;
  padding: 18px 24px !important;
  border-bottom: 1px solid var(--rk-line, #e5e7eb) !important;
  background: #fff !important;
}

.go-modal__dialog:has(#gform_wrapper_42) .go-modal__title {
  margin: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--rk-text, #222) !important;
  font-family: "Merriweather Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.go-modal__dialog:has(#gform_wrapper_42) .go-modal__body {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  padding: 22px 26px 26px 26px !important;
  background: #fff !important;
}


/*--------------------------------------------------------------
   36-v3. WRAPPER + FORM — kill any row-flex on the field list

   This is the THE fix for the 4-column rendering. We force
   .gform_fields to behave as a regular block container. Then we
   force each section-wrapper div (the auto-generated slug divs)
   to also be a regular block. NEITHER level should ever flex.
--------------------------------------------------------------*/

#gform_wrapper_42,
#gform_wrapper_42.gform_wrapper {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#gform_42,
form#gform_42 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: unset !important;
}

#gform_42 .gform-body,
#gform_42 .gform_body {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-direction: unset !important;
}

/* THE critical rule: .gform_fields is a plain block container,
   children stack normally, no grid, no flex. */
#gform_fields_42,
#gform_wrapper_42 .gform_fields {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  /* belt-and-suspenders: kill any inherited flex/grid */
  flex-direction: unset !important;
  flex-wrap: unset !important;
  grid-template-columns: unset !important;
  grid-template-rows: unset !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

/* Section wrappers — block-level, full width, with vertical
   spacing between them. These are the slug-named divs that
   wrap each section. */
#gform_wrapper_42 .technical-support-request-form,
#gform_wrapper_42 .what-went-wrong\?,
#gform_wrapper_42 [class*="what-went-wrong"],
#gform_wrapper_42 .technical-context,
#gform_wrapper_42 .steps-to-reproduce {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  flex: unset !important;
  float: none !important;
  clear: both !important;
}
#gform_wrapper_42 .steps-to-reproduce {
  margin-bottom: 0 !important;
}


/*--------------------------------------------------------------
   37-v3. SECTION INTERNALS — 12-col grid INSIDE each wrapper

   Each section-wrapper div has its own internal layout. Inside,
   we put the 12-col grid so half-width Name + Email actually
   sit side-by-side, and everything else spans 12.

   Note: the .gsection divider itself is the first child of each
   wrapper; we force it full-width (span 12).
--------------------------------------------------------------*/

#gform_wrapper_42 .technical-support-request-form,
#gform_wrapper_42 [class*="what-went-wrong"],
#gform_wrapper_42 .technical-context,
#gform_wrapper_42 .steps-to-reproduce {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  column-gap: 16px !important;
  row-gap: 16px !important;
}

/* Every direct .gfield child spans 12 cols by default */
#gform_wrapper_42 .technical-support-request-form > .gfield,
#gform_wrapper_42 [class*="what-went-wrong"] > .gfield,
#gform_wrapper_42 .technical-context > .gfield,
#gform_wrapper_42 .steps-to-reproduce > .gfield {
  grid-column: span 12 !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: unset !important;
  float: none !important;
  list-style: none !important;
}

/* Apply width helpers as col-span overrides */
#gform_wrapper_42 .gfield--width-full     { grid-column: span 12 !important; }
#gform_wrapper_42 .gfield--width-half     { grid-column: span 6  !important; }
#gform_wrapper_42 .gfield--width-third    { grid-column: span 4  !important; }
#gform_wrapper_42 .gfield--width-two-thirds { grid-column: span 8 !important; }
#gform_wrapper_42 .gfield--width-quarter  { grid-column: span 3  !important; }

/* Sections always full width — they're typographic dividers, not
   layout-affecting elements. */
#gform_wrapper_42 .gfield.gsection {
  grid-column: 1 / -1 !important;
  display: block !important;
  margin: 4px 0 4px 0 !important;
  padding: 0 0 6px 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--rk-line, #e5e7eb) !important;
  background: transparent !important;
}
#gform_wrapper_42 .gsection_title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--rk-text, #222) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  font-family: "Merriweather Sans", sans-serif !important;
}

/* The first section's divider has nothing above it inside its
   wrapper — kill the top margin so it doesn't double-space
   below the wrapper's bottom-margin from the previous section. */
#gform_wrapper_42 .technical-support-request-form > .gfield.gsection:first-child,
#gform_wrapper_42 [class*="what-went-wrong"] > .gfield.gsection:first-child,
#gform_wrapper_42 .technical-context > .gfield.gsection:first-child,
#gform_wrapper_42 .steps-to-reproduce > .gfield.gsection:first-child {
  margin-top: 0 !important;
}

/* Mobile: collapse to single column inside each wrapper */
@media (max-width: 720px) {
  #gform_wrapper_42 .technical-support-request-form,
  #gform_wrapper_42 [class*="what-went-wrong"],
  #gform_wrapper_42 .technical-context,
  #gform_wrapper_42 .steps-to-reproduce {
    grid-template-columns: 1fr !important;
    column-gap: 12px !important;
    row-gap: 14px !important;
  }
  #gform_wrapper_42 .technical-support-request-form > .gfield,
  #gform_wrapper_42 [class*="what-went-wrong"] > .gfield,
  #gform_wrapper_42 .technical-context > .gfield,
  #gform_wrapper_42 .steps-to-reproduce > .gfield,
  #gform_wrapper_42 .gfield--width-full,
  #gform_wrapper_42 .gfield--width-half,
  #gform_wrapper_42 .gfield--width-third,
  #gform_wrapper_42 .gfield--width-two-thirds,
  #gform_wrapper_42 .gfield--width-quarter {
    grid-column: 1 !important;
  }
}


/*--------------------------------------------------------------
   38-v3. LABELS / TYPOGRAPHY inside the form

   Pin everything to expected size + color. The base stylesheet's
   .csfposttitle (giant brand-blue) was bleeding onto the h4
   inside field 39's HTML content ("Screenshot (required but
   easy)") — kill that bleed by setting the h4 explicitly.
--------------------------------------------------------------*/

#gform_wrapper_42 .gform_heading {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  border: none !important;
}
#gform_wrapper_42 .gform_required_legend {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  color: var(--rk-muted, #6b7280) !important;
  text-align: left !important;
}

#gform_wrapper_42 .gfield_label,
#gform_wrapper_42 legend.gfield_label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--rk-text, #222) !important;
  text-align: left !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.35 !important;
  border: none !important;
  font-family: "Merriweather Sans", sans-serif !important;
}
#gform_wrapper_42 .gfield_required {
  color: var(--rk-accent, #1e73be) !important;
  margin-left: 3px !important;
}
#gform_wrapper_42 .gfield_description {
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  font-size: 0.8rem !important;
  color: var(--rk-muted, #6b7280) !important;
  text-align: left !important;
  line-height: 1.45 !important;
  font-family: "Merriweather Sans", sans-serif !important;
}

/* The "Screenshot (required but easy)" h4 lives inside a
   gfield_html block. Kill the .csfposttitle-like inherited
   treatment. */
#gform_wrapper_42 .gfield_html h4 {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--rk-text, #222) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: "Merriweather Sans", sans-serif !important;
}
#gform_wrapper_42 .gfield_html p {
  margin: 0 0 8px 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  color: var(--rk-text-soft, #575760) !important;
}
#gform_wrapper_42 .gfield_html p:last-child {
  margin-bottom: 0 !important;
}


/*--------------------------------------------------------------
   39-v3. INPUTS — width + box-sizing only
   The base stylesheet's input rules (height, border, padding,
   focus ring) look correct. Don't restate them — just contain
   the inputs to their grid cells.
--------------------------------------------------------------*/

#gform_wrapper_42 input[type="text"],
#gform_wrapper_42 input[type="email"],
#gform_wrapper_42 input[type="tel"],
#gform_wrapper_42 input[type="url"],
#gform_wrapper_42 input[type="number"],
#gform_wrapper_42 input.large,
#gform_wrapper_42 input.medium,
#gform_wrapper_42 input.small,
#gform_wrapper_42 select,
#gform_wrapper_42 textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}
#gform_wrapper_42 textarea {
  height: auto !important;
  min-height: 110px !important;
  resize: vertical !important;
}


/*--------------------------------------------------------------
   40-v3. COMPOSITE FIELDS (Name) — restore 2-col rows
--------------------------------------------------------------*/

#gform_wrapper_42 .ginput_complex {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
}
#gform_wrapper_42 .ginput_complex > .gform-grid-col,
#gform_wrapper_42 .ginput_complex > span,
#gform_wrapper_42 .ginput_complex > div {
  width: 100% !important;
  min-width: 0 !important;
  grid-column: span 1 !important;
  flex: unset !important;
}
#gform_wrapper_42 .ginput_complex .gform-field-label--type-sub {
  display: none !important;
}
#gform_wrapper_42 .gf_clear,
#gform_wrapper_42 .gf_clear_complex {
  display: none !important;
}


/*--------------------------------------------------------------
   41-v3. RADIO / CHECKBOX pills
--------------------------------------------------------------*/

#gform_wrapper_42 .gfield_radio {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  flex-direction: unset !important;
}

#gform_wrapper_42 .gfield_checkbox {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
}

/* gf_list_inline (field 69 — browser checkbox) — wrap pills */
#gform_wrapper_42 .gfield.gf_list_inline .gfield_checkbox {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
#gform_wrapper_42 .gfield.gf_list_inline .gfield_checkbox .gchoice {
  flex: 0 1 auto !important;
  width: auto !important;
}
#gform_wrapper_42 .gfield.gf_list_inline .gfield_checkbox .gchoice label {
  width: auto !important;
  min-width: 0 !important;
  padding: 8px 16px !important;
}

@media (max-width: 600px) {
  #gform_wrapper_42 .gfield_radio {
    grid-template-columns: 1fr !important;
  }
}


/*--------------------------------------------------------------
   42-v3. DATA CONSENT (field 65) — small native checkbox

   The base stylesheet turns every checkbox into a giant
   button-pill. That's right for the donate form's "cover the
   fee" choice but wrong for an agreement checkbox. Restore a
   normal checkbox-with-text layout.
--------------------------------------------------------------*/

#gform_wrapper_42 #field_42_65 {
  margin-top: 4px !important;
}
/* Hide the redundant "Data Consent" legend — the choice label
   already carries the consent text. */
#gform_wrapper_42 #field_42_65 > .gfield_label,
#gform_wrapper_42 #field_42_65 > legend.gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
#gform_wrapper_42 #field_42_65 .gfield_checkbox {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
#gform_wrapper_42 #field_42_65 .gfield_checkbox .gchoice {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
/* Restore the visually-hidden input to a real checkbox */
#gform_wrapper_42 #field_42_65 input[type="checkbox"] {
  position: static !important;
  width: 18px !important;
  height: 18px !important;
  margin: 2px 10px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  flex-shrink: 0 !important;
  accent-color: var(--rk-accent, #1e73be) !important;
  cursor: pointer !important;
}
#gform_wrapper_42 #field_42_65 .gchoice label {
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  background: var(--rk-surface-2, #f7f8f9) !important;
  border: 1px solid var(--rk-line, #e5e7eb) !important;
  border-radius: var(--rk-radius, 10px) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: var(--rk-text-soft, #575760) !important;
  text-align: left !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  font-family: "Merriweather Sans", sans-serif !important;
  transition: background .2s ease, border-color .2s ease !important;
}
#gform_wrapper_42 #field_42_65 .gchoice label:hover {
  background: #fff !important;
  border-color: var(--rk-accent, #1e73be) !important;
  color: var(--rk-text, #222) !important;
}
#gform_wrapper_42 #field_42_65 .gchoice:has(input:checked) label {
  background: var(--rk-accent-soft, #e7f1fa) !important;
  border-color: var(--rk-accent, #1e73be) !important;
  color: var(--rk-text, #222) !important;
}
/* Kill the inherited pseudo-checkmark dot */
#gform_wrapper_42 #field_42_65 input[type="checkbox"]:checked + label::before {
  content: none !important;
  display: none !important;
}


/*--------------------------------------------------------------
   43-v3. SCREENSHOT PASTE ZONE
--------------------------------------------------------------*/

#bl-screenshot-paste-zone {
  display: block !important;
  border: 1.5px dashed var(--rk-accent, #1e73be) !important;
  background: var(--rk-accent-soft, #e7f1fa) !important;
  color: var(--rk-text, #222) !important;
  border-radius: var(--rk-radius, 10px) !important;
  padding: 14px 16px !important;
  margin: 4px 0 0 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  cursor: text !important;
  outline: none !important;
  font-family: "Merriweather Sans", sans-serif !important;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
#bl-screenshot-paste-zone:focus {
  background: #fff !important;
  border-color: var(--rk-accent-dark, #114576) !important;
  box-shadow: 0 0 0 3px var(--rk-accent-glow, rgba(30,115,190,.18)) !important;
}
#bl-screenshot-paste-zone strong {
  color: var(--rk-accent-dark, #114576) !important;
}
#bl-screenshot-status {
  margin-top: 8px !important;
  font-size: 0.82rem !important;
  color: var(--rk-text-soft, #575760) !important;
  min-height: 1em !important;
}
#bl-screenshot-preview img {
  max-width: 100% !important;
  height: auto !important;
  margin-top: 10px !important;
  border-radius: var(--rk-radius-sm, 6px) !important;
  border: 1px solid var(--rk-line, #e5e7eb) !important;
}


/*--------------------------------------------------------------
   44-v3. FILE UPLOAD (field 27)
--------------------------------------------------------------*/

#gform_wrapper_42 .ginput_container_fileupload {
  width: 100% !important;
}
#gform_wrapper_42 .gform_drop_area {
  padding: 22px 16px !important;
  background: var(--rk-surface-2, #f7f8f9) !important;
  border: 1.5px dashed var(--rk-line, #e5e7eb) !important;
  border-radius: var(--rk-radius, 10px) !important;
  color: var(--rk-text-soft, #575760) !important;
  text-align: center !important;
}
#gform_wrapper_42 .gform_drop_instructions {
  margin: 0 0 8px 0 !important;
  font-size: 0.9rem !important;
  color: var(--rk-text-soft, #575760) !important;
}
#gform_wrapper_42 .gform_button_select_files {
  display: inline-block !important;
  padding: 9px 18px !important;
  margin: 0 !important;
  background: var(--rk-neutral-btn, #55555e) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rk-radius-full, 9999px) !important;
  font-family: "Merriweather Sans", sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .2s ease !important;
}
#gform_wrapper_42 .gform_button_select_files:hover {
  background: var(--rk-neutral-btn-h, #3f4047) !important;
  transform: translateY(-1px) !important;
}


/*--------------------------------------------------------------
   45-v3. SUBMIT BUTTON
--------------------------------------------------------------*/

#gform_wrapper_42 .gform_footer,
#gform_wrapper_42 .gform-footer {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 20px 0 0 0 !important;
  padding: 16px 0 0 0 !important;
  border-top: 1px solid var(--rk-line, #e5e7eb) !important;
}
#gform_wrapper_42 input[type="submit"],
#gform_wrapper_42 .gform_button {
  width: auto !important;
  min-width: 240px !important;
  max-width: 100% !important;
  padding: 14px 32px !important;
  font-size: 1rem !important;
}

@media (max-width: 600px) {
  .go-modal__dialog:has(#gform_wrapper_42) {
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 24px) !important;
  }
  .go-modal__dialog:has(#gform_wrapper_42) .go-modal__body {
    padding: 18px 18px 22px 18px !important;
  }
  #gform_wrapper_42 input[type="submit"],
  #gform_wrapper_42 .gform_button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/*==============================================================
   END — Technical Support Addendum v3
==============================================================*/

/*==============================================================
   CSF Donation Page — Recent Updates Section Addendum (v2)

   Append to the end of the existing csf-fixes.css. Replaces v1.

   What's new in v2
   ----------------
   - Card grid uses `repeat(auto-fit, minmax(280px, 1fr))` instead
     of fixed 3-col. With the sticky donate sidebar taking ~380px,
     the left column maxes out at ~752px — 3 cards there is ~232px
     each, which squashes the title, preview, and date. 2 cards
     (~368px each) is the comfortable maximum and what auto-fit
     resolves to. Drops to 1-up automatically on narrower viewports.
   - Cards without images keep the same 16:9 well, filled with a
     soft accent→cyan gradient and a small "update" SVG icon, so
     row heights stay uniform.
   - Single-entry view styling unchanged (still pending modal DOM
     to wire up the fancybox detail view).
   - Everything else (grid placement, mobile order, subscribe
     form, no-results, validation) is the same as v1.
==============================================================*/


/*--------------------------------------------------------------
   A. GRID PLACEMENT (desktop)
   New row 5 = .csfpostupdates. Old rows 5–9 shift to 6–10.
   Donate sidebar span extends from 1/9 to 1/10.
--------------------------------------------------------------*/
@media (min-width: 880px) {
  body.category-csf .csfpostupdates   { grid-column: 1 !important; grid-row: 5 !important; }
  body.category-csf .bl-tabs          { grid-row: 6 !important; }
  body.category-csf .csfpostdonations { grid-row: 7 !important; }
  body.category-csf .csflinkbyfooter  { grid-row: 8 !important; }
  body.category-csf .csfpostfaq       { grid-row: 9 !important; }
  body.category-csf .csfpostcontact   { grid-row: 10 !important; }
  body.category-csf .csfpostdonate    { grid-row: 1 / 10 !important; }
}


/*--------------------------------------------------------------
   B. MOBILE FLEX ORDER
   Updates slots after carousel (order 4), before bl-tabs.
--------------------------------------------------------------*/
@media (max-width: 879px) {
  body.category-csf .csfpostupdates   { order: 5 !important; }
  body.category-csf .bl-tabs          { order: 6 !important; }
  body.category-csf .csfpostdonate    { order: 7 !important; }
  body.category-csf .csfpostdonations { order: 8 !important; }
  body.category-csf .csflinkbyfooter  { order: 9 !important; }
  body.category-csf .csfpostfaq       { order: 10 !important; }
  body.category-csf hr.csfpostdivider { order: 11 !important; display: none !important; }
  body.category-csf .csfpostcontact   { order: 12 !important; }
}


/*--------------------------------------------------------------
   C. SECTION CONTAINER
--------------------------------------------------------------*/
body.category-csf .csfpostupdates {
  width: 100% !important;
  max-width: 100% !important;
  margin: 4px 0 22px 0 !important;
  padding: 0 !important;
  animation: none !important;
}

body.category-csf .csfpostupdates > br { display: none !important; }

body.category-csf .csfpostupdates .csfpostsubtitle {
  text-align: left !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--rk-text) !important;
  margin: 0 0 14px 0 !important;
  text-shadow: none !important;
}


/*--------------------------------------------------------------
   D. GRAVITYVIEW WRAPPERS — passthrough
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-template-list,
body.category-csf .csfpostupdates [itemprop="itemReviewed"],
body.category-csf .csfpostupdates .gv-container,
body.category-csf .csfpostupdates .gv-list-container,
body.category-csf .csfpostupdates .gv-list-multiple-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Hide per-field labels ("Date", etc.) */
body.category-csf .csfpostupdates .gv-field-label {
  display: none !important;
}


/*--------------------------------------------------------------
   E. CARD GRID — auto-fit (handles 1, 2, or 3 columns based
   on available space; no fixed breakpoints needed)
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}


/*--------------------------------------------------------------
   F. CARD OUTER
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-view {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius-lg) !important;
  box-shadow: var(--rk-shadow-sm) !important;
  overflow: hidden !important;
  text-align: left !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

body.category-csf .csfpostupdates .gv-list-view:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(30, 115, 190, 0.25) !important;
  box-shadow: var(--rk-shadow-md) !important;
}

/* Lift content row's children to card level so image/title/desc
   stack vertically instead of 1/3 + 2/3 columns */
body.category-csf .csfpostupdates .gv-list-view-content,
body.category-csf .csfpostupdates .gv-list-view-content > .gv-grid {
  display: contents !important;
}

body.category-csf .csfpostupdates .gv-list-view-content-image       { order: 1 !important; }
body.category-csf .csfpostupdates .gv-list-view-title               { order: 2 !important; }
body.category-csf .csfpostupdates .gv-list-view-content-description { order: 3 !important; flex: 1 1 auto !important; }
body.category-csf .csfpostupdates .gv-list-view-footer              { order: 4 !important; }


/*--------------------------------------------------------------
   G. CARD — IMAGE WELL (always rendered for height parity)
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-view-content-image {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--rk-surface-2) !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9 !important;
  flex: 0 0 auto !important;
}

body.category-csf .csfpostupdates .gv-list-view-content-image .gv-field-44-6 {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.category-csf .csfpostupdates .gv-list-view-content-image .gv-field-44-6 a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
  line-height: 0 !important;
}

body.category-csf .csfpostupdates .gv-list-view-content-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  transition: transform .35s ease !important;
}

body.category-csf .csfpostupdates .gv-list-view:hover .gv-list-view-content-image img {
  transform: scale(1.04) !important;
}


/*--------------------------------------------------------------
   H. NO-IMAGE FALLBACK
   When .gv-field-44-6 is empty, keep the 16:9 well and fill it
   with a soft brand gradient + a small "update" icon. Same
   footprint as picture cards → row heights stay uniform.

   The icon is the centered SVG of a speech-bubble. Gradient is
   var(--rk-accent-soft) → var(--rk-cyan-soft) at 135deg.
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-view-content-image:has(.gv-field-44-6:empty) {
  background-color: var(--rk-accent-soft) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e73be' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E"),
    linear-gradient(135deg, var(--rk-accent-soft) 0%, var(--rk-cyan-soft) 100%) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center, center !important;
  background-size: 52px auto, cover !important;
}

/* Also hide the empty inner div so it doesn't render any default
   GravityView styling (margin, etc) on top of the fallback bg */
body.category-csf .csfpostupdates .gv-field-44-6:empty {
  display: none !important;
}


/*--------------------------------------------------------------
   I. CARD — TITLE
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-view-title {
  margin: 0 !important;
  padding: 16px 18px 0 18px !important;
  background: transparent !important;
  border: none !important;
}

body.category-csf .csfpostupdates .gv-list-view-title h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  color: var(--rk-text) !important;

  /* Clamp to 2 lines so cards in the same row stay even */
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/*--------------------------------------------------------------
   J. CARD — DESCRIPTION (clamped to 3 lines)
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-view-content-description {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 8px 18px 14px 18px !important;
  background: transparent !important;
  border: none !important;
  min-width: 0 !important;
}

body.category-csf .csfpostupdates .gv-list-view-content-description .gv-field-44-4 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.category-csf .csfpostupdates .gv-list-view-content-description p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  color: var(--rk-text-soft) !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.category-csf .csfpostupdates .gv-list-view-content-description p:empty {
  display: none !important;
}


/*--------------------------------------------------------------
   K. CARD — FOOTER (date + Read More)
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-view-footer {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 12px 18px 14px 18px !important;
  background: var(--rk-surface-2) !important;
  border-top: 1px solid var(--rk-line-soft) !important;
}

body.category-csf .csfpostupdates .gv-list-view-footer > [class*="gv-grid-col"] {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
  float: none !important;
}

body.category-csf .csfpostupdates .gv-list-view-footer .gv-left {
  flex: 1 1 auto !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}

body.category-csf .csfpostupdates .gv-list-view-footer .gv-right {
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
}

body.category-csf .csfpostupdates .gv-field-44-date_created {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--rk-muted) !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
}

body.category-csf .csfpostupdates .gv-field-44-entry_link {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

body.category-csf .csfpostupdates .gv-field-44-entry_link a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  background: transparent !important;
  border: 1.5px solid var(--rk-accent) !important;
  border-radius: var(--rk-radius-full) !important;
  font-family: inherit !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: var(--rk-accent) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  transition: background .15s ease, color .15s ease, transform .15s ease !important;
}

body.category-csf .csfpostupdates .gv-field-44-entry_link a:hover {
  background: var(--rk-accent) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

body.category-csf .csfpostupdates .gv-field-44-entry_link a::after {
  content: "→" !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: transform .15s ease !important;
}

body.category-csf .csfpostupdates .gv-field-44-entry_link a:hover::after {
  transform: translateX(2px) !important;
}


/*--------------------------------------------------------------
   L. SINGLE-ENTRY LIST VIEW (?entry=N on the same page)
   When the container has exactly one .gv-list-view child,
   switch to a wider centered article layout.

   NOTE: This only applies when the single entry renders inline
   in the page (e.g. via GravityView's ?entry= URL param). It
   does NOT apply to fancybox modal content — that needs its own
   selectors based on the modal's actual DOM.
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) {
  display: block !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view {
  width: 100% !important;
  border-radius: var(--rk-radius-xl) !important;
  box-shadow: var(--rk-shadow) !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view:hover {
  transform: none !important;
  box-shadow: var(--rk-shadow) !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view-content-image {
  aspect-ratio: 21 / 9 !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view-title {
  padding: 22px 26px 0 26px !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view-title h3 {
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow: visible !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view-content-description {
  padding: 14px 26px 22px 26px !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view-content-description p {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.category-csf .csfpostupdates .gv-list-container:has(.gv-list-view:only-child) .gv-list-view-footer {
  padding: 14px 26px 18px 26px !important;
}


/*--------------------------------------------------------------
   M. NO-RESULTS STATE
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .gv-no-results,
body.category-csf .csfpostupdates .gv-no-results-text {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  margin: 0 !important;
  padding: 22px 20px !important;
  background: var(--rk-surface-2) !important;
  border: 1px dashed var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  text-align: center !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--rk-muted) !important;
}

body.category-csf .csfpostupdates .gv-no-results h3,
body.category-csf .csfpostupdates .gv-no-results-text h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--rk-muted) !important;
  background: transparent !important;
  border: none !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
}


/*--------------------------------------------------------------
   N. SUBSCRIBE PROMPT
--------------------------------------------------------------*/
body.category-csf .csfpostupdates .csfpostupdatessubscribe {
  max-width: 560px !important;
  margin: 28px auto 14px auto !important;
  padding: 18px 0 0 0 !important;
  border-top: 1px solid var(--rk-line) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  color: var(--rk-text) !important;
  text-align: center !important;
}


/*--------------------------------------------------------------
   O. SUBSCRIBE FORM (#gform_wrapper_47)
   Discreet inline form: name + email row, submit centered below.
--------------------------------------------------------------*/
body.category-csf .csfpostupdates #gform_wrapper_47,
body.category-csf .csfpostupdates #gform_wrapper_47.gform_wrapper {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 .gform_heading {
  display: none !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 .gform-body,
body.category-csf .csfpostupdates #gform_wrapper_47 .gform_body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  column-gap: 10px !important;
  row-gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: unset !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_3 {
  grid-column: span 5 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  min-width: 0 !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_3 legend.gfield_label,
body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_3 > .gfield_label,
body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_4 > .gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_3 .ginput_complex {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-direction: unset !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_3 .ginput_complex > .gform-grid-col,
body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_3 .ginput_complex > span {
  width: 100% !important;
  min-width: 0 !important;
  grid-column: span 1 !important;
  flex: unset !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_4 {
  grid-column: span 7 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 input[type="text"],
body.category-csf .csfpostupdates #gform_wrapper_47 input[type="email"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 9px 12px !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  background: #fff !important;
  border: 1px solid var(--rk-line) !important;
  border-radius: var(--rk-radius) !important;
  box-shadow: none !important;
  color: var(--rk-text) !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 input:hover {
  border-color: #d1d5db !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 input:focus {
  border-color: var(--rk-accent) !important;
  box-shadow: 0 0 0 3px var(--rk-accent-glow) !important;
  outline: none !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 input::placeholder {
  color: var(--rk-subtle) !important;
  opacity: 1 !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 .gform_footer,
body.category-csf .csfpostupdates #gform_wrapper_47 .gform-footer {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  border-top: none !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 input[type="submit"],
body.category-csf .csfpostupdates #gform_wrapper_47 .gform_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 26px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  background: var(--rk-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--rk-radius-full) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.05) !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 input[type="submit"]:hover,
body.category-csf .csfpostupdates #gform_wrapper_47 .gform_button:hover {
  background: var(--rk-accent-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.06), 0 6px 16px var(--rk-accent-glow) !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 input[type="submit"]:active {
  transform: translateY(0) !important;
}


/*--------------------------------------------------------------
   P. RESPONSIVE — form stacks on mobile
--------------------------------------------------------------*/
@media (max-width: 600px) {
  body.category-csf .csfpostupdates #gform_wrapper_47 .gform_fields {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_3,
  body.category-csf .csfpostupdates #gform_wrapper_47 #field_47_4 {
    grid-column: 1 !important;
  }
  body.category-csf .csfpostupdates #gform_wrapper_47 input[type="submit"],
  body.category-csf .csfpostupdates #gform_wrapper_47 .gform_button {
    width: 100% !important;
  }
  body.category-csf .csfpostupdates .csfpostupdatessubscribe {
    margin-top: 22px !important;
    padding-top: 16px !important;
  }
}


/*--------------------------------------------------------------
   Q. VALIDATION
--------------------------------------------------------------*/
body.category-csf .csfpostupdates #gform_wrapper_47 .validation_message,
body.category-csf .csfpostupdates #gform_wrapper_47 .gfield_validation_message {
  font-size: 0.78rem !important;
  margin-top: 4px !important;
  padding: 5px 8px !important;
}

body.category-csf .csfpostupdates #gform_wrapper_47 .gform_validation_errors {
  grid-column: 1 / -1 !important;
  margin: 0 0 8px 0 !important;
  padding: 10px 12px !important;
  font-size: 0.85rem !important;
}


/*==============================================================
   END — Recent Updates Section Addendum (v2)
==============================================================*/

/*--------------------------------------------------------------
   Crowded iframe — scale to fit container + kill scrollbars
   Plugin dimensions: 420 × 360
--------------------------------------------------------------*/

body.category-csf .crowded-field-container,
body.category-csf .crowded-iframe-wrapper {
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.category-csf .crowded-field-container iframe[src*="crowded"] {
  display: block !important;
  overflow: hidden !important;            /* suppress iframe's own scrollbars */
  transform-origin: top left !important;
  transform: scale(0.838) !important;     /* 352 / 420 */
  margin-right: -68px !important;         /* 420 × 0.162 */
  margin-bottom: -58px !important;        /* 360 × 0.162 */
}

@media (max-width: 1024px) and (min-width: 880px) {
  body.category-csf .crowded-field-container iframe[src*="crowded"] {
    transform: scale(0.743) !important;
    margin-right: -108px !important;
    margin-bottom: -93px !important;
  }
}

@media (max-width: 879px) {
  body.category-csf .crowded-field-container iframe[src*="crowded"] {
    transform: scale(0.80) !important;
    margin-right: -84px !important;
    margin-bottom: -72px !important;
  }
}