/**
 * Independent desktop / tablet / mobile buckets.
 * Tablet never inherits desktop px — each breakpoint has its own --ed-*-tablet vars.
 * In the editor preview, body.preview-device-* forces the bucket (iframe width alone is not enough).
 */

/* --- Per-section active variables (desktop default) --- */
html body.home [data-section-key="hero"],
html body.preview-editor-mode [data-section-key="hero"] {
  --sec-title-size-active: var(--ed-hero-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-hero-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-hero-text-size-desktop);
  --sec-button-font-size-active: var(--ed-hero-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-hero-button-align-desktop, center);
}
html body.home [data-section-key="programs"],
html body.preview-editor-mode [data-section-key="programs"] {
  --sec-title-size-active: var(--ed-programs-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-programs-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-programs-text-size-desktop);
  --sec-button-font-size-active: var(--ed-programs-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-programs-button-align-desktop, center);
}
html body.home [data-section-key="membership"],
html body.preview-editor-mode [data-section-key="membership"] {
  --sec-title-size-active: var(--ed-membership-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-membership-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-membership-text-size-desktop);
  --sec-button-font-size-active: var(--ed-membership-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-membership-button-align-desktop, center);
}
html body.home [data-section-key="partnerships"],
html body.preview-editor-mode [data-section-key="partnerships"] {
  --sec-title-size-active: var(--ed-partnerships-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-partnerships-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-partnerships-text-size-desktop);
  --sec-button-font-size-active: var(--ed-partnerships-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-partnerships-button-align-desktop, center);
}
html body.home [data-section-key="booking"],
html body.preview-editor-mode [data-section-key="booking"] {
  --sec-title-size-active: var(--ed-booking-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-booking-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-booking-text-size-desktop);
  --sec-button-font-size-active: var(--ed-booking-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-booking-button-align-desktop, center);
}
html body.home [data-section-key="about"],
html body.preview-editor-mode [data-section-key="about"] {
  --sec-title-size-active: var(--ed-about-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-about-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-about-text-size-desktop);
  --sec-button-font-size-active: var(--ed-about-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-about-button-align-desktop, center);
}
html body.home [data-section-key="facilities"],
html body.preview-editor-mode [data-section-key="facilities"] {
  --sec-title-size-active: var(--ed-facilities-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-facilities-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-facilities-text-size-desktop);
  --sec-button-font-size-active: var(--ed-facilities-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-facilities-button-align-desktop, center);
}
html body.home [data-section-key="bmi"],
html body.preview-editor-mode [data-section-key="bmi"] {
  --sec-title-size-active: var(--ed-bmi-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-bmi-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-bmi-text-size-desktop);
  --sec-button-font-size-active: var(--ed-bmi-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-bmi-button-align-desktop, center);
}
html body.home [data-section-key="strength"],
html body.preview-editor-mode [data-section-key="strength"] {
  --sec-title-size-active: var(--ed-strength-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-strength-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-strength-text-size-desktop);
  --sec-button-font-size-active: var(--ed-strength-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-strength-button-align-desktop, center);
}
html body.home [data-section-key="location"],
html body.preview-editor-mode [data-section-key="location"] {
  --sec-title-size-active: var(--ed-location-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-location-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-location-text-size-desktop);
  --sec-button-font-size-active: var(--ed-location-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-location-button-align-desktop, center);
}
html body.home [data-section-key="faq"],
html body.preview-editor-mode [data-section-key="faq"] {
  --sec-title-size-active: var(--ed-faq-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-faq-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-faq-text-size-desktop);
  --sec-button-font-size-active: var(--ed-faq-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-faq-button-align-desktop, center);
}
html body.home [data-section-key="get_in_touch"],
html body.preview-editor-mode [data-section-key="get_in_touch"] {
  --sec-title-size-active: var(--ed-get-in-touch-title-size-desktop);
  --sec-eyebrow-size-active: var(--ed-get-in-touch-eyebrow-size-desktop);
  --sec-text-size-active: var(--ed-get-in-touch-text-size-desktop);
  --sec-button-font-size-active: var(--ed-get-in-touch-button-font-size-desktop);
  --sec-button-justify-active: var(--ed-get-in-touch-button-align-desktop, center);
}

