/**
 * settings-bridge.css — loads after final-nj clone stylesheets.
 *
 * Purpose: let the admin "Site Editor" settings actually win on the public
 * site. Earlier stylesheets do two things that silently blocked settings:
 *   1) hard-set typography / spacing with `!important`
 *      (hero-neon.css, playverse-rhythm-overrides.css, site-responsive-polish.css)
 *   2) REDEFINE component variables (e.g. --hero-title-size-desktop,
 *      --button-min-height) on the `body` scope
 *      (ux-ui-system.css, responsive-system.css, legacy/main.css), which
 *      shadows the admin `:root` tokens for the whole page.
 *
 * To dodge both, the admin generator also emits every variable under a
 * collision-free `--ed-*` namespace (see lib/editor/css-vars.ts
 * `withEditorNamespace`). Legacy CSS never touches `--ed-*`, so the rules below
 * read those and fall back to the exact current value:
 *   `var(--ed-X, <current-rendered-value>)`
 *
 *   - Setting NOT changed  → fallback = current look (zero visual change).
 *   - Setting IS changed   → the `--ed-*` variable wins instantly.
 *
 * Selectors mirror the specificity of the rules they override and win on
 * source order because this file is imported last.
 */

/* =========================================================================
   HERO  (fallbacks = the live Playverse --pv-* scale = current look)
   ========================================================================= */
html body:not(.dashboard-app-body) main.site-main .hero-neon-brand-title,
html body.preview-editor-mode .hero-neon-brand-title {
  font-size: var(--ed-hero-brand-size-desktop, var(--pv-hero-brand-size, 46px)) !important;
}