/* --- Tablet bucket (live site: 761–1023px) --- */
@media (min-width: 761px) and (max-width: 1023px) {
  html body.home:not(.preview-editor-mode) [data-section-key="hero"] {
    --sec-title-size-active: var(--ed-hero-title-size-tablet, var(--ed-hero-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-hero-eyebrow-size-tablet, var(--ed-hero-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-hero-text-size-tablet, var(--ed-hero-text-size-desktop));
    --sec-button-font-size-active: var(--ed-hero-button-font-size-tablet, var(--ed-hero-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-hero-button-align-tablet, var(--ed-hero-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="programs"] {
    --sec-title-size-active: var(--ed-programs-title-size-tablet, var(--ed-programs-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-programs-eyebrow-size-tablet, var(--ed-programs-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-programs-text-size-tablet, var(--ed-programs-text-size-desktop));
    --sec-button-font-size-active: var(--ed-programs-button-font-size-tablet, var(--ed-programs-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-programs-button-align-tablet, var(--ed-programs-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="membership"] {
    --sec-title-size-active: var(--ed-membership-title-size-tablet, var(--ed-membership-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-membership-eyebrow-size-tablet, var(--ed-membership-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-membership-text-size-tablet, var(--ed-membership-text-size-desktop));
    --sec-button-font-size-active: var(--ed-membership-button-font-size-tablet, var(--ed-membership-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-membership-button-align-tablet, var(--ed-membership-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="partnerships"] {
    --sec-title-size-active: var(--ed-partnerships-title-size-tablet, var(--ed-partnerships-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-partnerships-eyebrow-size-tablet, var(--ed-partnerships-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-partnerships-text-size-tablet, var(--ed-partnerships-text-size-desktop));
    --sec-button-font-size-active: var(--ed-partnerships-button-font-size-tablet, var(--ed-partnerships-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-partnerships-button-align-tablet, var(--ed-partnerships-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="booking"] {
    --sec-title-size-active: var(--ed-booking-title-size-tablet, var(--ed-booking-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-booking-eyebrow-size-tablet, var(--ed-booking-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-booking-text-size-tablet, var(--ed-booking-text-size-desktop));
    --sec-button-font-size-active: var(--ed-booking-button-font-size-tablet, var(--ed-booking-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-booking-button-align-tablet, var(--ed-booking-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="about"] {
    --sec-title-size-active: var(--ed-about-title-size-tablet, var(--ed-about-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-about-eyebrow-size-tablet, var(--ed-about-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-about-text-size-tablet, var(--ed-about-text-size-desktop));
    --sec-button-font-size-active: var(--ed-about-button-font-size-tablet, var(--ed-about-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-about-button-align-tablet, var(--ed-about-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="facilities"] {
    --sec-title-size-active: var(--ed-facilities-title-size-tablet, var(--ed-facilities-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-facilities-eyebrow-size-tablet, var(--ed-facilities-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-facilities-text-size-tablet, var(--ed-facilities-text-size-desktop));
    --sec-button-font-size-active: var(--ed-facilities-button-font-size-tablet, var(--ed-facilities-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-facilities-button-align-tablet, var(--ed-facilities-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="bmi"] {
    --sec-title-size-active: var(--ed-bmi-title-size-tablet, var(--ed-bmi-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-bmi-eyebrow-size-tablet, var(--ed-bmi-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-bmi-text-size-tablet, var(--ed-bmi-text-size-desktop));
    --sec-button-font-size-active: var(--ed-bmi-button-font-size-tablet, var(--ed-bmi-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-bmi-button-align-tablet, var(--ed-bmi-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="strength"] {
    --sec-title-size-active: var(--ed-strength-title-size-tablet, var(--ed-strength-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-strength-eyebrow-size-tablet, var(--ed-strength-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-strength-text-size-tablet, var(--ed-strength-text-size-desktop));
    --sec-button-font-size-active: var(--ed-strength-button-font-size-tablet, var(--ed-strength-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-strength-button-align-tablet, var(--ed-strength-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="location"] {
    --sec-title-size-active: var(--ed-location-title-size-tablet, var(--ed-location-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-location-eyebrow-size-tablet, var(--ed-location-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-location-text-size-tablet, var(--ed-location-text-size-desktop));
    --sec-button-font-size-active: var(--ed-location-button-font-size-tablet, var(--ed-location-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-location-button-align-tablet, var(--ed-location-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="faq"] {
    --sec-title-size-active: var(--ed-faq-title-size-tablet, var(--ed-faq-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-faq-eyebrow-size-tablet, var(--ed-faq-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-faq-text-size-tablet, var(--ed-faq-text-size-desktop));
    --sec-button-font-size-active: var(--ed-faq-button-font-size-tablet, var(--ed-faq-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-faq-button-align-tablet, var(--ed-faq-button-align-desktop, center));
  }
  html body.home:not(.preview-editor-mode) [data-section-key="get_in_touch"] {
    --sec-title-size-active: var(--ed-get-in-touch-title-size-tablet, var(--ed-get-in-touch-title-size-desktop));
    --sec-eyebrow-size-active: var(--ed-get-in-touch-eyebrow-size-tablet, var(--ed-get-in-touch-eyebrow-size-desktop));
    --sec-text-size-active: var(--ed-get-in-touch-text-size-tablet, var(--ed-get-in-touch-text-size-desktop));
    --sec-button-font-size-active: var(--ed-get-in-touch-button-font-size-tablet, var(--ed-get-in-touch-button-font-size-desktop));
    --sec-button-justify-active: var(--ed-get-in-touch-button-align-tablet, var(--ed-get-in-touch-button-align-desktop, center));
  }
}

/* Apply active bucket to all section typography + CTA buttons */
body.preview-editor-mode.preview-device-tablet [data-section-key="hero"] {
  --sec-title-size-active: var(--ed-hero-title-size-tablet, var(--ed-hero-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-hero-eyebrow-size-tablet, var(--ed-hero-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-hero-text-size-tablet, var(--ed-hero-text-size-desktop));
  --sec-button-font-size-active: var(--ed-hero-button-font-size-tablet, var(--ed-hero-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-hero-button-align-tablet, var(--ed-hero-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="programs"] {
  --sec-title-size-active: var(--ed-programs-title-size-tablet, var(--ed-programs-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-programs-eyebrow-size-tablet, var(--ed-programs-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-programs-text-size-tablet, var(--ed-programs-text-size-desktop));
  --sec-button-font-size-active: var(--ed-programs-button-font-size-tablet, var(--ed-programs-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-programs-button-align-tablet, var(--ed-programs-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="membership"] {
  --sec-title-size-active: var(--ed-membership-title-size-tablet, var(--ed-membership-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-membership-eyebrow-size-tablet, var(--ed-membership-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-membership-text-size-tablet, var(--ed-membership-text-size-desktop));
  --sec-button-font-size-active: var(--ed-membership-button-font-size-tablet, var(--ed-membership-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-membership-button-align-tablet, var(--ed-membership-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="partnerships"] {
  --sec-title-size-active: var(--ed-partnerships-title-size-tablet, var(--ed-partnerships-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-partnerships-eyebrow-size-tablet, var(--ed-partnerships-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-partnerships-text-size-tablet, var(--ed-partnerships-text-size-desktop));
  --sec-button-font-size-active: var(--ed-partnerships-button-font-size-tablet, var(--ed-partnerships-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-partnerships-button-align-tablet, var(--ed-partnerships-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="booking"] {
  --sec-title-size-active: var(--ed-booking-title-size-tablet, var(--ed-booking-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-booking-eyebrow-size-tablet, var(--ed-booking-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-booking-text-size-tablet, var(--ed-booking-text-size-desktop));
  --sec-button-font-size-active: var(--ed-booking-button-font-size-tablet, var(--ed-booking-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-booking-button-align-tablet, var(--ed-booking-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="about"] {
  --sec-title-size-active: var(--ed-about-title-size-tablet, var(--ed-about-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-about-eyebrow-size-tablet, var(--ed-about-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-about-text-size-tablet, var(--ed-about-text-size-desktop));
  --sec-button-font-size-active: var(--ed-about-button-font-size-tablet, var(--ed-about-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-about-button-align-tablet, var(--ed-about-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="facilities"] {
  --sec-title-size-active: var(--ed-facilities-title-size-tablet, var(--ed-facilities-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-facilities-eyebrow-size-tablet, var(--ed-facilities-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-facilities-text-size-tablet, var(--ed-facilities-text-size-desktop));
  --sec-button-font-size-active: var(--ed-facilities-button-font-size-tablet, var(--ed-facilities-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-facilities-button-align-tablet, var(--ed-facilities-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="bmi"] {
  --sec-title-size-active: var(--ed-bmi-title-size-tablet, var(--ed-bmi-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-bmi-eyebrow-size-tablet, var(--ed-bmi-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-bmi-text-size-tablet, var(--ed-bmi-text-size-desktop));
  --sec-button-font-size-active: var(--ed-bmi-button-font-size-tablet, var(--ed-bmi-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-bmi-button-align-tablet, var(--ed-bmi-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="strength"] {
  --sec-title-size-active: var(--ed-strength-title-size-tablet, var(--ed-strength-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-strength-eyebrow-size-tablet, var(--ed-strength-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-strength-text-size-tablet, var(--ed-strength-text-size-desktop));
  --sec-button-font-size-active: var(--ed-strength-button-font-size-tablet, var(--ed-strength-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-strength-button-align-tablet, var(--ed-strength-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="location"] {
  --sec-title-size-active: var(--ed-location-title-size-tablet, var(--ed-location-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-location-eyebrow-size-tablet, var(--ed-location-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-location-text-size-tablet, var(--ed-location-text-size-desktop));
  --sec-button-font-size-active: var(--ed-location-button-font-size-tablet, var(--ed-location-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-location-button-align-tablet, var(--ed-location-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="faq"] {
  --sec-title-size-active: var(--ed-faq-title-size-tablet, var(--ed-faq-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-faq-eyebrow-size-tablet, var(--ed-faq-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-faq-text-size-tablet, var(--ed-faq-text-size-desktop));
  --sec-button-font-size-active: var(--ed-faq-button-font-size-tablet, var(--ed-faq-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-faq-button-align-tablet, var(--ed-faq-button-align-desktop, center));
}
body.preview-editor-mode.preview-device-tablet [data-section-key="get_in_touch"] {
  --sec-title-size-active: var(--ed-get-in-touch-title-size-tablet, var(--ed-get-in-touch-title-size-desktop));
  --sec-eyebrow-size-active: var(--ed-get-in-touch-eyebrow-size-tablet, var(--ed-get-in-touch-eyebrow-size-desktop));
  --sec-text-size-active: var(--ed-get-in-touch-text-size-tablet, var(--ed-get-in-touch-text-size-desktop));
  --sec-button-font-size-active: var(--ed-get-in-touch-button-font-size-tablet, var(--ed-get-in-touch-button-font-size-desktop));
  --sec-button-justify-active: var(--ed-get-in-touch-button-align-tablet, var(--ed-get-in-touch-button-align-desktop, center));
}

body.preview-editor-mode.preview-device-mobile [data-section-key="hero"] {
  --sec-title-size-active: var(--ed-hero-title-size-mobile, var(--ed-hero-title-size-tablet, var(--ed-hero-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-hero-eyebrow-size-mobile, var(--ed-hero-eyebrow-size-tablet, var(--ed-hero-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-hero-text-size-mobile, var(--ed-hero-text-size-tablet, var(--ed-hero-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-hero-button-font-size-mobile, var(--ed-hero-button-font-size-tablet, var(--ed-hero-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-hero-button-align-mobile, var(--ed-hero-button-align-tablet, var(--ed-hero-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="programs"] {
  --sec-title-size-active: var(--ed-programs-title-size-mobile, var(--ed-programs-title-size-tablet, var(--ed-programs-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-programs-eyebrow-size-mobile, var(--ed-programs-eyebrow-size-tablet, var(--ed-programs-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-programs-text-size-mobile, var(--ed-programs-text-size-tablet, var(--ed-programs-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-programs-button-font-size-mobile, var(--ed-programs-button-font-size-tablet, var(--ed-programs-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-programs-button-align-mobile, var(--ed-programs-button-align-tablet, var(--ed-programs-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="membership"] {
  --sec-title-size-active: var(--ed-membership-title-size-mobile, var(--ed-membership-title-size-tablet, var(--ed-membership-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-membership-eyebrow-size-mobile, var(--ed-membership-eyebrow-size-tablet, var(--ed-membership-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-membership-text-size-mobile, var(--ed-membership-text-size-tablet, var(--ed-membership-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-membership-button-font-size-mobile, var(--ed-membership-button-font-size-tablet, var(--ed-membership-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-membership-button-align-mobile, var(--ed-membership-button-align-tablet, var(--ed-membership-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="partnerships"] {
  --sec-title-size-active: var(--ed-partnerships-title-size-mobile, var(--ed-partnerships-title-size-tablet, var(--ed-partnerships-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-partnerships-eyebrow-size-mobile, var(--ed-partnerships-eyebrow-size-tablet, var(--ed-partnerships-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-partnerships-text-size-mobile, var(--ed-partnerships-text-size-tablet, var(--ed-partnerships-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-partnerships-button-font-size-mobile, var(--ed-partnerships-button-font-size-tablet, var(--ed-partnerships-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-partnerships-button-align-mobile, var(--ed-partnerships-button-align-tablet, var(--ed-partnerships-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="booking"] {
  --sec-title-size-active: var(--ed-booking-title-size-mobile, var(--ed-booking-title-size-tablet, var(--ed-booking-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-booking-eyebrow-size-mobile, var(--ed-booking-eyebrow-size-tablet, var(--ed-booking-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-booking-text-size-mobile, var(--ed-booking-text-size-tablet, var(--ed-booking-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-booking-button-font-size-mobile, var(--ed-booking-button-font-size-tablet, var(--ed-booking-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-booking-button-align-mobile, var(--ed-booking-button-align-tablet, var(--ed-booking-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="about"] {
  --sec-title-size-active: var(--ed-about-title-size-mobile, var(--ed-about-title-size-tablet, var(--ed-about-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-about-eyebrow-size-mobile, var(--ed-about-eyebrow-size-tablet, var(--ed-about-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-about-text-size-mobile, var(--ed-about-text-size-tablet, var(--ed-about-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-about-button-font-size-mobile, var(--ed-about-button-font-size-tablet, var(--ed-about-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-about-button-align-mobile, var(--ed-about-button-align-tablet, var(--ed-about-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="facilities"] {
  --sec-title-size-active: var(--ed-facilities-title-size-mobile, var(--ed-facilities-title-size-tablet, var(--ed-facilities-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-facilities-eyebrow-size-mobile, var(--ed-facilities-eyebrow-size-tablet, var(--ed-facilities-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-facilities-text-size-mobile, var(--ed-facilities-text-size-tablet, var(--ed-facilities-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-facilities-button-font-size-mobile, var(--ed-facilities-button-font-size-tablet, var(--ed-facilities-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-facilities-button-align-mobile, var(--ed-facilities-button-align-tablet, var(--ed-facilities-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="bmi"] {
  --sec-title-size-active: var(--ed-bmi-title-size-mobile, var(--ed-bmi-title-size-tablet, var(--ed-bmi-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-bmi-eyebrow-size-mobile, var(--ed-bmi-eyebrow-size-tablet, var(--ed-bmi-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-bmi-text-size-mobile, var(--ed-bmi-text-size-tablet, var(--ed-bmi-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-bmi-button-font-size-mobile, var(--ed-bmi-button-font-size-tablet, var(--ed-bmi-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-bmi-button-align-mobile, var(--ed-bmi-button-align-tablet, var(--ed-bmi-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="strength"] {
  --sec-title-size-active: var(--ed-strength-title-size-mobile, var(--ed-strength-title-size-tablet, var(--ed-strength-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-strength-eyebrow-size-mobile, var(--ed-strength-eyebrow-size-tablet, var(--ed-strength-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-strength-text-size-mobile, var(--ed-strength-text-size-tablet, var(--ed-strength-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-strength-button-font-size-mobile, var(--ed-strength-button-font-size-tablet, var(--ed-strength-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-strength-button-align-mobile, var(--ed-strength-button-align-tablet, var(--ed-strength-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="location"] {
  --sec-title-size-active: var(--ed-location-title-size-mobile, var(--ed-location-title-size-tablet, var(--ed-location-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-location-eyebrow-size-mobile, var(--ed-location-eyebrow-size-tablet, var(--ed-location-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-location-text-size-mobile, var(--ed-location-text-size-tablet, var(--ed-location-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-location-button-font-size-mobile, var(--ed-location-button-font-size-tablet, var(--ed-location-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-location-button-align-mobile, var(--ed-location-button-align-tablet, var(--ed-location-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="faq"] {
  --sec-title-size-active: var(--ed-faq-title-size-mobile, var(--ed-faq-title-size-tablet, var(--ed-faq-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-faq-eyebrow-size-mobile, var(--ed-faq-eyebrow-size-tablet, var(--ed-faq-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-faq-text-size-mobile, var(--ed-faq-text-size-tablet, var(--ed-faq-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-faq-button-font-size-mobile, var(--ed-faq-button-font-size-tablet, var(--ed-faq-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-faq-button-align-mobile, var(--ed-faq-button-align-tablet, var(--ed-faq-button-align-desktop, center)));
}
body.preview-editor-mode.preview-device-mobile [data-section-key="get_in_touch"] {
  --sec-title-size-active: var(--ed-get-in-touch-title-size-mobile, var(--ed-get-in-touch-title-size-tablet, var(--ed-get-in-touch-title-size-desktop)));
  --sec-eyebrow-size-active: var(--ed-get-in-touch-eyebrow-size-mobile, var(--ed-get-in-touch-eyebrow-size-tablet, var(--ed-get-in-touch-eyebrow-size-desktop)));
  --sec-text-size-active: var(--ed-get-in-touch-text-size-mobile, var(--ed-get-in-touch-text-size-tablet, var(--ed-get-in-touch-text-size-desktop)));
  --sec-button-font-size-active: var(--ed-get-in-touch-button-font-size-mobile, var(--ed-get-in-touch-button-font-size-tablet, var(--ed-get-in-touch-button-font-size-desktop)));
  --sec-button-justify-active: var(--ed-get-in-touch-button-align-mobile, var(--ed-get-in-touch-button-align-tablet, var(--ed-get-in-touch-button-align-desktop, center)));
}

/* Apply active bucket to all section typography + CTA buttons */
html body.home:not(.dashboard-app-body) [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"]),
html body.home:not(.dashboard-app-body) .site-section-block .programs-title,
html body.preview-editor-mode .site-section-block .programs-title,
html body.home:not(.dashboard-app-body) .site-section-block .booking-section-intro-title,
html body.preview-editor-mode .site-section-block .booking-section-intro-title {
  font-size: var(--sec-title-size-active, var(--pv-heading-size, 28.8px)) !important;
}

html body.home:not(.dashboard-app-body) [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"]) {
  font-size: var(--sec-eyebrow-size-active, var(--global-eyebrow-size, 15px)) !important;
}

html body.home:not(.dashboard-app-body) [data-section-key] [data-preview-pick$="_description"]:not([data-preview-pick*="card"]),
html body.home:not(.dashboard-app-body) [data-section-key] [data-preview-pick$="_text"]:not([data-preview-pick*="card"]):not([data-preview-pick*="card_text"]),
html body.home:not(.dashboard-app-body) [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"]) {
  font-size: var(--sec-text-size-active, var(--pv-body-size, 16.8px)) !important;
}

html body.home:not(.dashboard-app-body) [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(--sec-button-font-size-active, var(--button-font-size, 12px)) !important;
}

html body.home:not(.dashboard-app-body) [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(--sec-button-justify-active, center) !important;
}

/* ----- Mobile: fluid logos, vertical hero CTAs, responsive section typography ----- */
@media (max-width: 767px) {
  :root {
    --site-mobile-section-title: clamp(1.0625rem, 4.2vw, 1.3125rem);
    --site-mobile-section-eyebrow: clamp(0.625rem, 2.2vw, 0.75rem);
    --site-mobile-section-text: clamp(0.8125rem, 2.2vw, 0.9375rem);
    --section-heading-text-gap-mobile: clamp(6px, 1.8vw, 10px);
    --global-text-size-mobile: clamp(13px, 3.2vw, 15px);
    --global-h1-size-mobile: clamp(1.25rem, 5.5vw, 1.5rem);
    --global-h2-size-mobile: clamp(1.0625rem, 4.2vw, 1.3125rem);
    --hero-title-size-mobile: clamp(1.125rem, 4.5vw, 1.375rem);
    --hero-text-size-mobile: clamp(13px, 3.2vw, 15px);
  }

  html body:not(.dashboard-app-body) .hero-actions,
  html body.preview-editor-mode .hero-actions {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
    max-width: min(100%, clamp(220px, 78vw, 320px)) !important;
    margin-inline: auto !important;
    gap: clamp(10px, 2.5vw, 14px) !important;
  }

  html body:not(.dashboard-app-body) .hero-actions .btn,
  html body:not(.dashboard-app-body) .hero-actions .hero-btn,
  html body.preview-editor-mode .hero-actions .btn,
  html body.preview-editor-mode .hero-actions .hero-btn {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body:not(.dashboard-app-body) .site-main :is(
    .programs-title,
    .membership-title,
    .partnerships-title,
    .bmi-title,
    .location-title,
    .faq-title,
    .equipment-title,
    .about-title,
    .gym-gallery-title,
    .strength-title,
    .get-in-touch-title,
    .booking-section-intro-title
  ) {
    font-size: var(--site-mobile-section-title) !important;
    margin-bottom: var(--section-heading-text-gap-mobile) !important;
    line-height: 1.04 !important;
    letter-spacing: 0.01em !important;
    text-wrap: balance;
  }

  body:not(.dashboard-app-body) .site-main :is(
    .programs-eyebrow,
    .membership-eyebrow,
    .partnerships-eyebrow,
    .bmi-eyebrow,
    .location-eyebrow,
    .faq-eyebrow,
    .equipment-eyebrow,
    .about-eyebrow,
    .gym-gallery-eyebrow,
    .strength-eyebrow,
    .get-in-touch-eyebrow,
    .booking-section-intro-eyebrow
  ) {
    font-size: var(--site-mobile-section-eyebrow) !important;
    margin-bottom: clamp(6px, 1.8vw, 10px) !important;
    letter-spacing: clamp(0.08em, 0.3vw, 0.12em) !important;
  }

  body:not(.dashboard-app-body) .site-main :is(
    .programs-description,
    .membership-text,
    .partnerships-text,
    .bmi-text,
    .about-text,
    .equipment-text,
    .location-text,
    .faq-intro,
    .gym-gallery-text,
    .strength-text,
    .get-in-touch-intro,
    .booking-section-intro-text,
    .hero-text
  ) {
    font-size: var(--site-mobile-section-text) !important;
    line-height: 1.55 !important;
  }

  body:not(.dashboard-app-body) .site-main :is(
    .programs-page-title,
    .about-page-title,
    .partnerships-page-title,
    .contact-location-title,
    .blog-page-title,
    .legal-page-title,
    .program-detail-title,
    .single-post-title
  ) {
    font-size: var(--global-h1-size-mobile) !important;
    line-height: 1.04 !important;
    letter-spacing: 0.01em !important;
    text-wrap: balance;
  }

  html body:not(.dashboard-app-body) .hero-section.hero-section--neon .hero-title,
  html body.preview-editor-mode .hero-section.hero-section--neon .hero-title {
    font-size: var(--hero-title-size-mobile, clamp(1.125rem, 4.5vw, 1.375rem)) !important;
    margin-bottom: var(--section-heading-text-gap-mobile) !important;
    line-height: 1.04 !important;
    letter-spacing: 0.01em !important;
    text-wrap: balance;
  }

  html body:not(.dashboard-app-body) .hero-section.hero-section--neon .hero-text,
  html body.preview-editor-mode .hero-section.hero-section--neon .hero-text {
    font-size: var(--hero-text-size-mobile, clamp(13px, 3.2vw, 15px)) !important;
    line-height: 1.5 !important;
    margin-bottom: clamp(12px, 3vw, 20px) !important;
  }

  html body:not(.dashboard-app-body) .hero-neon-brand-title,
  html body.preview-editor-mode .hero-neon-brand-title {
    font-size: var(--pv-hero-brand-size, 34px) !important;
    letter-spacing: 0.04em !important;
    line-height: 1.02 !important;
  }

  /* Programs + membership: beat settings-bridge desktop fallback on mobile */
  html body.home:not(.dashboard-app-body) main.site-main .site-section-block .programs-title,
  html body.preview-editor-mode main.site-main .site-section-block .programs-title {
    font-size: var(--ed-programs-title-size-mobile, var(--site-mobile-section-title)) !important;
    line-height: 1.04 !important;
    letter-spacing: 0.01em !important;
    text-wrap: balance;
  }

  html body.home:not(.dashboard-app-body) main.site-main .site-section-block .membership-title,
  html body.preview-editor-mode main.site-main .site-section-block .membership-title {
    font-size: var(--ed-membership-title-size-mobile, var(--site-mobile-section-title)) !important;
    line-height: 1.04 !important;
    letter-spacing: 0.01em !important;
    text-wrap: balance;
  }
}