html body:not(.dashboard-app-body) main.site-main section.hero-section.hero-section--neon .hero-title,
html body.preview-editor-mode section.hero-section.hero-section--neon .hero-title {
  font-size: var(--ed-hero-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
  line-height: var(--ed-hero-title-line-height, var(--pv-heading-line-height, 1.2)) !important;
  font-weight: var(--ed-hero-title-weight, 600) !important;
  letter-spacing: var(--ed-hero-title-letter-spacing, normal) !important;
  text-transform: var(--ed-hero-title-text-transform, uppercase) !important;
  color: var(--ed-hero-title-color, rgba(250, 249, 254, 0.92)) !important;
  text-align: var(--ed-hero-text-align-desktop, center) !important;
}

html body:not(.dashboard-app-body) main.site-main section.hero-section.hero-section--neon .hero-text,
html body.preview-editor-mode section.hero-section.hero-section--neon .hero-text {
  font-size: var(--ed-hero-text-size-desktop, var(--pv-hero-desc-size, 16px)) !important;
  line-height: var(--ed-hero-text-line-height, var(--pv-hero-desc-line-height, 27.2px)) !important;
  font-weight: var(--ed-hero-text-weight, 400) !important;
  text-transform: var(--ed-hero-text-text-transform, none) !important;
  color: var(--ed-hero-text-color, rgba(250, 249, 254, 0.78)) !important;
  text-align: var(--ed-hero-text-align-desktop, center) !important;
}

html body:not(.dashboard-app-body) main.site-main .hero-content.hero-content--neon,
html body.preview-editor-mode .hero-content.hero-content--neon {
  align-items: var(--ed-hero-content-align-desktop, center) !important;
  max-width: var(--ed-hero-content-max-width, 900px) !important;
}

html body:not(.dashboard-app-body) main.site-main .hero-section.hero-section--neon,
html body.preview-editor-mode .hero-section.hero-section--neon {
  padding-top: var(--ed-hero-padding-top-desktop, var(--hero-playverse-y-top, 100px)) !important;
  padding-bottom: var(--ed-hero-padding-bottom-desktop, var(--hero-playverse-y-bottom, 60px)) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main .hero-neon-brand-title,
  html body.preview-editor-mode .hero-neon-brand-title {
    font-size: var(--ed-hero-brand-size-mobile, var(--ed-hero-brand-size-desktop, var(--pv-hero-brand-size, 46px))) !important;
  }

  html body:not(.dashboard-app-body) main.site-main section.hero-section.hero-section--neon .hero-title,
  html body.preview-editor-mode section.hero-section.hero-section--neon .hero-title {
    font-size: var(--ed-hero-title-size-mobile, var(--ed-hero-title-size-desktop, var(--pv-heading-size, 28.8px))) !important;
    text-align: var(--ed-hero-text-align-mobile, var(--ed-hero-text-align-desktop, center)) !important;
  }

  html body:not(.dashboard-app-body) main.site-main section.hero-section.hero-section--neon .hero-text,
  html body.preview-editor-mode section.hero-section.hero-section--neon .hero-text {
    font-size: var(--ed-hero-text-size-mobile, var(--ed-hero-text-size-desktop, var(--pv-hero-desc-size, 16px))) !important;
    text-align: var(--ed-hero-text-align-mobile, var(--ed-hero-text-align-desktop, center)) !important;
  }

  html body:not(.dashboard-app-body) main.site-main .hero-content.hero-content--neon,
  html body.preview-editor-mode .hero-content.hero-content--neon {
    align-items: var(--ed-hero-content-align-mobile, var(--ed-hero-content-align-desktop, center)) !important;
  }

  html body:not(.dashboard-app-body) main.site-main .hero-section.hero-section--neon,
  html body.preview-editor-mode .hero-section.hero-section--neon {
    padding-top: var(--ed-hero-padding-top-mobile, var(--ed-hero-padding-top-desktop, var(--hero-playverse-y-top, 100px))) !important;
    padding-bottom: var(--ed-hero-padding-bottom-mobile, var(--ed-hero-padding-bottom-desktop, var(--hero-playverse-y-bottom, 60px))) !important;
  }
}

/* =========================================================================
   SECTION SPACING (top / bottom padding) — fallback = --pv-section-y (100px)
   ========================================================================= */
html body:not(.dashboard-app-body) main.site-main .programs-section,
html body.preview-editor-mode .programs-section {
  padding-top: var(--ed-programs-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-programs-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .membership-section {
  padding-top: var(--ed-membership-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-membership-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .partnerships-section {
  padding-top: var(--ed-partnerships-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-partnerships-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .booking-section {
  padding-top: var(--ed-booking-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-booking-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .about-section {
  padding-top: var(--ed-about-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-about-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .gym-gallery-section {
  padding-top: var(--ed-facilities-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-facilities-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .bmi-section {
  padding-top: var(--ed-bmi-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-bmi-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .strength-section {
  padding-top: var(--ed-strength-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-strength-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .location-section {
  padding-top: var(--ed-location-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-location-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .faq-section {
  padding-top: var(--ed-faq-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-faq-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .get-in-touch-section {
  padding-top: var(--ed-get-in-touch-padding-top-desktop, var(--pv-section-y, 100px)) !important;
  padding-bottom: var(--ed-get-in-touch-padding-bottom-desktop, var(--pv-section-y, 100px)) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main .programs-section,
html body.preview-editor-mode .programs-section {
    padding-top: var(--ed-programs-padding-top-mobile, var(--ed-programs-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-programs-padding-bottom-mobile, var(--ed-programs-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .membership-section {
    padding-top: var(--ed-membership-padding-top-mobile, var(--ed-membership-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-membership-padding-bottom-mobile, var(--ed-membership-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .partnerships-section {
    padding-top: var(--ed-partnerships-padding-top-mobile, var(--ed-partnerships-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-partnerships-padding-bottom-mobile, var(--ed-partnerships-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .booking-section {
    padding-top: var(--ed-booking-padding-top-mobile, var(--ed-booking-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-booking-padding-bottom-mobile, var(--ed-booking-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .about-section {
    padding-top: var(--ed-about-padding-top-mobile, var(--ed-about-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-about-padding-bottom-mobile, var(--ed-about-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .gym-gallery-section {
    padding-top: var(--ed-facilities-padding-top-mobile, var(--ed-facilities-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-facilities-padding-bottom-mobile, var(--ed-facilities-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .bmi-section {
    padding-top: var(--ed-bmi-padding-top-mobile, var(--ed-bmi-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-bmi-padding-bottom-mobile, var(--ed-bmi-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .strength-section {
    padding-top: var(--ed-strength-padding-top-mobile, var(--ed-strength-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-strength-padding-bottom-mobile, var(--ed-strength-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .location-section {
    padding-top: var(--ed-location-padding-top-mobile, var(--ed-location-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-location-padding-bottom-mobile, var(--ed-location-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .faq-section {
    padding-top: var(--ed-faq-padding-top-mobile, var(--ed-faq-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-faq-padding-bottom-mobile, var(--ed-faq-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .get-in-touch-section {
    padding-top: var(--ed-get-in-touch-padding-top-mobile, var(--ed-get-in-touch-padding-top-desktop, var(--pv-section-y, 100px))) !important;
    padding-bottom: var(--ed-get-in-touch-padding-bottom-mobile, var(--ed-get-in-touch-padding-bottom-desktop, var(--pv-section-y, 100px))) !important;
  }
}

/* =========================================================================
   SECTION EYEBROWS — override playverse-rhythm --pv-eyebrow-size !important
   ========================================================================= */
html body:not(.dashboard-app-body) main.site-main .site-section-block .programs-eyebrow,
html body.preview-editor-mode .site-section-block .programs-eyebrow {
  font-size: var(--ed-programs-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-programs-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-programs-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-programs-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-eyebrow,
html body.preview-editor-mode .site-section-block .membership-eyebrow {
  font-size: var(--ed-membership-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-membership-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-membership-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-membership-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .partnerships-eyebrow,
html body.preview-editor-mode .site-section-block .partnerships-eyebrow {
  font-size: var(--ed-partnerships-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-partnerships-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-partnerships-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-partnerships-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .booking-section-intro-eyebrow,
html body.preview-editor-mode .site-section-block .booking-section-intro-eyebrow {
  font-size: var(--ed-booking-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-booking-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-booking-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-booking-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .about-eyebrow,
html body.preview-editor-mode .site-section-block .about-eyebrow {
  font-size: var(--ed-about-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-about-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-about-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-about-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .gym-gallery-eyebrow,
html body.preview-editor-mode .site-section-block .gym-gallery-eyebrow {
  font-size: var(--ed-facilities-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-facilities-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-facilities-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-facilities-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .bmi-eyebrow,
html body.preview-editor-mode .site-section-block .bmi-eyebrow {
  font-size: var(--ed-bmi-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-bmi-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-bmi-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-bmi-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .strength-eyebrow,
html body.preview-editor-mode .site-section-block .strength-eyebrow {
  font-size: var(--ed-strength-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-strength-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-strength-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-strength-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .location-eyebrow,
html body.preview-editor-mode .site-section-block .location-eyebrow {
  font-size: var(--ed-location-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-location-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-location-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-location-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .faq-eyebrow,
html body.preview-editor-mode .site-section-block .faq-eyebrow {
  font-size: var(--ed-faq-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-faq-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-faq-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-faq-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .get-in-touch-eyebrow,
html body.preview-editor-mode .site-section-block .get-in-touch-eyebrow {
  font-size: var(--ed-get-in-touch-eyebrow-size-desktop, var(--global-eyebrow-size, 15px)) !important;
  font-weight: var(--ed-get-in-touch-eyebrow-weight, var(--global-eyebrow-font-weight, 700)) !important;
  letter-spacing: var(--ed-get-in-touch-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing, 2px)) !important;
  text-transform: var(--ed-get-in-touch-eyebrow-text-transform, var(--global-eyebrow-text-transform, uppercase)) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main .site-section-block .programs-eyebrow,
  html body.preview-editor-mode .site-section-block .programs-eyebrow {
    font-size: var(--ed-programs-eyebrow-size-mobile, var(--ed-programs-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-eyebrow,
  html body.preview-editor-mode .site-section-block .membership-eyebrow {
    font-size: var(--ed-membership-eyebrow-size-mobile, var(--ed-membership-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .partnerships-eyebrow,
  html body.preview-editor-mode .site-section-block .partnerships-eyebrow {
    font-size: var(--ed-partnerships-eyebrow-size-mobile, var(--ed-partnerships-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .booking-section-intro-eyebrow,
  html body.preview-editor-mode .site-section-block .booking-section-intro-eyebrow {
    font-size: var(--ed-booking-eyebrow-size-mobile, var(--ed-booking-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .about-eyebrow,
  html body.preview-editor-mode .site-section-block .about-eyebrow {
    font-size: var(--ed-about-eyebrow-size-mobile, var(--ed-about-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .gym-gallery-eyebrow,
  html body.preview-editor-mode .site-section-block .gym-gallery-eyebrow {
    font-size: var(--ed-facilities-eyebrow-size-mobile, var(--ed-facilities-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .bmi-eyebrow,
  html body.preview-editor-mode .site-section-block .bmi-eyebrow {
    font-size: var(--ed-bmi-eyebrow-size-mobile, var(--ed-bmi-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .strength-eyebrow,
  html body.preview-editor-mode .site-section-block .strength-eyebrow {
    font-size: var(--ed-strength-eyebrow-size-mobile, var(--ed-strength-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .location-eyebrow,
  html body.preview-editor-mode .site-section-block .location-eyebrow {
    font-size: var(--ed-location-eyebrow-size-mobile, var(--ed-location-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .faq-eyebrow,
  html body.preview-editor-mode .site-section-block .faq-eyebrow {
    font-size: var(--ed-faq-eyebrow-size-mobile, var(--ed-faq-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .get-in-touch-eyebrow,
  html body.preview-editor-mode .site-section-block .get-in-touch-eyebrow {
    font-size: var(--ed-get-in-touch-eyebrow-size-mobile, var(--ed-get-in-touch-eyebrow-size-desktop, var(--global-eyebrow-size, 15px))) !important;
  }
}

/* =========================================================================
   SECTION HEADINGS — fallback = --pv-heading-size
   ========================================================================= */
html body:not(.dashboard-app-body) main.site-main .site-section-block .programs-title,
html body.preview-editor-mode .site-section-block .programs-title {
  font-size: var(--ed-programs-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-title,
html body.preview-editor-mode .site-section-block .membership-title {
  font-size: var(--ed-membership-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .partnerships-title,
html body.preview-editor-mode .site-section-block .partnerships-title {
  font-size: var(--ed-partnerships-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .booking-section-intro-title,
html body.preview-editor-mode .site-section-block .booking-section-intro-title {
  font-size: var(--ed-booking-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .about-title,
html body.preview-editor-mode .site-section-block .about-title {
  font-size: var(--ed-about-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .gym-gallery-title,
html body.preview-editor-mode .site-section-block .gym-gallery-title {
  font-size: var(--ed-facilities-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .bmi-title,
html body.preview-editor-mode .site-section-block .bmi-title {
  font-size: var(--ed-bmi-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .strength-title,
html body.preview-editor-mode .site-section-block .strength-title {
  font-size: var(--ed-strength-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .location-title,
html body.preview-editor-mode .site-section-block .location-title {
  font-size: var(--ed-location-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .faq-title,
html body.preview-editor-mode .site-section-block .faq-title {
  font-size: var(--ed-faq-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .get-in-touch-title,
html body.preview-editor-mode .site-section-block .get-in-touch-title {
  font-size: var(--ed-get-in-touch-title-size-desktop, var(--pv-heading-size, 28.8px)) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main .site-section-block .programs-title,
html body.preview-editor-mode .site-section-block .programs-title {
    font-size: var(--ed-programs-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-title,
html body.preview-editor-mode .site-section-block .membership-title {
    font-size: var(--ed-membership-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .partnerships-title,
html body.preview-editor-mode .site-section-block .partnerships-title {
    font-size: var(--ed-partnerships-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .booking-section-intro-title,
html body.preview-editor-mode .site-section-block .booking-section-intro-title {
    font-size: var(--ed-booking-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .about-title,
html body.preview-editor-mode .site-section-block .about-title {
    font-size: var(--ed-about-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .gym-gallery-title,
html body.preview-editor-mode .site-section-block .gym-gallery-title {
    font-size: var(--ed-facilities-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .bmi-title,
html body.preview-editor-mode .site-section-block .bmi-title {
    font-size: var(--ed-bmi-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .strength-title,
html body.preview-editor-mode .site-section-block .strength-title {
    font-size: var(--ed-strength-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .location-title,
html body.preview-editor-mode .site-section-block .location-title {
    font-size: var(--ed-location-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .faq-title,
html body.preview-editor-mode .site-section-block .faq-title {
    font-size: var(--ed-faq-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .get-in-touch-title,
html body.preview-editor-mode .site-section-block .get-in-touch-title {
    font-size: var(--ed-get-in-touch-title-size-mobile, var(--site-mobile-section-title, var(--pv-heading-size, 21px))) !important;
  }
}

/* =========================================================================
   SECTION BODY COPY — fallback = --pv-body-size
   ========================================================================= */
html body:not(.dashboard-app-body) main.site-main .site-section-block .programs-description,
html body.preview-editor-mode .site-section-block .programs-description {
  font-size: var(--ed-programs-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-text {
  font-size: var(--ed-membership-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .partnerships-text {
  font-size: var(--ed-partnerships-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .about-text {
  font-size: var(--ed-about-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .gym-gallery-text {
  font-size: var(--ed-facilities-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .bmi-text {
  font-size: var(--ed-bmi-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .strength-intro {
  font-size: var(--ed-strength-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .location-text {
  font-size: var(--ed-location-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .faq-intro {
  font-size: var(--ed-faq-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .get-in-touch-intro {
  font-size: var(--ed-get-in-touch-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main .site-section-block .programs-description,
html body.preview-editor-mode .site-section-block .programs-description {
    font-size: var(--ed-programs-text-size-mobile, var(--ed-programs-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-text {
    font-size: var(--ed-membership-text-size-mobile, var(--ed-membership-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .partnerships-text {
    font-size: var(--ed-partnerships-text-size-mobile, var(--ed-partnerships-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .about-text {
    font-size: var(--ed-about-text-size-mobile, var(--ed-about-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .gym-gallery-text {
    font-size: var(--ed-facilities-text-size-mobile, var(--ed-facilities-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .bmi-text {
    font-size: var(--ed-bmi-text-size-mobile, var(--ed-bmi-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .strength-intro {
    font-size: var(--ed-strength-text-size-mobile, var(--ed-strength-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .location-text {
    font-size: var(--ed-location-text-size-mobile, var(--ed-location-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .faq-intro {
    font-size: var(--ed-faq-text-size-mobile, var(--ed-faq-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
  html body:not(.dashboard-app-body) main.site-main .site-section-block .get-in-touch-intro {
    font-size: var(--ed-get-in-touch-text-size-mobile, var(--ed-get-in-touch-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
}

/* =========================================================================
   PROGRAM / MEMBERSHIP CARDS — fallback = --pv-card-* sizes
   ========================================================================= */
html body:not(.dashboard-app-body) main.site-main .site-section-block .program-card-title {
  font-size: var(--ed-programs-card-title-size, var(--pv-card-title-size, 17.6px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .program-card-text {
  font-size: var(--ed-programs-card-text-size, var(--pv-card-text-size, 15.2px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-card-title {
  font-size: var(--ed-membership-card-title-size, var(--pv-card-title-size, 17.6px)) !important;
}
html body:not(.dashboard-app-body) main.site-main .site-section-block .membership-card-text {
  font-size: var(--ed-membership-card-text-size, var(--pv-card-text-size, 15.2px)) !important;
}

/* =========================================================================
   BUTTONS — admin button tokens (shadowed by responsive-system on body scope)
   Fallbacks = current rendered values from legacy/main.css.
   ========================================================================= */
html body:not(.dashboard-app-body) .btn,
html body.preview-editor-mode .btn {
  border-radius: var(--ed-button-radius, 999px) !important;
  font-size: var(--ed-button-font-size-desktop, var(--button-font-size, 12px)) !important;
  min-height: var(--ed-button-min-height-desktop, 48px) !important;
  padding-left: var(--ed-button-padding-x-desktop, var(--site-button-padding-x, 24px)) !important;
  padding-right: var(--ed-button-padding-x-desktop, var(--site-button-padding-x, 24px)) !important;
}

/* Booking time-slot buttons reuse the booking min-height where set */
html body:not(.dashboard-app-body) .booking-time-slot {
  min-height: var(--ed-button-min-height-desktop, 48px) !important;
}

html body:not(.dashboard-app-body) .booking-main-button,
html body:not(.dashboard-app-body) .booking-home-cta,
html body:not(.dashboard-app-body) .booking-submit,
html body.preview-editor-mode .booking-main-button,
html body.preview-editor-mode .booking-home-cta,
html body.preview-editor-mode .booking-submit {
  border-radius: var(--ed-button-radius, 999px) !important;
  font-size: var(--ed-button-font-size-desktop, var(--button-font-size, 12px)) !important;
  min-height: var(--ed-button-min-height-desktop, 48px) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) .booking-main-button,
  html body:not(.dashboard-app-body) .booking-home-cta,
  html body:not(.dashboard-app-body) .booking-submit {
    font-size: var(--ed-button-font-size-mobile, var(--ed-button-font-size-desktop, var(--button-font-size, 12px))) !important;
    min-height: var(--ed-button-min-height-mobile, var(--ed-button-min-height-desktop, 48px)) !important;
  }
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) .btn {
    font-size: var(--ed-button-font-size-mobile, var(--ed-button-font-size-desktop, var(--button-font-size, 12px))) !important;
    min-height: var(--ed-button-min-height-mobile, var(--ed-button-min-height-desktop, 48px)) !important;
    padding-left: var(--ed-button-padding-x-mobile, var(--ed-button-padding-x-desktop, 22px)) !important;
    padding-right: var(--ed-button-padding-x-mobile, var(--ed-button-padding-x-desktop, 22px)) !important;
  }
}

/* =========================================================================
   HEADER — menu gap token + flex containment (restores final-nj-exact-clone
   after site-responsive-polish grid rules). Height stays auto so the floating
   glass header can grow; only min-height is token-driven when set.
   ========================================================================= */
html body:not(.dashboard-app-body) .site-header .main-navigation .main-menu,
html body:not(.dashboard-app-body) .main-navigation .menu {
  gap: min(var(--ed-header-menu-gap, clamp(16px, 1.4vw, 28px)), clamp(8px, 1.4vw, 28px)) !important;
}

@media (min-width: 768px) {
  html body:not(.dashboard-app-body) .site-header {
    height: auto !important;
    min-height: var(--ed-header-height-desktop, clamp(64px, 10vw, 86px)) !important;
  }

  html body:not(.dashboard-app-body) .site-header .header-container {
    display: flex !important;
    grid-template-columns: unset !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: clamp(10px, 1.4vw, 22px) !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  html body:not(.dashboard-app-body) .header-logo-wrap {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    grid-column: unset !important;
    justify-self: unset !important;
  }

  html body:not(.dashboard-app-body) .main-navigation {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    justify-content: center !important;
    overflow: hidden !important;
    grid-column: unset !important;
    justify-self: unset !important;
  }

  html body:not(.dashboard-app-body) .main-navigation .main-menu,
  html body:not(.dashboard-app-body) .main-navigation .menu {
    max-width: 100% !important;
    min-width: 0 !important;
    width: auto !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
  }

  html body:not(.dashboard-app-body) .header-actions {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin-left: auto !important;
    grid-column: unset !important;
    justify-self: unset !important;
    z-index: 3 !important;
  }
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) .site-header {
    height: auto !important;
    min-height: var(--ed-header-height-mobile, var(--ed-header-height-desktop, clamp(64px, 10vw, 72px))) !important;
  }
}

/* =========================================================================
   FOOTER — padding (default clamps match responsive-system.css)
   ========================================================================= */
html body:not(.dashboard-app-body) .footer-container {
  padding-top: var(--ed-footer-padding-top-desktop, clamp(40px, 6vw, 64px)) !important;
  padding-bottom: var(--ed-footer-padding-bottom-desktop, clamp(32px, 5vw, 48px)) !important;
}

@media (max-width: 767px) {
  html body:not(.dashboard-app-body) .footer-container {
    padding-top: var(--ed-footer-padding-top-mobile, var(--ed-footer-padding-top-desktop, clamp(40px, 6vw, 64px))) !important;
    padding-bottom: var(--ed-footer-padding-bottom-mobile, var(--ed-footer-padding-bottom-desktop, clamp(32px, 5vw, 48px))) !important;
  }
}

/* =========================================================================
   SECTION TEXT ALIGNMENT (all sections, not just hero)
   -------------------------------------------------------------------------
   The hero handles its own text-align above. Every OTHER section only ever
   centered its heading via `.text-center`, so the admin "Text align" setting
   had nowhere to apply. We alias each section's per-section align variable to a
   single inherited custom property on the section element, then apply it to the
   section's eyebrow / heading / intro copy in one grouped rule. When the
   setting is not set, the variable is invalid and the value falls back to
   `inherit` (= current centered look, zero change). Card titles/text are
   excluded so card layout is unaffected.
   ========================================================================= */
/* -------------------------------------------------------------------------
   SAFE PATTERN: feed the admin value into each section's EXISTING per-section
   variable, falling back to the SAME global token the site already uses. When
   the admin setting is unset the value resolves to the identical current token
   → zero visual change. When set, it overrides cleanly. Wrong/absent var names
   degrade to a harmless no-op (never a regression). The section element carries
   both the `.section` class and `[data-section-key]`, so these high-specificity
   rules win over the legacy `:root`/section-scoped declarations.
   ------------------------------------------------------------------------- */
html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"] {
  --programs-title-weight: var(--ed-programs-title-weight, var(--global-heading-font-weight));
  --programs-title-line-height: var(--ed-programs-title-line-height, var(--global-heading-line-height));
  --programs-title-letter-spacing: var(--ed-programs-title-letter-spacing, var(--global-heading-letter-spacing));
  --programs-eyebrow-weight: var(--ed-programs-eyebrow-weight, var(--global-eyebrow-font-weight));
  --programs-eyebrow-letter-spacing: var(--ed-programs-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing));
  --programs-eyebrow-size: var(--ed-programs-eyebrow-size-desktop, var(--global-eyebrow-size));
  --programs-eyebrow-text-transform: var(--ed-programs-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-align-d: var(--ed-programs-text-align-desktop);
  --ed-sec-align-m: var(--ed-programs-text-align-mobile);
  --ed-sec-title-transform: var(--ed-programs-title-text-transform);
  --ed-sec-text-transform: var(--ed-programs-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"] {
  --membership-title-weight: var(--ed-membership-title-weight, var(--global-heading-font-weight));
  --membership-title-line-height: var(--ed-membership-title-line-height, var(--global-heading-line-height));
  --membership-title-letter-spacing: var(--ed-membership-title-letter-spacing, var(--global-heading-letter-spacing));
  --membership-eyebrow-weight: var(--ed-membership-eyebrow-weight, var(--global-eyebrow-font-weight));
  --membership-eyebrow-letter-spacing: var(--ed-membership-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing));
  --membership-eyebrow-size: var(--ed-membership-eyebrow-size-desktop, var(--global-eyebrow-size));
  --membership-eyebrow-transform: var(--ed-membership-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-align-d: var(--ed-membership-text-align-desktop);
  --ed-sec-align-m: var(--ed-membership-text-align-mobile);
  --ed-sec-title-transform: var(--ed-membership-title-text-transform);
  --ed-sec-text-transform: var(--ed-membership-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"] {
  --partnerships-title-weight: var(--ed-partnerships-title-weight, var(--global-heading-font-weight));
  --partnerships-title-line-height: var(--ed-partnerships-title-line-height, var(--global-heading-line-height));
  --partnerships-title-letter-spacing: var(--ed-partnerships-title-letter-spacing, var(--global-heading-letter-spacing));
  --partnerships-eyebrow-weight: var(--ed-partnerships-eyebrow-weight, var(--global-eyebrow-font-weight));
  --partnerships-eyebrow-letter-spacing: var(--ed-partnerships-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing));
  --partnerships-eyebrow-size: var(--ed-partnerships-eyebrow-size-desktop, var(--global-eyebrow-size));
  --partnerships-eyebrow-transform: var(--ed-partnerships-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-align-d: var(--ed-partnerships-text-align-desktop);
  --ed-sec-align-m: var(--ed-partnerships-text-align-mobile);
  --ed-sec-title-transform: var(--ed-partnerships-title-text-transform);
  --ed-sec-text-transform: var(--ed-partnerships-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="about"] {
  --about-title-weight: var(--ed-about-title-weight, var(--global-heading-font-weight));
  --about-title-line-height: var(--ed-about-title-line-height, var(--global-heading-line-height));
  --about-title-letter-spacing: var(--ed-about-title-letter-spacing, var(--global-heading-letter-spacing));
  --about-eyebrow-weight: var(--ed-about-eyebrow-weight, var(--global-eyebrow-font-weight));
  --about-eyebrow-letter-spacing: var(--ed-about-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing));
  --about-eyebrow-size: var(--ed-about-eyebrow-size-desktop, var(--global-eyebrow-size));
  --about-eyebrow-text-transform: var(--ed-about-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-title-transform: var(--ed-about-title-text-transform);
  --ed-sec-text-transform: var(--ed-about-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="facilities"] {
  --equipment-title-weight: var(--ed-facilities-title-weight, var(--global-heading-font-weight));
  --equipment-title-line-height: var(--ed-facilities-title-line-height, var(--global-heading-line-height));
  --equipment-title-letter-spacing: var(--ed-facilities-title-letter-spacing, var(--global-heading-letter-spacing));
  --equipment-eyebrow-weight: var(--ed-facilities-eyebrow-weight, var(--global-eyebrow-font-weight));
  --equipment-eyebrow-letter-spacing: var(--ed-facilities-eyebrow-letter-spacing, var(--global-eyebrow-letter-spacing));
  --equipment-eyebrow-size: var(--ed-facilities-eyebrow-size-desktop, var(--global-eyebrow-size));
  --equipment-eyebrow-transform: var(--ed-facilities-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-title-transform: var(--ed-facilities-title-text-transform);
  --ed-sec-text-transform: var(--ed-facilities-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="bmi"] {
  --bmi-title-weight: var(--ed-bmi-title-weight, var(--global-heading-font-weight));
  --bmi-title-line-height: var(--ed-bmi-title-line-height, var(--global-heading-line-height));
  --bmi-title-letter-spacing: var(--ed-bmi-title-letter-spacing, var(--global-heading-letter-spacing));
  --bmi-eyebrow-text-transform: var(--ed-bmi-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-title-transform: var(--ed-bmi-title-text-transform);
  --ed-sec-text-transform: var(--ed-bmi-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="location"] {
  --location-title-weight: var(--ed-location-title-weight, var(--global-heading-font-weight));
  --location-title-line-height: var(--ed-location-title-line-height, var(--global-heading-line-height));
  --location-title-letter-spacing: var(--ed-location-title-letter-spacing, var(--global-heading-letter-spacing));
  --location-eyebrow-text-transform: var(--ed-location-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-title-transform: var(--ed-location-title-text-transform);
  --ed-sec-text-transform: var(--ed-location-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="faq"] {
  --faq-title-weight: var(--ed-faq-title-weight, var(--global-heading-font-weight));
  --faq-title-line-height: var(--ed-faq-title-line-height, var(--global-heading-line-height));
  --faq-title-letter-spacing: var(--ed-faq-title-letter-spacing, var(--global-heading-letter-spacing));
  --faq-eyebrow-text-transform: var(--ed-faq-eyebrow-text-transform, var(--global-eyebrow-text-transform));
  --ed-sec-align-d: var(--ed-faq-text-align-desktop);
  --ed-sec-align-m: var(--ed-faq-text-align-mobile);
  --ed-sec-title-transform: var(--ed-faq-title-text-transform);
  --ed-sec-text-transform: var(--ed-faq-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"] {
  --ed-sec-align-d: var(--ed-booking-text-align-desktop);
  --ed-sec-align-m: var(--ed-booking-text-align-mobile);
  --ed-sec-title-transform: var(--ed-booking-title-text-transform);
  --ed-sec-text-transform: var(--ed-booking-text-text-transform);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="get_in_touch"] {
  --ed-sec-align-d: var(--ed-get-in-touch-text-align-desktop);
  --ed-sec-align-m: var(--ed-get-in-touch-text-align-mobile);
  --ed-sec-title-transform: var(--ed-get-in-touch-title-text-transform);
  --ed-sec-text-transform: var(--ed-get-in-touch-text-text-transform);
}

/* Heading text-transform — section titles carry no transform today, so `none`
   is the exact current value (safe fallback). Card titles excluded. */
html body:not(.dashboard-app-body) main.site-main [data-section-key]:not([data-section-key="hero"]) [data-preview-pick$="_title"]:not([data-preview-pick*="card"]) {
  text-transform: var(--ed-sec-title-transform, none) !important;
}
/* Body text-transform — body copy carries no transform today → `none`. */
html body:not(.dashboard-app-body) main.site-main [data-section-key]:not([data-section-key="hero"]) [data-preview-pick$="_description"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key]:not([data-section-key="hero"]) [data-preview-pick$="_text"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key]:not([data-section-key="hero"]) [data-preview-pick$="_intro"]:not([data-preview-pick*="card"]) {
  text-transform: var(--ed-sec-text-transform, none) !important;
}

/* Text alignment — only for sections whose header block is centered today, so
   `center` is the exact current value (safe). Left/split sections (about,
   facilities, bmi, location) are intentionally excluded to protect their
   layout. */
html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"] [data-preview-pick$="_description"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="faq"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="faq"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="get_in_touch"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key="get_in_touch"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]) {
  text-align: var(--ed-sec-align-d, center) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"] [data-preview-pick$="_description"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="faq"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="faq"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="get_in_touch"] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
  html body:not(.dashboard-app-body) main.site-main [data-section-key="get_in_touch"] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]) {
    text-align: var(--ed-sec-align-m, var(--ed-sec-align-d, center)) !important;
  }
}

/* =========================================================================
   SECTION SPACING ALIASES — gaps + per-section buttons
   ========================================================================= */
html body:not(.dashboard-app-body) main.site-main [data-section-key="hero"],
html body.preview-editor-mode [data-section-key="hero"] {
  --ed-sec-eyebrow-title-gap: var(--ed-hero-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-hero-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-hero-text-button-gap);
  --ed-sec-content-gap: var(--ed-hero-content-gap);
  --ed-sec-button-font-size-d: var(--ed-hero-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-hero-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-hero-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-hero-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-hero-button-align-mobile);
  --ed-sec-button-gap: var(--ed-hero-button-gap);
  --ed-sec-button-min-height-d: var(--ed-hero-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-hero-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-hero-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-hero-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-hero-button-radius);
  --hero-neon-glitch-cycle: var(--ed-hero-brand-neon-glitch-cycle, var(--hero-brand-neon-glitch-cycle, 2s));
  --hero-neon-sweep-duration: var(--ed-hero-brand-neon-sweep-duration, var(--hero-brand-neon-sweep-duration, 3.77s));
  --hero-neon-pulse-strength: var(--ed-hero-brand-neon-pulse-strength, var(--hero-brand-neon-pulse-strength, 1));
  --hero-neon-glitch-opacity: var(--ed-hero-brand-neon-glitch-opacity, var(--hero-brand-neon-glitch-opacity, 0.33));
  --hero-neon-glitch-shift: calc(var(--ed-hero-brand-neon-glitch-opacity, var(--hero-brand-neon-glitch-opacity, 0.33)) * 30px);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="programs"],
html body.preview-editor-mode [data-section-key="programs"] {
  --ed-sec-eyebrow-title-gap: var(--ed-programs-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-programs-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-programs-text-button-gap);
  --ed-sec-content-gap: var(--ed-programs-content-gap);
  --ed-sec-button-font-size-d: var(--ed-programs-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-programs-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-programs-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-programs-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-programs-button-align-mobile);
  --ed-sec-button-gap: var(--ed-programs-button-gap);
  --ed-sec-button-min-height-d: var(--ed-programs-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-programs-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-programs-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-programs-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-programs-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="membership"],
html body.preview-editor-mode [data-section-key="membership"] {
  --ed-sec-eyebrow-title-gap: var(--ed-membership-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-membership-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-membership-text-button-gap);
  --ed-sec-content-gap: var(--ed-membership-content-gap);
  --ed-sec-button-font-size-d: var(--ed-membership-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-membership-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-membership-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-membership-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-membership-button-align-mobile);
  --ed-sec-button-gap: var(--ed-membership-button-gap);
  --ed-sec-button-min-height-d: var(--ed-membership-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-membership-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-membership-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-membership-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-membership-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="partnerships"],
html body.preview-editor-mode [data-section-key="partnerships"] {
  --ed-sec-eyebrow-title-gap: var(--ed-partnerships-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-partnerships-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-partnerships-text-button-gap);
  --ed-sec-content-gap: var(--ed-partnerships-content-gap);
  --ed-sec-button-font-size-d: var(--ed-partnerships-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-partnerships-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-partnerships-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-partnerships-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-partnerships-button-align-mobile);
  --ed-sec-button-gap: var(--ed-partnerships-button-gap);
  --ed-sec-button-min-height-d: var(--ed-partnerships-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-partnerships-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-partnerships-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-partnerships-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-partnerships-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="booking"],
html body.preview-editor-mode [data-section-key="booking"] {
  --ed-sec-eyebrow-title-gap: var(--ed-booking-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-booking-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-booking-text-button-gap);
  --ed-sec-content-gap: var(--ed-booking-content-gap);
  --ed-sec-button-font-size-d: var(--ed-booking-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-booking-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-booking-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-booking-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-booking-button-align-mobile);
  --ed-sec-button-gap: var(--ed-booking-button-gap);
  --ed-sec-button-min-height-d: var(--ed-booking-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-booking-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-booking-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-booking-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-booking-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="about"],
html body.preview-editor-mode [data-section-key="about"] {
  --ed-sec-eyebrow-title-gap: var(--ed-about-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-about-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-about-text-button-gap);
  --ed-sec-content-gap: var(--ed-about-content-gap);
  --ed-sec-button-font-size-d: var(--ed-about-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-about-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-about-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-about-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-about-button-align-mobile);
  --ed-sec-button-gap: var(--ed-about-button-gap);
  --ed-sec-button-min-height-d: var(--ed-about-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-about-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-about-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-about-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-about-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="facilities"],
html body.preview-editor-mode [data-section-key="facilities"] {
  --ed-sec-eyebrow-title-gap: var(--ed-facilities-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-facilities-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-facilities-text-button-gap);
  --ed-sec-content-gap: var(--ed-facilities-content-gap);
  --ed-sec-button-font-size-d: var(--ed-facilities-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-facilities-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-facilities-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-facilities-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-facilities-button-align-mobile);
  --ed-sec-button-gap: var(--ed-facilities-button-gap);
  --ed-sec-button-min-height-d: var(--ed-facilities-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-facilities-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-facilities-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-facilities-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-facilities-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="bmi"],
html body.preview-editor-mode [data-section-key="bmi"] {
  --ed-sec-eyebrow-title-gap: var(--ed-bmi-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-bmi-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-bmi-text-button-gap);
  --ed-sec-content-gap: var(--ed-bmi-content-gap);
  --ed-sec-button-font-size-d: var(--ed-bmi-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-bmi-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-bmi-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-bmi-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-bmi-button-align-mobile);
  --ed-sec-button-gap: var(--ed-bmi-button-gap);
  --ed-sec-button-min-height-d: var(--ed-bmi-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-bmi-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-bmi-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-bmi-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-bmi-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="strength"],
html body.preview-editor-mode [data-section-key="strength"] {
  --ed-sec-eyebrow-title-gap: var(--ed-strength-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-strength-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-strength-text-button-gap);
  --ed-sec-content-gap: var(--ed-strength-content-gap);
  --ed-sec-button-font-size-d: var(--ed-strength-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-strength-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-strength-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-strength-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-strength-button-align-mobile);
  --ed-sec-button-gap: var(--ed-strength-button-gap);
  --ed-sec-button-min-height-d: var(--ed-strength-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-strength-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-strength-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-strength-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-strength-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="location"],
html body.preview-editor-mode [data-section-key="location"] {
  --ed-sec-eyebrow-title-gap: var(--ed-location-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-location-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-location-text-button-gap);
  --ed-sec-content-gap: var(--ed-location-content-gap);
  --ed-sec-button-font-size-d: var(--ed-location-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-location-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-location-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-location-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-location-button-align-mobile);
  --ed-sec-button-gap: var(--ed-location-button-gap);
  --ed-sec-button-min-height-d: var(--ed-location-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-location-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-location-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-location-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-location-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="faq"],
html body.preview-editor-mode [data-section-key="faq"] {
  --ed-sec-eyebrow-title-gap: var(--ed-faq-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-faq-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-faq-text-button-gap);
  --ed-sec-content-gap: var(--ed-faq-content-gap);
  --ed-sec-button-font-size-d: var(--ed-faq-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-faq-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-faq-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-faq-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-faq-button-align-mobile);
  --ed-sec-button-gap: var(--ed-faq-button-gap);
  --ed-sec-button-min-height-d: var(--ed-faq-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-faq-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-faq-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-faq-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-faq-button-radius);
}
html body:not(.dashboard-app-body) main.site-main [data-section-key="get_in_touch"],
html body.preview-editor-mode [data-section-key="get_in_touch"] {
  --ed-sec-eyebrow-title-gap: var(--ed-get-in-touch-eyebrow-title-gap);
  --ed-sec-title-text-gap: var(--ed-get-in-touch-title-text-gap);
  --ed-sec-text-button-gap: var(--ed-get-in-touch-text-button-gap);
  --ed-sec-content-gap: var(--ed-get-in-touch-content-gap);
  --ed-sec-button-font-size-d: var(--ed-get-in-touch-button-font-size-desktop);
  --ed-sec-button-font-size-m: var(--ed-get-in-touch-button-font-size-mobile);
  --ed-sec-button-weight: var(--ed-get-in-touch-button-font-weight);
  --ed-sec-button-justify-d: var(--ed-get-in-touch-button-align-desktop);
  --ed-sec-button-justify-m: var(--ed-get-in-touch-button-align-mobile);
  --ed-sec-button-gap: var(--ed-get-in-touch-button-gap);
  --ed-sec-button-min-height-d: var(--ed-get-in-touch-button-min-height-desktop);
  --ed-sec-button-min-height-m: var(--ed-get-in-touch-button-min-height-mobile);
  --ed-sec-button-padding-x-d: var(--ed-get-in-touch-button-padding-x-desktop);
  --ed-sec-button-padding-x-m: var(--ed-get-in-touch-button-padding-x-mobile);
  --ed-sec-button-radius: var(--ed-get-in-touch-button-radius);
}

/* Booking intro body copy */
html body:not(.dashboard-app-body) main.site-main .site-section-block .booking-section-intro-text,
html body.preview-editor-mode .site-section-block .booking-section-intro-text {
  font-size: var(--ed-booking-text-size-desktop, var(--pv-body-size, 16.8px)) !important;
  line-height: var(--ed-booking-text-line-height, var(--pv-body-line-height, 1.7)) !important;
  font-weight: var(--ed-booking-text-weight, 400) !important;
  text-transform: var(--ed-booking-text-text-transform, none) !important;
  color: var(--ed-booking-text-color, rgba(250, 249, 254, 0.78)) !important;
  margin: 0 auto var(--ed-sec-text-button-gap, var(--site-section-header-content-gap, 24px)) !important;
  max-width: min(100%, var(--ed-booking-content-max-width, 720px));
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main .site-section-block .booking-section-intro-text,
  html body.preview-editor-mode .site-section-block .booking-section-intro-text {
    font-size: var(--ed-booking-text-size-mobile, var(--ed-booking-text-size-desktop, var(--pv-body-size, 16.8px))) !important;
  }
}

/* Vertical gaps between intro elements */
html body:not(.dashboard-app-body) main.site-main [data-section-key] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]),
html body.preview-editor-mode [data-section-key] [data-preview-pick$="_eyebrow"]:not([data-preview-pick*="card"]) {
  margin-bottom: var(--ed-sec-eyebrow-title-gap, var(--pv-eyebrow-margin-bottom, 16px)) !important;
}

html body:not(.dashboard-app-body) main.site-main [data-section-key] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]),
html body.preview-editor-mode [data-section-key] [data-preview-pick$="_title"]:not([data-preview-pick*="card"]) {
  margin-bottom: var(--ed-sec-title-text-gap, var(--site-section-header-inner-gap, 12px)) !important;
}

html body:not(.dashboard-app-body) main.site-main [data-section-key] [data-preview-pick$="_description"]:not([data-preview-pick*="card"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]):not([data-preview-pick*="card_text"]),
html body:not(.dashboard-app-body) main.site-main [data-section-key] [data-preview-pick$="_intro"]:not([data-preview-pick*="card"]),
html body.preview-editor-mode [data-section-key] [data-preview-pick$="_description"]:not([data-preview-pick*="card"]),
html body.preview-editor-mode [data-section-key] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]):not([data-preview-pick*="card_text"]),
html body.preview-editor-mode [data-section-key] [data-preview-pick$="_intro"]:not([data-preview-pick*="card"]) {
  margin-bottom: var(--ed-sec-text-button-gap, var(--site-section-header-content-gap, 24px)) !important;
}

/* Intro stack overall gap (flex columns) */
html body:not(.dashboard-app-body) main.site-main [data-section-key] :is(
  .programs-intro--centered,
  .membership-heading,
  .partnerships-heading,
  .booking-section-intro,
  .hero-content.hero-content--neon
),
html body.preview-editor-mode [data-section-key] :is(
  .programs-intro--centered,
  .membership-heading,
  .partnerships-heading,
  .booking-section-intro,
  .hero-content.hero-content--neon
) {
  gap: var(--ed-sec-content-gap, 18px) !important;
}

/* Section CTA button row — position + spacing between buttons */
html body:not(.dashboard-app-body) main.site-main [data-section-key] :is(
  [class*="-intro-actions"],
  .hero-actions.hero-actions--neon
),
html body.preview-editor-mode [data-section-key] :is(
  [class*="-intro-actions"],
  .hero-actions.hero-actions--neon
) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: var(--ed-sec-button-justify-d, center) !important;
  align-items: center !important;
  gap: var(--ed-sec-button-gap, 12px) !important;
  width: 100%;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main [data-section-key] :is(
    [class*="-intro-actions"],
    .hero-actions.hero-actions--neon
  ),
  html body.preview-editor-mode [data-section-key] :is(
    [class*="-intro-actions"],
    .hero-actions.hero-actions--neon
  ) {
    justify-content: var(--ed-sec-button-justify-m, var(--ed-sec-button-justify-d, center)) !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    max-width: min(100%, clamp(220px, 78vw, 320px)) !important;
    margin-inline: auto !important;
    gap: clamp(10px, 2.5vw, 14px) !important;
  }
}

/* Section CTA buttons — size, weight, padding (not booking panel internals) */
html body:not(.dashboard-app-body) main.site-main [data-section-key] :is(
  [data-preview-pick$="_button"]:not([data-preview-pick*="card"]):not([data-preview-pick*="booking"]),
  [data-preview-pick$="_cta"]:not([data-preview-pick*="card"]),
  .hero-actions .hero-btn,
  .hero-actions .btn
),
html body.preview-editor-mode [data-section-key] :is(
  [data-preview-pick$="_button"]:not([data-preview-pick*="card"]):not([data-preview-pick*="booking"]),
  [data-preview-pick$="_cta"]:not([data-preview-pick*="card"]),
  .hero-actions .hero-btn,
  .hero-actions .btn
) {
  font-size: var(--ed-sec-button-font-size-d, var(--button-font-size, 12px)) !important;
  font-weight: var(--ed-sec-button-weight, var(--button-font-weight, 600)) !important;
  min-height: var(--ed-sec-button-min-height-d, var(--button-min-height, 48px)) !important;
  padding-left: var(--ed-sec-button-padding-x-d, var(--site-button-padding-x, 24px)) !important;
  padding-right: var(--ed-sec-button-padding-x-d, var(--site-button-padding-x, 24px)) !important;
  border-radius: var(--ed-sec-button-radius, var(--button-radius, 999px)) !important;
}

@media (max-width: 760px) {
  html body:not(.dashboard-app-body) main.site-main [data-section-key] :is(
    [data-preview-pick$="_button"]:not([data-preview-pick*="card"]):not([data-preview-pick*="booking"]),
    [data-preview-pick$="_cta"]:not([data-preview-pick*="card"]),
    .hero-actions .hero-btn,
    .hero-actions .btn
  ),
  html body.preview-editor-mode [data-section-key] :is(
    [data-preview-pick$="_button"]:not([data-preview-pick*="card"]):not([data-preview-pick*="booking"]),
    [data-preview-pick$="_cta"]:not([data-preview-pick*="card"]),
    .hero-actions .hero-btn,
    .hero-actions .btn
  ) {
    font-size: var(--ed-sec-button-font-size-m, var(--ed-sec-button-font-size-d, var(--button-font-size, 12px))) !important;
    min-height: var(--ed-sec-button-min-height-m, var(--ed-sec-button-min-height-d, 48px)) !important;
    padding-left: var(--ed-sec-button-padding-x-m, var(--ed-sec-button-padding-x-d, 22px)) !important;
    padding-right: var(--ed-sec-button-padding-x-m, var(--ed-sec-button-padding-x-d, 22px)) !important;
  }
}
