/* ==================================================
   PR1MELAB — Premium layout rhythm, borders, motion
================================================== */

:root {
    --site-section-gap: var(--site-section-gap-desktop);
    --hero-section-gap-below: var(--site-section-gap);
    --programs-section-gap-below: var(--site-section-gap);
    --membership-section-gap-below: var(--site-section-gap);
    --partnerships-section-gap-below: var(--site-section-gap);
    --booking-section-gap-below: var(--site-section-gap);
    --about-section-gap-below: var(--site-section-gap);
    --bmi-section-gap-below: var(--site-section-gap);
    --location-section-gap-below: var(--site-section-gap);
    --faq-section-gap-below: var(--site-section-gap);
    --equipment-section-gap-below: var(--site-section-gap);
    --gym-gallery-section-gap-below: var(--site-section-gap);
    --strength-section-gap-below: var(--site-section-gap);
    --get-in-touch-section-gap-below: var(--site-section-gap);
    --contact-page-section-gap-below: var(--site-section-gap);
    --legal-page-section-gap-below: var(--site-section-gap);
    --blog-page-section-gap-below: var(--site-section-gap);
    --programs-page-section-gap-below: var(--site-section-gap);
    --about-page-section-gap-below: var(--site-section-gap);
    --partnerships-page-section-gap-below: var(--site-section-gap);
    --program-detail-section-gap-below: var(--site-section-gap);
    --site-section-inner-y: var(--site-section-padding-y-desktop);
    --site-section-inner-y-mobile: var(--site-section-padding-y-mobile);
    --site-section-inner-y-compact: var(--site-section-padding-y-compact-mobile);
    /* Aliases so the existing premium-layout rules pick up the
       admin-controlled rhythm tokens from main.css. */
    --site-section-stack-gap: var(--section-eyebrow-heading-gap-desktop, 12px);
    --site-section-header-inner-gap: var(--section-heading-text-gap-desktop, 20px);
    --site-section-block-gap: var(--site-grid-gap-desktop, 28px);
    --site-section-header-content-gap: var(--section-text-content-gap-desktop, 40px);
    --site-card-frame-border: rgba(255, 255, 255, 0.4);
    --site-map-frame-dark: rgba(6, 6, 10, 0.96);
    --site-map-frame-accent: rgba(222, 36, 47, 0.75);
    --site-reveal-distance: var(--section-reveal-distance-desktop, 16px);
    --site-reveal-duration: var(--section-reveal-duration-desktop, 0.72s);
    --hero-viewport-height: 100vh;
    --hero-content-top-locked: 50%;
    --hero-container-pad-x: max(16px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
    --hero-video-breakpoint: 760px;
    --site-map-tile-opacity: 0.88;
    --site-map-overlay-opacity: 0.1;
    --scroll-top-ring-width: 1px;
    --scroll-top-ring-color: rgba(250, 249, 254, 0.14);
}

@supports (height: 100svh) {
    :root {
        --hero-viewport-height: 100svh;
    }
}

@supports (height: 100svh) {
    :root {
        --hero-viewport-height: 100svh;
    }
}

@media (max-width: 760px) {
    :root {
        --hero-viewport-height: 100svh;
    }
}

@media (prefers-reduced-motion: no-preference) {
    html:not(.dashboard-app-body) {
        scroll-behavior: auto;
    }
}

body:not(.dashboard-app-body) {
    scroll-padding-top: calc(var(--header-height) + 20px);
}

/* -------- Uniform gap between every front-page section -------- */
body:not(.dashboard-app-body) .hero-section,
body:not(.dashboard-app-body) .programs-section,
body:not(.dashboard-app-body) .membership-section,
body:not(.dashboard-app-body) .partnerships-section,
body:not(.dashboard-app-body) .booking-section,
body:not(.dashboard-app-body) .about-section,
body:not(.dashboard-app-body) .bmi-section,
body:not(.dashboard-app-body) .location-section,
body:not(.dashboard-app-body) .faq-section,
body:not(.dashboard-app-body) .equipment-section {
    margin-bottom: var(--site-section-gap) !important;
}

body:not(.dashboard-app-body) .programs-section,
body:not(.dashboard-app-body) .membership-section,
body:not(.dashboard-app-body) .partnerships-section,
body:not(.dashboard-app-body) .booking-section,
body:not(.dashboard-app-body) .about-section,
body:not(.dashboard-app-body) .bmi-section,
body:not(.dashboard-app-body) .location-section,
body:not(.dashboard-app-body) .faq-section,
body:not(.dashboard-app-body) .equipment-section {
    padding-top: var(--site-section-inner-y) !important;
    padding-bottom: var(--site-section-inner-y) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body:not(.dashboard-app-body) .hero-section {
    margin-bottom: var(--site-section-gap) !important;
}

body:not(.dashboard-app-body) .programs-section {
    padding-top: var(--site-section-inner-y) !important;
}

body:not(.dashboard-app-body) .location-section {
    padding-top: var(--site-section-inner-y) !important;
    padding-bottom: var(--site-section-inner-y) !important;
}

body:not(.dashboard-app-body) .faq-section {
    padding-top: var(--site-section-inner-y) !important;
    padding-bottom: var(--site-section-inner-y) !important;
    margin-bottom: 0 !important;
}

/* Last section before footer — no extra dead scroll space */
body:not(.dashboard-app-body) .location-faq-flow .faq-section:last-child,
body:not(.dashboard-app-body) .site-main > .location-faq-flow:last-child .faq-section {
    margin-bottom: 0 !important;
    padding-bottom: var(--site-section-inner-y) !important;
}

body:not(.dashboard-app-body) .site-footer {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body:not(.dashboard-app-body) .site-page {
    min-height: 0 !important;
}

body:not(.dashboard-app-body) .site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

html,
body:not(.dashboard-app-body) {
    overscroll-behavior-y: auto;
    overscroll-behavior-x: none;
}

body:not(.dashboard-app-body) .programs-membership-flow,
body:not(.dashboard-app-body) .location-faq-flow {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Hero: one screen tall, content centered and locked to the hero block */
body:not(.dashboard-app-body) .hero-section {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    height: var(--hero-viewport-height) !important;
    min-height: var(--hero-viewport-height) !important;
    max-height: var(--hero-viewport-height) !important;
    padding: 0 !important;
    box-sizing: border-box;
    overflow: hidden;
}

body:not(.dashboard-app-body) .hero-media,
body:not(.dashboard-app-body) .hero-overlay,
body:not(.dashboard-app-body) .hero-media picture,
body:not(.dashboard-app-body) .hero-image,
body:not(.dashboard-app-body) .hero-video {
    transform: none !important;
    will-change: auto;
}

body:not(.dashboard-app-body) .hero-container {
    position: relative;
    z-index: var(--z-index-overlay-content, 3);
    display: flex;
    align-items: center;
    justify-content: var(--hero-content-align, center);
    width: 100%;
    max-width: 100%;
    min-height: 0 !important;
    height: 100%;
    flex: 1 1 auto;
    margin: 0;
    padding:
        calc(var(--header-height) + env(safe-area-inset-top, 0px))
        max(var(--hero-container-pad-x), var(--container-padding, 16px))
        0
        max(var(--hero-container-pad-x), var(--container-padding, 16px));
    box-sizing: border-box;
}

@media (max-width: 760px) {
    :root {
        --hero-viewport-height: 100svh;
        --site-section-inner-y: var(--site-section-padding-y-mobile);
        --site-section-header-inner-gap: var(--section-heading-text-gap-mobile, 15px);
        --site-section-header-content-gap: var(--section-text-content-gap-mobile, 28px);
        --site-section-stack-gap: var(--section-eyebrow-heading-gap-mobile, 9px);
        --site-section-block-gap: var(--site-grid-gap-mobile, 18px);
        --site-reveal-distance: var(--section-reveal-distance-mobile, 8px);
        --site-reveal-duration: var(--section-reveal-duration-mobile, 0.38s);
    }

    @supports (height: 100svh) {
        :root {
            --hero-viewport-height: 100svh;
        }
    }

    html.hero-viewport-locked body:not(.dashboard-app-body) .hero-section {
        height: auto !important;
        min-height: var(--hero-viewport-height) !important;
        max-height: none !important;
    }

    body:not(.dashboard-app-body) .hero-section {
        display: flex !important;
        align-items: center;
        justify-content: center;
        height: auto !important;
        min-height: var(--hero-viewport-height) !important;
        max-height: none !important;
        contain: none !important;
        transform: none !important;
    }

    body:not(.dashboard-app-body) .hero-container {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: auto !important;
        min-height: var(--hero-viewport-height) !important;
        margin: 0;
        padding:
            calc(var(--header-height) + env(safe-area-inset-top, 0px))
            max(var(--hero-container-pad-x), var(--container-padding, 16px))
            max(16px, env(safe-area-inset-bottom, 0px))
            max(var(--hero-container-pad-x), var(--container-padding, 16px)) !important;
        box-sizing: border-box;
        pointer-events: auto !important;
    }

    body:not(.dashboard-app-body) .hero-content {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: min(100%, var(--hero-content-width, 100%));
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        transform: none !important;
        pointer-events: auto;
        flex: 0 1 auto;
    }

    body:not(.dashboard-app-body) .hero-content,
    body:not(.dashboard-app-body) .hero-title,
    body:not(.dashboard-app-body) .hero-text,
    body:not(.dashboard-app-body) .hero-actions {
        will-change: auto;
    }
}

body:not(.dashboard-app-body) .hero-content {
    display: flex;
    flex-direction: column;
    margin: 0 auto !important;
    width: min(100%, var(--hero-content-width, 760px));
    transform: none !important;
    will-change: auto;
    align-items: stretch;
}

body:not(.dashboard-app-body) .hero-title {
    text-align: var(--hero-title-text-align, center);
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body:not(.dashboard-app-body) .hero-text {
    text-align: var(--hero-text-text-align, center);
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body:not(.dashboard-app-body) .hero-actions {
    justify-content: center;
    width: 100%;
}

/* -------- Section headers: same internal stack + same gap to content -------- */
body:not(.dashboard-app-body) .membership-heading,
body:not(.dashboard-app-body) .partnerships-heading,
body:not(.dashboard-app-body) .booking-section-intro,
body:not(.dashboard-app-body) .location-heading,
body:not(.dashboard-app-body) .faq-heading,
body:not(.dashboard-app-body) .equipment-heading,
body:not(.dashboard-app-body) .about-heading,
body:not(.dashboard-app-body) .bmi-left,
body:not(.dashboard-app-body) .strength-heading,
body:not(.dashboard-app-body) .gym-gallery-heading,
body:not(.dashboard-app-body) .get-in-touch-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body:not(.dashboard-app-body) .membership-heading,
body:not(.dashboard-app-body) .partnerships-heading,
body:not(.dashboard-app-body) .booking-section-intro,
body:not(.dashboard-app-body) .location-heading,
body:not(.dashboard-app-body) .faq-heading,
body:not(.dashboard-app-body) .equipment-heading,
body:not(.dashboard-app-body) .gym-gallery-heading,
body:not(.dashboard-app-body) .strength-heading,
body:not(.dashboard-app-body) .get-in-touch-heading,
body:not(.dashboard-app-body) .about-heading,
body:not(.dashboard-app-body) .programs-intro {
    margin-bottom: 0 !important;
}

body:not(.dashboard-app-body) .programs-intro {
    text-align: var(--programs-section-text-align, center) !important;
}

body:not(.dashboard-app-body) .membership-heading {
    text-align: var(--membership-section-text-align, center) !important;
}

body:not(.dashboard-app-body) .partnerships-heading {
    text-align: var(--partnerships-section-text-align, center) !important;
}

body:not(.dashboard-app-body) .booking-section-intro {
    text-align: var(--booking-section-text-align, center) !important;
}

body:not(.dashboard-app-body) .location-heading {
    text-align: var(--location-section-text-align, center) !important;
}

body:not(.dashboard-app-body) .faq-heading {
    text-align: var(--faq-section-text-align, center) !important;
}

body:not(.dashboard-app-body) .equipment-heading {
    text-align: var(--equipment-section-text-align, center) !important;
}

/* Programs intro: 2-column layout (title left, description + button right) */
body:not(.dashboard-app-body) .programs-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: var(--programs-intro-gap, var(--section-heading-text-gap-desktop, 12px)) !important;
    align-items: end !important;
    text-align: var(--programs-section-text-align, center) !important;
    margin-bottom: 0 !important;
    max-width: 100%;
}

html.pr1melab-preview-mode body:not(.dashboard-app-body) .programs-intro.pr1melab-preview-pick-selected,
html.pr1melab-preview-mode body:not(.dashboard-app-body) .programs-intro {
    gap: var(--programs-intro-gap, var(--section-heading-text-gap-desktop, 12px)) !important;
    align-items: end !important;
}

html.pr1melab-preview-mode body:not(.dashboard-app-body) .programs-intro .programs-title,
html.pr1melab-preview-mode body:not(.dashboard-app-body) .programs-intro .programs-title:last-child,
html.pr1melab-preview-mode body:not(.dashboard-app-body) .programs-intro .programs-description {
    margin-bottom: 0 !important;
}

body:not(.dashboard-app-body) .programs-intro-left,
body:not(.dashboard-app-body) .programs-intro-right {
    display: block !important;
    min-width: 0;
    max-width: 100%;
}

body:not(.dashboard-app-body) .programs-intro-right {
    justify-self: end !important;
    align-items: var(--programs-button-align, flex-end) !important;
    max-width: var(--programs-description-max-width, 640px);
}

body:not(.dashboard-app-body) .programs-intro .programs-title {
    text-align: var(--programs-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .programs-intro .programs-description {
    text-align: var(--programs-description-text-align, center) !important;
}

/* Full-width cards; avoid clipping hover / card bottoms */
body:not(.dashboard-app-body) .programs-section {
    overflow: visible !important;
}

body:not(.dashboard-app-body) .programs-section .programs-container {
    width: 100% !important;
    max-width: var(--container-width, var(--site-content-max-width)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

@media (min-width: 761px) {
    body:not(.dashboard-app-body) .programs-section .programs-grid {
        display: grid;
        grid-template-columns: repeat(var(--programs-grid-columns, 3), minmax(0, 1fr));
        gap: var(--programs-grid-gap);
        width: 100%;
        min-width: 0;
    }

    body:not(.dashboard-app-body) .programs-section .program-card {
        min-width: 0;
    }
}

@media (max-width: 760px) {
    body:not(.dashboard-app-body) .programs-intro {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    body:not(.dashboard-app-body) .programs-intro-right {
        justify-self: stretch !important;
        align-items: flex-start !important;
        max-width: 100% !important;
    }
}

body:not(.dashboard-app-body) .membership-heading :is(
    .membership-eyebrow,
    .membership-text
),
body:not(.dashboard-app-body) .membership-heading .membership-title {
    text-align: var(--membership-title-text-align, center) !important;
}
body:not(.dashboard-app-body) .partnerships-heading :is(
    .partnerships-eyebrow,
    .partnerships-text
),
body:not(.dashboard-app-body) .partnerships-heading .partnerships-title {
    text-align: var(--partnerships-title-text-align, center) !important;
}
body:not(.dashboard-app-body) .booking-section-intro :is(
    .booking-section-intro-eyebrow
),
body:not(.dashboard-app-body) .booking-section-intro-title {
    text-align: var(--booking-section-intro-title-text-align, center) !important;
}
/* Section header stack — spacing below each line (theme editor margin-bottom tokens) */
body:not(.dashboard-app-body) .programs-intro .programs-eyebrow {
    margin: 0 0 var(--section-eyebrow-heading-gap-desktop, 12px) 0 !important;
}

body:not(.dashboard-app-body) .programs-intro .programs-title {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .programs-intro .programs-description {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .membership-heading .membership-eyebrow {
    margin: 0 0 var(--membership-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .membership-heading .membership-title {
    margin: 0 0 var(--membership-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .membership-heading .membership-text {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .partnerships-heading .partnerships-eyebrow {
    margin: 0 0 var(--partnerships-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .partnerships-heading .partnerships-title {
    margin: 0 0 var(--partnerships-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .partnerships-heading .partnerships-text {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .booking-section-intro .booking-section-intro-eyebrow {
    margin: 0 0 var(--booking-section-intro-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .booking-section-intro-title {
    margin: 0 0 var(--booking-section-intro-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .location-heading .location-eyebrow {
    margin: 0 0 var(--location-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .location-heading .location-title {
    margin: 0 0 var(--location-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .faq-heading .faq-eyebrow {
    margin: 0 0 var(--faq-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .faq-heading .faq-title {
    margin: 0 0 var(--faq-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .faq-heading .faq-intro {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .equipment-heading .equipment-eyebrow {
    margin: 0 0 var(--equipment-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .equipment-heading .equipment-title {
    margin: 0 0 var(--equipment-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .equipment-heading .equipment-text {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .about-heading .about-eyebrow {
    margin: 0 0 var(--about-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .about-heading .about-title {
    margin: 0 0 var(--about-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .about-heading .about-text {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .bmi-left .bmi-eyebrow {
    margin: 0 0 var(--bmi-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .bmi-left .bmi-title {
    margin: 0 0 var(--bmi-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .bmi-left .bmi-text {
    margin: 0 0 var(--bmi-text-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .strength-heading .strength-eyebrow {
    margin: 0 0 var(--strength-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .strength-heading .strength-title {
    margin: 0 0 var(--strength-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .strength-heading .strength-intro {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .gym-gallery-heading .gym-gallery-eyebrow {
    margin: 0 0 var(--gym-gallery-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .gym-gallery-heading .gym-gallery-title {
    margin: 0 0 var(--gym-gallery-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .gym-gallery-heading .gym-gallery-text {
    margin: 0 0 var(--gym-gallery-text-margin-bottom, 0) 0 !important;
}

body:not(.dashboard-app-body) .get-in-touch-heading .get-in-touch-eyebrow {
    margin: 0 0 var(--get-in-touch-eyebrow-margin-bottom, var(--site-section-stack-gap, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .get-in-touch-heading .get-in-touch-title {
    margin: 0 0 var(--get-in-touch-title-margin-bottom, var(--section-heading-text-gap-desktop, 12px)) 0 !important;
}

body:not(.dashboard-app-body) .get-in-touch-heading .get-in-touch-intro {
    margin: 0 !important;
}

/* Eyebrow lines stay centered even when section title/text is left or right aligned */
body:not(.dashboard-app-body) .programs-intro :is(.programs-eyebrow),
body:not(.dashboard-app-body) .membership-heading :is(.membership-eyebrow),
body:not(.dashboard-app-body) .partnerships-heading :is(.partnerships-eyebrow),
body:not(.dashboard-app-body) .booking-section-intro :is(.booking-section-intro-eyebrow),
body:not(.dashboard-app-body) .location-heading :is(.location-eyebrow),
body:not(.dashboard-app-body) .faq-heading :is(.faq-eyebrow),
body:not(.dashboard-app-body) .equipment-heading :is(.equipment-eyebrow),
body:not(.dashboard-app-body) .about-heading :is(.about-eyebrow),
body:not(.dashboard-app-body) .bmi-heading :is(.bmi-eyebrow),
body:not(.dashboard-app-body) .bmi-left :is(.bmi-eyebrow),
body:not(.dashboard-app-body) .strength-heading :is(.strength-eyebrow),
body:not(.dashboard-app-body) .gym-gallery-heading :is(.gym-gallery-eyebrow),
body:not(.dashboard-app-body) .get-in-touch-heading :is(.get-in-touch-eyebrow),
body:not(.dashboard-app-body) :is(
    .programs-page-eyebrow,
    .contact-page-eyebrow,
    .blog-page-eyebrow,
    .legal-page-eyebrow,
    .contact-location-eyebrow
) {
    align-self: center !important;
    text-align: center !important;
}

body:not(.dashboard-app-body) .programs-description {
    max-width: 640px;
    text-align: var(--programs-description-text-align, center) !important;
}

body:not(.dashboard-app-body) .membership-heading .membership-text {
    text-align: var(--membership-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .partnerships-heading .partnerships-text {
    text-align: var(--partnerships-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .booking-section-intro-text,
body:not(.dashboard-app-body) .booking-section-intro p {
    text-align: var(--booking-section-intro-text-align, center) !important;
}

body:not(.dashboard-app-body) .bmi-left .bmi-title {
    text-align: var(--bmi-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .bmi-left .bmi-text {
    text-align: var(--bmi-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .strength-heading .strength-title {
    text-align: var(--strength-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .strength-heading .strength-intro {
    text-align: var(--strength-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .location-heading .location-title {
    text-align: var(--location-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .location-heading .location-text {
    text-align: var(--location-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .faq-heading .faq-title {
    text-align: var(--faq-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .faq-heading .faq-intro {
    text-align: var(--faq-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .equipment-heading .equipment-title {
    text-align: var(--equipment-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .equipment-heading .equipment-text {
    text-align: var(--equipment-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .gym-gallery-heading .gym-gallery-title {
    text-align: var(--gym-gallery-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .gym-gallery-heading .gym-gallery-text {
    text-align: var(--gym-gallery-text-text-align, center) !important;
}

body:not(.dashboard-app-body) .get-in-touch-heading .get-in-touch-title {
    text-align: var(--get-in-touch-title-text-align, center) !important;
}

body:not(.dashboard-app-body) .faq-question-text {
    font-size: var(--faq-question-size, 14px) !important;
    line-height: 1.4 !important;
}

body:not(.dashboard-app-body) .programs-intro-right .programs-button {
    margin-left: 0 !important;
    align-self: var(--programs-button-align, flex-end);
}

/* Section content: gap comes only from header margin-bottom */
body:not(.dashboard-app-body) .programs-grid,
body:not(.dashboard-app-body) .membership-selector,
body:not(.dashboard-app-body) .partnerships-marquee-shell,
body:not(.dashboard-app-body) .location-map-container,
body:not(.dashboard-app-body) .faq-list,
body:not(.dashboard-app-body) .equipment-carousel {
    margin-top: 0 !important;
}

body:not(.dashboard-app-body) .booking-container {
    margin-top: var(--site-section-header-content-gap) !important;
}

body:not(.dashboard-app-body) .membership-selector {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: var(--site-section-header-inner-gap) !important;
    justify-content: var(--membership-selector-justify, center) !important;
    align-items: stretch !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

body:not(.dashboard-app-body) .membership-selector-button {
    text-align: center !important;
}

body:not(.dashboard-app-body) .partnerships-marquee-shell {
    margin-top: 0 !important;
}

/* BMI: same header stack, then form as content */
body:not(.dashboard-app-body) .bmi-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin-bottom: 0 !important;
}

body:not(.dashboard-app-body) .bmi-form {
    margin-top: var(--section-text-content-gap-desktop, 20px) !important;
}

body:not(.dashboard-app-body) .bmi-result {
    margin-top: clamp(28px, 5vw, 40px) !important;
}

body:not(.dashboard-app-body) .bmi-right {
    margin-top: 0 !important;
}

@media (max-width: 760px) {
    body:not(.dashboard-app-body) .bmi-container {
        gap: clamp(22px, 4.5vw, 32px) !important;
    }

    body:not(.dashboard-app-body) .bmi-result {
        margin-top: clamp(32px, 6vw, 44px) !important;
        margin-bottom: 0 !important;
    }

    body:not(.dashboard-app-body) .bmi-right {
        margin-top: clamp(16px, 3.5vw, 24px) !important;
    }

    body:not(.dashboard-app-body) .bmi-table-wrap {
        margin-top: 0 !important;
    }
}


/* -------- Scroll reveal (whole section reveals together) -------- */
@media (prefers-reduced-motion: no-preference) {
    body:not(.dashboard-app-body) .site-scroll-reveal {
        opacity: 0;
        transform: translate3d(0, var(--site-reveal-distance), 0);
        transition:
            opacity var(--site-reveal-duration) cubic-bezier(0.16, 1, 0.3, 1),
            transform var(--site-reveal-duration) cubic-bezier(0.16, 1, 0.3, 1);
        will-change: opacity, transform;
    }

    body:not(.dashboard-app-body) .site-scroll-reveal.is-revealed {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        will-change: auto;
    }
}

@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
    body:not(.dashboard-app-body) .site-scroll-reveal {
        opacity: 0.35;
        transform: translate3d(0, var(--section-reveal-distance-mobile, 8px), 0);
        transition:
            opacity var(--section-reveal-duration-mobile, 0.32s) cubic-bezier(0.22, 1, 0.36, 1),
            transform var(--section-reveal-duration-mobile, 0.32s) cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity;
    }

    body:not(.dashboard-app-body) .site-scroll-reveal.is-revealed {
        opacity: 1;
        transform: none;
        will-change: auto;
    }
}

/* Hero: no scroll-reveal transform (prevents zoom/jump when leaving the hero) */
body:not(.dashboard-app-body) .hero-section.site-scroll-reveal,
body:not(.dashboard-app-body) .hero-section.site-scroll-reveal.is-revealed {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
}

/* Partnerships: marquee must not inherit section reveal transform */
body:not(.dashboard-app-body) .partnerships-section .partnerships-marquee,
body:not(.dashboard-app-body) .partnerships-marquee-shell {
    transform: none;
    opacity: 1;
}

body:not(.dashboard-app-body) .partnerships-section .partnerships-marquee-track {
    opacity: 1;
}

/* Site-wide section typography: eyebrow 14px / heading 22px / body 16px (hero unchanged) */
body:not(.dashboard-app-body) :is(
    .programs-eyebrow,
    .membership-eyebrow,
    .partnerships-eyebrow,
    .booking-section-intro-eyebrow,
    .about-eyebrow,
    .bmi-eyebrow,
    .location-eyebrow,
    .faq-eyebrow,
    .equipment-eyebrow,
    .gym-gallery-eyebrow,
    .strength-eyebrow,
    .get-in-touch-eyebrow
) {
    font-size: var(--global-eyebrow-size, 14px) !important;
}

body:not(.dashboard-app-body) :is(
    .programs-title,
    .membership-title,
    .partnerships-title,
    .booking-section-intro-title,
    .about-title,
    .bmi-title,
    .location-title,
    .faq-title,
    .equipment-title,
    .gym-gallery-title,
    .strength-title,
    .get-in-touch-title
) {
    font-size: var(--global-h2-size-desktop, 22px) !important;
    line-height: var(--global-heading-line-height, 1.15) !important;
}

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

/* -------- Program card frames (crisper on dark imagery) -------- */
body:not(.dashboard-app-body) .program-card,
body:not(.dashboard-app-body) .programs-page-card,
body:not(.dashboard-app-body) .program-detail-card {
    border: 1px solid var(--site-card-frame-border) !important;
    outline: 1px solid rgba(0, 0, 0, 0.65) !important;
    outline-offset: -1px;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.1),
        0 0 0 1px rgba(222, 36, 47, 0.22),
        0 18px 46px rgba(0, 0, 0, 0.48) !important;
}

body:not(.dashboard-app-body) .program-card-image,
body:not(.dashboard-app-body) .about-bg-image,
body:not(.dashboard-app-body) .booking-home-gallery-item img,
body:not(.dashboard-app-body) .hero-image {
    background-color: rgba(8, 8, 12, 0.92);
}

/* Map: clean frame (visible on white tiles) */
body:not(.dashboard-app-body) .location-map-wrap,
body:not(.dashboard-app-body) .contact-location-map-wrap {
    position: relative !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 2px solid rgba(10, 10, 14, 0.92) !important;
    outline: 1px solid rgba(222, 36, 47, 0.55) !important;
    outline-offset: 0;
    border-radius: var(--location-map-radius, 0) !important;
    background: #0a0a0e !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45) !important;
}

body:not(.dashboard-app-body) .location-map-wrap .location-map,
body:not(.dashboard-app-body) .contact-location-map-wrap iframe,
body:not(.dashboard-app-body) .contact-location-map-wrap .contact-location-map {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: inherit;
    opacity: var(--site-map-tile-opacity);
}

body:not(.dashboard-app-body) .location-map-wrap::after,
body:not(.dashboard-app-body) .contact-location-map-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    border-radius: inherit;
    background: rgba(0, 0, 8, var(--site-map-overlay-opacity));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

/* Membership: continuous background + blended glow (active card only) */
body:not(.dashboard-app-body) .membership-section,
body:not(.dashboard-app-body) .membership-container {
    background: transparent !important;
}

body:not(.dashboard-app-body) .membership-grid,
body:not(.dashboard-app-body) .membership-cards {
    padding: 16px 0 12px !important;
    background: transparent !important;
    perspective: none !important;
    overflow-y: visible !important;
}

body:not(.dashboard-app-body) .membership-section {
    overflow: visible !important;
}

@media (max-width: 760px) {
    body:not(.dashboard-app-body) .membership-grid,
    body:not(.dashboard-app-body) .membership-cards {
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
    }

    body:not(.dashboard-app-body) .membership-section {
        overflow-x: visible !important;
        overflow-y: visible !important;
    }
}

body:not(.dashboard-app-body) .membership-card:not(.is-active) {
    border-color: var(--site-glass-border, rgba(255, 255, 255, 0.14)) !important;
    box-shadow: var(--site-glass-shadow, 0 24px 68px rgba(0, 0, 0, 0.36)) !important;
    background: var(--site-glass-bg-strong, rgba(14, 8, 10, 0.44)) !important;
}

body:not(.dashboard-app-body) .membership-card:not(.is-active).membership-card--gold {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: rgba(18, 14, 10, 0.4) !important;
    box-shadow: var(--site-glass-shadow) !important;
}

body:not(.dashboard-app-body) .membership-card {
    overflow: hidden !important;
    isolation: isolate;
    border-radius: var(--site-glass-radius, 28px) !important;
}

body:not(.dashboard-app-body) .membership-card.is-active:not(.membership-card--gold) {
    border-color: var(--site-glass-border-featured, rgba(222, 36, 47, 0.52)) !important;
    background: rgba(22, 10, 12, 0.48) !important;
    box-shadow: var(--site-glass-shadow-featured) !important;
}

body:not(.dashboard-app-body) .membership-card.membership-card--gold.is-active,
body:not(.dashboard-app-body) .membership-card--gold.is-active {
    border-color: rgba(212, 175, 55, 0.72) !important;
    background: linear-gradient(
        165deg,
        rgba(212, 175, 55, 0.14) 0%,
        rgba(14, 12, 10, 0.34) 50%,
        rgba(8, 6, 4, 0.2) 100%
    ) !important;
    box-shadow: var(--site-glass-shadow-gold) !important;
}

body:not(.dashboard-app-body) .membership-card.is-prev,
body:not(.dashboard-app-body) .membership-card.is-next {
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
    opacity: 0.75 !important;
}

/* Mobile: let main.css soft back-glow show (no opaque card patches) */
@media (max-width: 760px) {
    body:not(.dashboard-app-body) .membership-section,
    body:not(.dashboard-app-body) .membership-container,
    body:not(.dashboard-app-body) .programs-membership-flow {
        overflow: visible !important;
        background: transparent !important;
    }

    body:not(.dashboard-app-body) .membership-grid,
    body:not(.dashboard-app-body) .membership-cards {
        padding: 12px 0 28px !important;
        margin-bottom: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
    }

    body:not(.dashboard-app-body) .membership-card.is-prev,
    body:not(.dashboard-app-body) .membership-card.is-next {
        box-shadow: none !important;
        opacity: 0.7 !important;
    }

    body:not(.dashboard-app-body) .partnerships-section {
        padding-top: var(--site-section-inner-y) !important;
    }
}

/* Partnerships: auto-scroll only (track transform set by JS for seamless loop) */
body:not(.dashboard-app-body) .partnerships-marquee {
    pointer-events: none;
    cursor: default;
    touch-action: none;
}

body:not(.dashboard-app-body) .partnerships-marquee-track {
    transform: translate3d(0, 0, 0);
}

body:not(.dashboard-app-body) .partnerships-marquee a.partnerships-slide {
    pointer-events: auto;
}

/* FAQ: rounded + chevron toggle */
body:not(.dashboard-app-body) .faq-item {
    border-radius: var(--site-faq-radius, 12px) !important;
    overflow: visible;
}

body:not(.dashboard-app-body) .faq-question {
    padding: 16px 18px !important;
}

body:not(.dashboard-app-body) .faq-question-text {
    font-size: 15px !important;
    line-height: 1.4 !important;
}

body:not(.dashboard-app-body) .faq-answer-inner {
    padding: 12px 18px 16px !important;
}

body:not(.dashboard-app-body) .faq-answer p {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body:not(.dashboard-app-body) .faq-toggle {
    width: 18px !important;
    height: 18px !important;
    color: currentColor !important;
    transform: none !important;
}

body:not(.dashboard-app-body) .faq-toggle::before,
body:not(.dashboard-app-body) .faq-toggle::after {
    content: "" !important;
    position: absolute !important;
    inset: auto !important;
    left: 50% !important;
    top: 50% !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    transform: translate(-50%, -50%) !important;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body:not(.dashboard-app-body) .faq-toggle::after {
    display: none !important;
}

body:not(.dashboard-app-body) .faq-toggle::before {
    display: block !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 6px solid currentColor !important;
}

body:not(.dashboard-app-body) .faq-item.is-open .faq-toggle::before {
    transform: translate(-50%, -50%) rotate(180deg) !important;
}

body:not(.dashboard-app-body) .faq-item.is-open .faq-toggle {
    transform: none !important;
}

/* ==================================================
   Site-wide inner pages (EN + EL same layout / px)
================================================== */

body:not(.dashboard-app-body) .programs-page-flow,
body:not(.dashboard-app-body) .contact-page-flow,
body:not(.dashboard-app-body) .blog-page-flow,
body:not(.dashboard-app-body) .legal-page-flow,
body:not(.dashboard-app-body) .site-page-flow {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

body:not(.dashboard-app-body) .contact-page-hero,
body:not(.dashboard-app-body) .legal-page-hero,
body:not(.dashboard-app-body) .blog-page-hero,
body:not(.dashboard-app-body) .programs-page-hero,
body:not(.dashboard-app-body) .partnerships-page-hero,
body:not(.dashboard-app-body) .about-page-hero,
body:not(.dashboard-app-body) .page-hero,
body:not(.dashboard-app-body) .single-post-hero {
    margin-bottom: var(--site-section-header-content-gap) !important;
}

body:not(.dashboard-app-body) .contact-page-hero .container,
body:not(.dashboard-app-body) .legal-page-hero .container,
body:not(.dashboard-app-body) .blog-page-hero .container,
body:not(.dashboard-app-body) .programs-page-hero .container,
body:not(.dashboard-app-body) .partnerships-page-hero .container,
body:not(.dashboard-app-body) .about-page-hero .container,
body:not(.dashboard-app-body) .page-hero .container,
body:not(.dashboard-app-body) .single-post-hero .container,
body:not(.dashboard-app-body) .contact-location-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: var(--site-section-stack-gap) !important;
}

body:not(.dashboard-app-body) .contact-location-heading {
    gap: 0 !important;
    margin-bottom: 0 !important;
}

body:not(.dashboard-app-body) .contact-page-hero :is(
    .contact-page-eyebrow,
    .contact-page-title,
    .contact-page-subtitle
),
body:not(.dashboard-app-body) .legal-page-hero :is(
    .legal-page-eyebrow,
    .legal-page-title,
    .legal-page-subtitle,
    .page-title,
    .page-subtitle
),
body:not(.dashboard-app-body) .blog-page-hero :is(
    .blog-page-eyebrow,
    .blog-page-title,
    .blog-page-subtitle
),
body:not(.dashboard-app-body) .programs-page-hero :is(
    .programs-page-eyebrow,
    .programs-page-title,
    .programs-page-subtitle
),
body:not(.dashboard-app-body) .partnerships-page-hero :is(
    .partnerships-page-eyebrow,
    .partnerships-page-title,
    .partnerships-page-subtitle
),
body:not(.dashboard-app-body) .about-page-hero :is(
    .about-page-eyebrow,
    .about-page-title,
    .about-page-subtitle
),
body:not(.dashboard-app-body) .contact-location-heading :is(
    .contact-location-eyebrow,
    .contact-location-title,
    .contact-location-text
),
body:not(.dashboard-app-body) .single-post-hero :is(
    .single-post-date,
    .single-post-title
) {
    margin: 0 !important;
}

body:not(.dashboard-app-body) .contact-page-section,
body:not(.dashboard-app-body) .legal-page-section,
body:not(.dashboard-app-body) .blog-page-section,
body:not(.dashboard-app-body) .programs-page-section,
body:not(.dashboard-app-body) .about-page-section,
body:not(.dashboard-app-body) .partnerships-page-section,
body:not(.dashboard-app-body) .program-detail-section,
body:not(.dashboard-app-body) .single-post-content-section,
body:not(.dashboard-app-body) .single-post-image-section {
    padding-top: var(--site-section-inner-y) !important;
    padding-bottom: var(--site-section-inner-y) !important;
}

/* Hero-less inner pages (Contact / Privacy / Cookies / Terms / About Us text-only)
   need real header clearance, not the standard between-section padding. */
body:not(.dashboard-app-body) .contact-page-flow--no-hero .contact-page-section--top,
body:not(.dashboard-app-body) .legal-page-flow--content-only .legal-page-section,
body:not(.dashboard-app-body) .about-page-flow--text-only .about-page-section--text-only {
    padding-top: var(--page-inner-padding-top-desktop, 260px) !important;
    padding-bottom: var(--page-inner-padding-bottom-desktop, 130px) !important;
}

@media (max-width: 760px) {
    body:not(.dashboard-app-body) .contact-page-flow--no-hero .contact-page-section--top,
    body:not(.dashboard-app-body) .legal-page-flow--content-only .legal-page-section,
    body:not(.dashboard-app-body) .about-page-flow--text-only .about-page-section--text-only {
        padding-top: var(--page-inner-padding-top-mobile, 180px) !important;
        padding-bottom: var(--page-inner-padding-bottom-mobile, 90px) !important;
    }
}

body:not(.dashboard-app-body) .contact-page-section,
body:not(.dashboard-app-body) .legal-page-section,
body:not(.dashboard-app-body) .blog-page-section,
body:not(.dashboard-app-body) .programs-page-section {
    margin-bottom: var(--site-section-gap) !important;
}

body:not(.dashboard-app-body) .contact-page-flow .contact-page-section {
    margin-bottom: 0 !important;
}

body:not(.dashboard-app-body) .contact-location-map-container,
body:not(.dashboard-app-body) .blog-page-grid,
body:not(.dashboard-app-body) .blog-grid,
body:not(.dashboard-app-body) .programs-page-container,
body:not(.dashboard-app-body) .legal-page-container .legal-content-card--continuous,
body:not(.dashboard-app-body) .legal-page-container .legal-content-panel {
    margin-top: 0 !important;
}

body:not(.dashboard-app-body) .legal-content-card--continuous,
body:not(.dashboard-app-body) .legal-content-panel,
body:not(.dashboard-app-body) .contact-info-card,
body:not(.dashboard-app-body) .blog-card,
body:not(.dashboard-app-body) .programs-page-card {
    border-radius: var(--site-glass-radius, 28px) !important;
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.14)) !important;
    background: var(--site-glass-bg, rgba(18, 20, 20, 0.42)) !important;
    box-shadow: var(--site-glass-shadow, 0 18px 48px rgba(0, 0, 0, 0.28)) !important;
    backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 1.2));
    -webkit-backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 1.2));
}

/* ==================================================
   Dashboard — same spacing tokens as front page
================================================== */

body.dashboard-app-body {
    --dashboard-app-padding: clamp(10px, 2vw, 16px);
    --dashboard-app-radius: var(--site-glass-radius, 28px);
}

body.dashboard-app-body .dashboard-app-header p {
    font-size: var(--dashboard-header-eyebrow-size, 8.5px) !important;
    line-height: 1.15 !important;
}

body.dashboard-app-body .dashboard-app-header h1 {
    font-size: var(--dashboard-header-title-size, 18px) !important;
    line-height: 1.05 !important;
}

body.dashboard-app-body .dashboard-service-caption {
    margin: 0;
    padding: 0 4px;
    min-height: 2.6em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    font-weight: 700;
    line-height: 1.2;
    font-size: var(--dashboard-service-caption-size, 10px);
    max-width: min(100%, 220px);
    overflow-wrap: anywhere;
}

body.dashboard-app-body .dashboard-service-filters-wrap {
    grid-area: dashtrainers;
    justify-self: center;
    align-self: center;
    z-index: 2;
    min-width: 0;
}

body.dashboard-app-body .dashboard-selected-trainer-head {
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

@media (max-width: 760px) {
    body.dashboard-app-body {
        --dashboard-header-eyebrow-size: var(--dashboard-header-eyebrow-size-mobile, var(--dashboard-header-eyebrow-size, 7px));
        --dashboard-header-title-size: var(--dashboard-header-title-size-mobile, var(--dashboard-header-title-size, 15px));
        --dashboard-service-caption-size: var(--dashboard-service-caption-size-mobile, var(--dashboard-service-caption-size, 8.5px));
    }

    body.dashboard-app-body .dashboard-service-filters-wrap {
        max-width: min(100%, 42vw);
    }

    body.dashboard-app-body .dashboard-service-caption {
        min-height: 2.4em;
        max-width: 100%;
    }

    body.dashboard-app-body .dashboard-app-date {
        row-gap: 4px !important;
    }
}

body.dashboard-app-body .dashboard-app-page {
    padding: var(--dashboard-app-padding) !important;
    min-height: 100vh;
    box-sizing: border-box;
}

body.dashboard-app-body .dashboard-app-card {
    border-radius: var(--site-glass-radius, 28px) !important;
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    background: var(--site-glass-bg-strong, rgba(10, 8, 12, 0.42)) !important;
    box-shadow: var(--site-glass-shadow, 0 20px 56px rgba(0, 0, 0, 0.3)), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
}

body.dashboard-app-body .dashboard-app-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: var(--site-section-stack-gap) !important;
    padding: clamp(20px, 4vw, 32px) clamp(16px, 3vw, 24px) clamp(16px, 3vw, 22px) !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.dashboard-app-body .dashboard-app-header p,
body.dashboard-app-body .dashboard-app-header h1 {
    margin: 0 !important;
}

body.dashboard-app-body .dashboard-app-date {
    padding: var(--site-section-header-inner-gap) clamp(14px, 3vw, 20px) !important;
    gap: var(--site-section-stack-gap) !important;
}

body.dashboard-app-body .dashboard-app-timeline-wrap {
    padding: 6px clamp(12px, 3vw, 16px) 6px !important;
    scroll-padding-top: 0 !important;
}

body.dashboard-app-body .dashboard-app-footer {
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    padding: var(--site-section-header-inner-gap) clamp(14px, 3vw, 20px) clamp(18px, 3.5vw, 28px) !important;
    gap: var(--site-section-stack-gap) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

@media (max-width: 760px) {
    body.dashboard-app-body .dashboard-app-header {
        padding-top: clamp(18px, 5vw, 26px) !important;
    }

    body.dashboard-app-body .dashboard-app-timeline-wrap {
        padding: 6px clamp(12px, 3vw, 16px) 6px !important;
    }
}

/* Mobile: smaller responsive type & spacing (EN + EL share same CSS) */
@media (max-width: 760px) {
    body:not(.dashboard-app-body) {
        --site-section-stack-gap: var(--section-eyebrow-heading-gap-mobile, 10px);
        --site-section-header-inner-gap: clamp(6px, 1.6vw, 10px);
        --site-section-header-content-gap: var(--section-text-content-gap-mobile, 24px);
        --site-section-block-gap: clamp(18px, 4.5vw, 28px);
        font-size: var(--global-text-size-mobile, 16px);
    }

    body:not(.dashboard-app-body) :is(
        .programs-eyebrow,
        .membership-eyebrow,
        .partnerships-eyebrow,
        .booking-section-intro-eyebrow,
        .about-eyebrow,
        .bmi-eyebrow,
        .location-eyebrow,
        .faq-eyebrow,
        .equipment-eyebrow,
        .gym-gallery-eyebrow,
        .strength-eyebrow,
        .get-in-touch-eyebrow
    ) {
        font-size: var(--global-eyebrow-size, 14px) !important;
    }

    body:not(.dashboard-app-body) .hero-title {
        font-size: var(--hero-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .programs-title,
    body:not(.dashboard-app-body) .membership-title,
    body:not(.dashboard-app-body) .partnerships-title {
        font-size: var(--site-mobile-section-title, var(--programs-title-size-desktop)) !important;
        line-height: 1.04 !important;
        letter-spacing: 0.01em !important;
    }

    body:not(.dashboard-app-body) .booking-section-intro-title {
        font-size: var(--booking-section-intro-title-size-desktop, var(--membership-title-size-desktop)) !important;
    }

    body:not(.dashboard-app-body) .about-title {
        font-size: var(--about-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .bmi-title {
        font-size: var(--bmi-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .location-title {
        font-size: var(--location-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .faq-title {
        font-size: var(--faq-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .contact-page-title {
        font-size: var(--contact-page-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .legal-page-title {
        font-size: var(--legal-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .blog-page-title {
        font-size: var(--blog-page-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .programs-page-title {
        font-size: var(--programs-page-title-size-desktop) !important;
    }

    body:not(.dashboard-app-body) .programs-description {
        font-size: var(--programs-description-size) !important;
        line-height: 1.55 !important;
    }

    body:not(.dashboard-app-body) .membership-text,
    body:not(.dashboard-app-body) .partnerships-text {
        font-size: var(--membership-text-size-mobile, var(--membership-text-size)) !important;
        line-height: 1.55 !important;
    }

    body:not(.dashboard-app-body) .hero-text {
        font-size: var(--hero-text-size-desktop) !important;
        line-height: 1.55 !important;
    }

    body:not(.dashboard-app-body) .booking-step-title p,
    body:not(.dashboard-app-body) .booking-home-tagline {
        font-size: var(--global-text-size-mobile, 16px) !important;
        line-height: var(--global-text-line-height, 1.7) !important;
    }

    body:not(.dashboard-app-body) .btn,
    body:not(.dashboard-app-body) .programs-button {
        font-size: var(--button-font-size, clamp(12px, 3.2vw, 13px)) !important;
        min-height: 38px;
    }

    body:not(.dashboard-app-body) .program-card-number {
        font-size: var(--program-card-number-size) !important;
    }

    body:not(.dashboard-app-body) .program-card-title {
        font-size: var(--program-card-title-size) !important;
    }

    body:not(.dashboard-app-body) .partnerships-page-hero {
        margin-bottom: 0 !important;
    }

    body:not(.dashboard-app-body) .partnerships-page-section--grid {
        padding-top: var(--partnerships-page-grid-padding-top-desktop, clamp(20px, 3vw, 36px)) !important;
    }

    body:not(.dashboard-app-body) .partnerships-page-intro--after-grid {
        padding-top: var(--partnerships-page-intro-padding-top-desktop, clamp(32px, 5vw, 48px)) !important;
    }

    body:not(.dashboard-app-body) :is(
        .membership-text,
        .partnerships-text,
        .about-text,
        .faq-intro,
        .booking-section-intro-text,
        .equipment-text,
        .gym-gallery-text,
        .strength-intro,
        .get-in-touch-intro,
        .location-text,
        .bmi-text
    ) {
        font-size: var(--global-text-size-mobile, 16px) !important;
        line-height: var(--global-text-line-height, 1.7) !important;
    }

    body:not(.dashboard-app-body) .program-card-text {
        font-size: var(--program-card-text-size) !important;
        overflow: visible !important;
        display: block !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
    }

    body:not(.dashboard-app-body) .program-card-title {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    body:not(.dashboard-app-body) .program-card-link {
        font-size: var(--program-card-link-size) !important;
    }

    body:not(.dashboard-app-body) .programs-eyebrow {
        font-size: var(--programs-eyebrow-size) !important;
    }

    body:not(.dashboard-app-body) .membership-selector-button {
        font-size: var(--membership-selector-button-size) !important;
    }

    body:not(.dashboard-app-body) .booking-step-panel :is(
        .booking-main-button,
        .booking-submit,
        .booking-next-confirm
    ) {
        min-height: 48px !important;
        font-size: 14px !important;
    }

    body.dashboard-app-body {
        font-size: clamp(13px, 3.5vw, 14px);
    }

    body.dashboard-app-body .dashboard-app-header h1 {
        font-size: clamp(1.35rem, 6vw, 1.75rem) !important;
    }
}

/* ==================================================
   Dashboard top bar — nav left | center | notify right
================================================== */

body.dashboard-app-body header:not(.dashboard-top-bar):not(.dashboard-app-footer) {
    display: none !important;
}

body.dashboard-app-body .dashboard-top-bar,
body.dashboard-app-body .dashboard-calendar-panel {
    flex: 0 0 auto !important;
}

body.dashboard-app-body .dashboard-service-legend {
    display: none !important;
}

body.dashboard-app-body .dashboard-top-bar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas: "nav center notify" !important;
    align-items: center !important;
    gap: 8px 12px !important;
    padding: clamp(14px, 3vw, 22px) clamp(14px, 3vw, 20px) clamp(10px, 2vw, 14px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: center !important;
    position: relative !important;
    overflow: visible !important;
    z-index: 40 !important;
}

body.dashboard-app-body .dashboard-top-left {
    grid-area: nav !important;
    justify-self: start !important;
    align-self: center !important;
}

body.dashboard-app-body .dashboard-top-center {
    grid-area: center !important;
    justify-self: center !important;
    align-self: center !important;
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
}

body.dashboard-app-body .dashboard-top-eyebrow,
body.dashboard-app-body .dashboard-top-title {
    display: none !important;
}

body.dashboard-app-body .dashboard-top-notify {
    grid-area: notify !important;
    justify-self: end !important;
    align-self: center !important;
}

body.dashboard-app-body .dashboard-top-eyebrow {
    margin: 0 !important;
    color: var(--dashboard-app-accent, #de242f) !important;
    font-weight: 900 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-size: var(--dashboard-header-eyebrow-size, 8.5px) !important;
    line-height: 1.15 !important;
}

body.dashboard-app-body .dashboard-top-title {
    margin: 0 !important;
    color: #fff !important;
    font-size: var(--dashboard-header-title-size, 18px) !important;
    line-height: 1.05 !important;
}

body.dashboard-app-body .dashboard-top-date {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    margin: 0 !important;
}

body.dashboard-app-body .dashboard-top-date strong {
    color: #fff !important;
    font-size: clamp(15px, 2.4vw, 18px) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body.dashboard-app-body .dashboard-top-date small {
    color: rgba(255, 255, 255, 0.62) !important;
    font-size: clamp(11px, 2.8vw, 12px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body.dashboard-app-body .dashboard-top-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    margin-top: 0 !important;
}

body.dashboard-app-body .dashboard-top-nav-arrow,
body.dashboard-app-body .dashboard-top-nav .dashboard-app-calendar-trigger {
    width: 36px !important;
    height: 36px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    color: #fff !important;
    display: inline-grid !important;
    place-items: center !important;
    text-decoration: none !important;
    font-size: 22px !important;
    line-height: 1 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

body.dashboard-app-body .dashboard-top-nav .dashboard-app-calendar-trigger svg {
    width: 18px !important;
    height: 18px !important;
}

body.dashboard-app-body .dashboard-top-notify {
    position: relative !important;
}

body.dashboard-app-body .dashboard-inbox-btn--bordered {
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.dashboard-app-body .dashboard-calendar-panel {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    min-height: 0 !important;
}

body.dashboard-app-body .dashboard-calendar-panel:has(.dashboard-calendar-popover-panel.is-open) {
    padding: 0 clamp(14px, 3vw, 20px) clamp(8px, 2vw, 12px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body.dashboard-app-body .dashboard-calendar-popover-panel {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: opacity 0.2s ease, max-height 0.25s ease !important;
}

body.dashboard-app-body .dashboard-calendar-popover-panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    max-height: 420px !important;
    padding: 12px !important;
    margin-top: 4px !important;
    border-radius: 16px !important;
}

body.dashboard-app-body .dashboard-service-filters-wrap,
body.dashboard-app-body .dashboard-app-date {
    display: none !important;
}

body.dashboard-app-body .dashboard-app-booking {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    position: relative !important;
    padding: 24px 10px 10px !important;
}

body.dashboard-app-body .dashboard-booking-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0 !important;
}

body.dashboard-app-body .dashboard-booking-head,
body.dashboard-app-body .dashboard-inbox-item-head {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    text-align: left !important;
    flex-wrap: nowrap !important;
}

body.dashboard-app-body .dashboard-booking-service {
    display: block !important;
    width: auto !important;
    max-width: calc(100% - var(--dash-icon-size, 22px) - 8px) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.02em !important;
    text-align: left !important;
}

body.dashboard-app-body .dashboard-booking-datetime {
    display: block !important;
    width: 100% !important;
    margin-top: 4px !important;
    color: rgba(255, 255, 255, 0.62) !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

body.dashboard-app-body .dashboard-booking-details {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    align-self: stretch !important;
    width: 100% !important;
    gap: 5px !important;
    margin-top: var(--dashboard-booking-details-gap, 10px) !important;
    padding-top: var(--dashboard-booking-details-gap, 10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: left !important;
}

body.dashboard-app-body .dashboard-booking-name {
    display: block !important;
    width: 100% !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

body.dashboard-app-body .dashboard-booking-phone {
    display: inline-block !important;
    width: 100% !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-align: left !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

body.dashboard-app-body .dashboard-booking-phone:hover,
body.dashboard-app-body .dashboard-booking-phone:focus-visible {
    color: var(--service-color, #de242f) !important;
}

body.dashboard-app-body .dashboard-booking-comment {
    display: block !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding: 6px 8px !important;
    text-align: left !important;
    border-radius: 8px !important;
    background: rgba(0, 0, 0, 0.22) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    word-break: break-word !important;
}

body.dashboard-app-body .dashboard-booking-comment-label {
    display: block !important;
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 2px !important;
}

body.dashboard-app-body .dashboard-inbox-item-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0 !important;
}

body.dashboard-app-body .dashboard-inbox-item-type {
    margin: 0 0 8px !important;
    padding-right: 44px !important;
    width: 100% !important;
    color: var(--service-color, #de242f) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

body.dashboard-app-body .dashboard-inbox-item-head .dashboard-inbox-item-service {
    margin: 0 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

body.dashboard-app-body .dashboard-inbox-item-datetime {
    display: block !important;
    width: 100% !important;
    margin-top: 6px !important;
    color: rgba(255, 255, 255, 0.62) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

body.dashboard-app-body .dashboard-inbox-item-name {
    display: block !important;
    width: 100% !important;
    margin-top: var(--dashboard-booking-details-gap, 10px) !important;
    padding-top: var(--dashboard-booking-details-gap, 10px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

body.dashboard-app-body .dashboard-booking-icon,
body.dashboard-app-body .dashboard-inbox-item-icon {
    --dash-icon-size: clamp(18px, 4.4vw, 22px) !important;
    --dash-icon-glyph-size: clamp(11px, 2.8vw, 14px) !important;
    flex: 0 0 var(--dash-icon-size) !important;
    width: var(--dash-icon-size) !important;
    height: var(--dash-icon-size) !important;
    padding: 0 !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

body.dashboard-app-body .dashboard-inbox-item-icon {
    --dash-icon-size: clamp(20px, 4.8vw, 26px) !important;
    --dash-icon-glyph-size: clamp(12px, 3vw, 15px) !important;
}

body.dashboard-app-body .dashboard-booking-icon svg,
body.dashboard-app-body .dashboard-inbox-item-icon svg {
    width: var(--dash-icon-glyph-size) !important;
    height: var(--dash-icon-glyph-size) !important;
    display: block !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

body.dashboard-app-body .dashboard-top-nav .dashboard-app-calendar-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 0 !important;
}

body.dashboard-app-body .dashboard-top-nav .dashboard-app-calendar-trigger svg {
    display: block !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

body.dashboard-app-body .dashboard-inbox-item-content {
    flex: 1 !important;
    min-width: 0 !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: clamp(44px, 11vw, 48px) !important;
    height: clamp(44px, 11vw, 48px) !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-btn:hover,
body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-btn:focus-visible {
    color: #ffffff !important;
    opacity: 1 !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-icon {
    width: clamp(22px, 6vw, 24px) !important;
    height: clamp(22px, 6vw, 24px) !important;
    display: block !important;
    flex-shrink: 0 !important;
    opacity: 1 !important;
    color: #ffffff !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-icon path {
    fill: #ffffff !important;
    opacity: 1 !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-badge {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: #de242f !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
    text-align: center !important;
    box-shadow: 0 0 0 2px #08080c !important;
}

body.dashboard-app-body .dashboard-top-notify {
    position: relative !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-dropdown,
body.dashboard-notify-open .dashboard-inbox-dropdown {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    z-index: 300010 !important;
    width: min(400px, calc(100vw - 24px)) !important;
    max-height: min(calc(100dvh - 32px), 520px) !important;
    border-radius: var(--site-glass-radius, 20px) !important;
    background: var(--site-glass-bg-strong, var(--dashboard-glass-surface-strong)) !important;
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    box-shadow: var(--site-glass-shadow, 0 20px 56px rgba(0, 0, 0, 0.3)), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, calc(-50% + 10px)) scale(0.97) !important;
    transition:
        opacity 0.22s ease,
        transform 0.22s ease,
        visibility 0.22s ease !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-dropdown.is-open,
body.dashboard-notify-open .dashboard-inbox-dropdown.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) scale(1) !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-dropdown[hidden],
body.dashboard-notify-open .dashboard-inbox-dropdown[hidden] {
    display: none !important;
}

.dashboard-notify-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 300000 !important;
    background: var(--dashboard-notify-backdrop-bg, rgba(0, 0, 8, 0.42)) !important;
    backdrop-filter: blur(var(--dashboard-notify-backdrop-blur, 12px)) saturate(120%) !important;
    -webkit-backdrop-filter: blur(var(--dashboard-notify-backdrop-blur, 12px)) saturate(120%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition:
        opacity 0.22s ease,
        visibility 0.22s ease !important;
}

.dashboard-notify-backdrop.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.dashboard-notify-backdrop[hidden] {
    display: none !important;
}

body.dashboard-notify-open .dashboard-top-bar {
    z-index: 300005 !important;
}

body.dashboard-notify-open .dashboard-top-bar .dashboard-inbox-dropdown {
    z-index: 300020 !important;
}

body.dashboard-notify-open .dashboard-app-calendar-trigger,
body.dashboard-notify-open .dashboard-top-nav .dashboard-app-calendar-trigger {
    z-index: 1 !important;
}

body.dashboard-app-body .dashboard-top-nav .dashboard-app-calendar-trigger {
    z-index: 30 !important;
    position: relative !important;
}

body.dashboard-app-body .dashboard-app-calendar-trigger {
    z-index: 30 !important;
}

body.dashboard-app-body .dashboard-calendar-popover-panel {
    z-index: 35 !important;
}

body.dashboard-app-body .dashboard-inbox-dropdown-head {
    flex-shrink: 0 !important;
    padding: 14px 14px 10px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.dashboard-app-body .dashboard-inbox-dropdown-head-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.dashboard-app-body .dashboard-inbox-dropdown-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.72) !important;
}

body.dashboard-app-body .dashboard-inbox-close--plain {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, 0.88) !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 10px !important;
    font-size: 26px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: inline-grid !important;
    place-items: center !important;
}

body.dashboard-app-body .dashboard-inbox-close--plain:hover,
body.dashboard-app-body .dashboard-inbox-close--plain:focus-visible {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
}

body.dashboard-app-body .dashboard-inbox-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 10px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

body.dashboard-app-body .dashboard-inbox-item {
    position: relative !important;
    padding: 12px 12px 10px !important;
    margin: 0 !important;
    border: 1px solid var(--dashboard-glass-border-soft) !important;
    border-left: 3px solid var(--service-color, #de242f) !important;
    border-radius: 14px !important;
    background: var(--dashboard-glass-booking) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
}

body.dashboard-app-body .dashboard-inbox-item-ago {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 2 !important;
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
    pointer-events: none !important;
}

body.dashboard-app-body .dashboard-inbox-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.dashboard-app-body .dashboard-inbox-item.is-read {
    opacity: 0.72 !important;
    background: rgba(255, 255, 255, 0.03) !important;
    box-shadow: none !important;
}

body.dashboard-app-body .dashboard-inbox-item-clickable {
    cursor: pointer !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

body.dashboard-app-body .dashboard-inbox-item-clickable:not(.is-read):hover {
    border-color: color-mix(in srgb, var(--service-color, #de242f) 45%, rgba(255, 255, 255, 0.12)) !important;
    background: rgba(255, 255, 255, 0.06) !important;
}

body.dashboard-app-body .dashboard-inbox-item-head .dashboard-inbox-item-icon {
    flex-shrink: 0 !important;
}

body.dashboard-app-body .dashboard-booking-head .dashboard-booking-icon {
    flex-shrink: 0 !important;
}

body.dashboard-app-body .dashboard-inbox-dropdown-head {
    background: transparent !important;
}

body.dashboard-app-body .dashboard-inbox-footer {
    flex-shrink: 0 !important;
    padding: 10px 12px 14px !important;
    border-top: 1px solid var(--dashboard-glass-border-soft) !important;
    background: rgba(255, 255, 255, 0.03) !important;
    backdrop-filter: blur(8px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(120%) !important;
}

body.dashboard-app-body .dashboard-inbox-clear {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

body.dashboard-app-body .dashboard-app-timeline-wrap {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

body.dashboard-app-body .dashboard-app-head-row {
    display: none !important;
}

body.dashboard-app-body .dashboard-app-timeline {
    position: relative !important;
}

body.dashboard-app-body .dashboard-app-time {
    position: sticky !important;
    left: 0 !important;
    z-index: 6 !important;
    background: #0b0b0e !important;
    box-shadow: 6px 0 12px rgba(0, 0, 0, 0.35) !important;
    isolation: isolate !important;
}

body.dashboard-app-body .dashboard-app-row {
    position: relative !important;
}

@media (max-width: 760px) {
    body.dashboard-app-body .dashboard-top-bar {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-areas: "nav center notify" !important;
        gap: 6px 8px !important;
        padding-inline: 12px !important;
    }

    body.dashboard-app-body .dashboard-top-nav-arrow,
    body.dashboard-app-body .dashboard-top-nav .dashboard-app-calendar-trigger {
        width: 32px !important;
        height: 32px !important;
        border-radius: 10px !important;
    }

    body.dashboard-app-body .dashboard-top-title {
        font-size: clamp(15px, 4.5vw, 18px) !important;
    }

    body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-dropdown,
    body.dashboard-notify-open .dashboard-inbox-dropdown {
        width: min(400px, calc(100vw - 20px)) !important;
        max-height: min(calc(100dvh - 24px), 480px) !important;
    }
}

/* ==================================================
   Clickable address + contact page icon color
================================================== */

.footer-contact-item a,
.location-address-link,
.contact-address-link {
    color: inherit;
    text-decoration: none !important;
    transition: color 0.15s ease, opacity 0.15s ease;
    cursor: pointer;
}

.footer-contact-item a:hover,
.footer-contact-item a:focus-visible,
.location-address-link:hover,
.location-address-link:focus-visible,
.contact-address-link:hover,
.contact-address-link:focus-visible {
    color: var(--color-red, #de242f);
    opacity: 1;
}

.contact-page-flow {
    --contact-info-icon-color: #ffffff;
    --contact-info-icon-bg: rgba(255, 255, 255, 0.1);
    --contact-info-icon-border: rgba(255, 255, 255, 0.24);
    --contact-info-link-hover-color: #ffffff;
}

.contact-page-flow .contact-info-card {
    grid-template-columns: var(--contact-info-icon-box-size, 40px) minmax(0, 1fr) !important;
    justify-items: stretch !important;
    align-items: center !important;
    width: 100% !important;
    max-width: var(--contact-info-card-fixed-width, 280px) !important;
    min-height: var(--contact-info-card-min-height, 88px) !important;
    margin-inline: auto !important;
    padding: var(--contact-info-card-padding-y, 14px) var(--contact-info-card-padding-x, 16px) !important;
    gap: clamp(10px, 2vw, 14px) !important;
    box-sizing: border-box !important;
}

.contact-page-flow .contact-info-card-body {
    width: 100%;
    text-align: left !important;
}

.contact-page-flow .contact-info-title,
.contact-page-flow .contact-info-link,
.contact-page-flow .contact-info-text {
    text-align: left !important;
}

.contact-page-flow .contact-socials,
.contact-page-flow .contact-socials--enhanced {
    justify-content: flex-start !important;
}

.contact-page-flow .contact-info-icon {
    margin-inline: 0 !important;
    justify-self: start !important;
    width: clamp(34px, 8vw, 38px) !important;
    height: clamp(34px, 8vw, 38px) !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
}
.contact-page-flow .contact-info-link:hover,
.contact-page-flow .contact-info-link:focus-visible {
    color: #ffffff !important;
    opacity: 0.88;
}

/* ==================================================
   UI polish: lighter glass, softer FAQ corners, rounded CTAs
================================================== */

body:not(.dashboard-app-body) {
    --site-button-padding: 10px 20px;
    --site-button-font-size: 12px;
    --site-button-min-height: 38px;
}

body:not(.dashboard-app-body) :is(
    .btn,
    .programs-button,
    .cookie-button,
    .cookie-banner-actions .btn,
    .cookie-banner-actions button,
    .lazy-map-placeholder button,
    .bmi-button
) {
    border-radius: var(--site-button-radius, 12px) !important;
    padding: var(--site-button-padding) !important;
    font-size: var(--site-button-font-size) !important;
    min-height: var(--site-button-min-height) !important;
}

body:not(.dashboard-app-body) :is(
    .booking-main-button,
    .booking-next,
    .booking-back,
    .booking-submit,
    .booking-next-confirm,
    .scroll-to-top
) {
    border-radius: var(--site-button-radius, 12px) !important;
}

body:not(.dashboard-app-body) .booking-main-button {
    min-height: var(--site-button-min-height) !important;
    padding: var(--site-button-padding) !important;
    font-size: var(--site-button-font-size) !important;
}

body:not(.dashboard-app-body) .booking-step-panel :is(
    .booking-main-button,
    .booking-submit,
    .booking-next-confirm,
    .booking-next
) {
    min-height: 48px !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
}

/* Back / smart-back button is icon-only — keep it compact and fit the chevron */
body:not(.dashboard-app-body) .booking-step-panel :is(
    .booking-back,
    .booking-smart-back,
    .booking-app-back
) {
    width: var(--booking-back-size-desktop, 36px) !important;
    height: var(--booking-back-size-desktop, 36px) !important;
    min-width: var(--booking-back-size-desktop, 36px) !important;
    min-height: var(--booking-back-size-desktop, 36px) !important;
    padding: 0 !important;
    font-size: var(--booking-back-icon-size, 22px) !important;
    border-radius: var(--booking-back-radius, 12px) !important;
}

@media (max-width: 760px) {
    body:not(.dashboard-app-body) .booking-step-panel :is(
        .booking-back,
        .booking-smart-back,
        .booking-app-back
    ) {
        width: var(--booking-back-size-mobile, 40px) !important;
        height: var(--booking-back-size-mobile, 40px) !important;
        min-width: var(--booking-back-size-mobile, 40px) !important;
        min-height: var(--booking-back-size-mobile, 40px) !important;
        font-size: var(--booking-back-icon-size-mobile, 24px) !important;
    }
}

body:not(.dashboard-app-body) .scroll-to-top {
    width: var(--scroll-top-size) !important;
    height: var(--scroll-top-size) !important;
    min-width: var(--scroll-top-size) !important;
    min-height: var(--scroll-top-size) !important;
    font-size: var(--scroll-top-font-size) !important;
    border: 0 !important;
    box-shadow:
        var(--scroll-top-shadow),
        inset 0 0 0 var(--scroll-top-ring-width) var(--scroll-top-ring-color) !important;
}

body:not(.dashboard-app-body) .scroll-to-top span {
    line-height: 1;
    transform: translateY(-1px);
    font-size: var(--scrolltop-arrow-size, 16px);
}

body:not(.dashboard-app-body) .bmi-section .bmi-form {
    width: 100%;
    max-width: 100%;
}

body:not(.dashboard-app-body) .bmi-form .bmi-input-group {
    width: 100%;
    text-align: var(--bmi-form-text-align, left) !important;
    align-items: flex-start !important;
}

body:not(.dashboard-app-body) .bmi-form .bmi-input-group label {
    text-align: var(--bmi-form-text-align, left) !important;
    align-self: flex-start !important;
}

body:not(.dashboard-app-body) .bmi-form .bmi-button {
    display: inline-flex;
    justify-self: center;
    margin-inline: auto;
}

body:not(.dashboard-app-body) .faq-item {
    background: var(--site-glass-bg-strong) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    backdrop-filter: blur(var(--site-glass-blur)) saturate(var(--site-glass-saturate));
    -webkit-backdrop-filter: blur(var(--site-glass-blur)) saturate(var(--site-glass-saturate));
}

body:not(.dashboard-app-body) .faq-item.is-open {
    background: rgba(255, 255, 255, 0.07) !important;
}

body:not(.dashboard-app-body) :is(
    .membership-selector,
    .bmi-result,
    .bmi-table-wrap,
    .booking-step-panel,
    .booking-app,
    .cookie-banner,
    .legal-content-card,
    .contact-info-card,
    .blog-card,
    .programs-page-card
) {
    background: var(--site-glass-bg) !important;
}

body:not(.dashboard-app-body) .bmi-table-wrap,
body:not(.dashboard-app-body) .bmi-result {
    background: rgba(8, 8, 12, 0.32) !important;
    backdrop-filter: blur(var(--site-glass-blur)) saturate(var(--site-glass-saturate)) !important;
    -webkit-backdrop-filter: blur(var(--site-glass-blur)) saturate(var(--site-glass-saturate)) !important;
}

body:not(.dashboard-app-body) .booking-step-panel {
    background: rgba(8, 6, 10, 0.34) !important;
}

body:not(.dashboard-app-body) .booking-app {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025)),
        rgba(8, 8, 14, 0.34) !important;
}

/* ==================================================
   FAQ + BMI: prevent top clipping (focus rings, chevrons, card edges)
================================================== */
:root {
    --faq-question-safe-inset-top: 4px;
    --bmi-input-focus-safe-inset: 4px;
}

body:not(.dashboard-app-body) .bmi-section.site-scroll-reveal,
body:not(.dashboard-app-body) .faq-section.site-scroll-reveal,
body:not(.dashboard-app-body) .bmi-section,
body:not(.dashboard-app-body) .faq-section,
body:not(.dashboard-app-body) .bmi-container,
body:not(.dashboard-app-body) .bmi-left,
body:not(.dashboard-app-body) .bmi-form,
body:not(.dashboard-app-body) .bmi-input-group,
body:not(.dashboard-app-body) .faq-list,
body:not(.dashboard-app-body) .faq-container,
body:not(.dashboard-app-body) .about-gallery-bmi-flow .bmi-section,
body:not(.dashboard-app-body) .about-gallery-bmi-flow .bmi-container,
body:not(.dashboard-app-body) .about-gallery-bmi-flow .bmi-left,
body:not(.dashboard-app-body) .about-gallery-bmi-flow .bmi-form,
body:not(.dashboard-app-body) .about-gallery-bmi-flow .bmi-input-group,
body:not(.dashboard-app-body) .location-faq-flow .faq-list,
body:not(.dashboard-app-body) .location-faq-flow .faq-container,
body:not(.dashboard-app-body) .location-faq-flow .faq-section {
    overflow: visible;
}

body:not(.dashboard-app-body) .bmi-form {
    padding-top: var(--bmi-input-focus-safe-inset);
}

body:not(.dashboard-app-body) .bmi-input-group {
    overflow: visible;
}

body:not(.dashboard-app-body) .faq-question {
    padding-top: calc(16px + var(--faq-question-safe-inset-top)) !important;
}

body:not(.dashboard-app-body) .faq-item:not(.is-open) .faq-question {
    border-radius: var(--site-faq-radius, 12px);
}

body:not(.dashboard-app-body) .faq-item.is-open .faq-question {
    border-radius: var(--site-faq-radius, 12px) var(--site-faq-radius, 12px) 0 0;
}

body:not(.dashboard-app-body) .faq-answer {
    border-radius: 0 0 var(--site-faq-radius, 12px) var(--site-faq-radius, 12px);
    overflow: hidden;
}

/* Table panel: keep corner clip, add safe inset so header row is not cut */
body:not(.dashboard-app-body) .bmi-section .bmi-table-wrap {
    padding-top: calc(var(--bmi-table-padding, 34px) + var(--bmi-input-focus-safe-inset)) !important;
}

/* ==================================================
   Dashboard — front-page background + minimal glass table
================================================== */

:root {
    --dashboard-glass-surface: rgba(14, 14, 18, 0.22);
    --dashboard-glass-surface-strong: rgba(10, 8, 12, 0.42);
    --dashboard-glass-cell: rgba(255, 255, 255, 0.02);
    --dashboard-glass-booking: rgba(255, 255, 255, 0.04);
    --dashboard-glass-border-soft: rgba(255, 255, 255, 0.08);
    --dashboard-booking-details-gap: 10px;
    --dashboard-notify-backdrop-bg: rgba(0, 0, 8, 0.42);
    --dashboard-notify-backdrop-blur: 12px;
}

body.dashboard-app-body {
    background-color: var(--site-unified-bg-base, #020202) !important;
    background-image:
        radial-gradient(ellipse 90% 55% at 8% 12%, rgba(222, 36, 47, 0.2), transparent 58%),
        radial-gradient(ellipse 70% 50% at 92% 8%, rgba(222, 36, 47, 0.1), transparent 52%),
        radial-gradient(ellipse 80% 60% at 78% 92%, rgba(90, 0, 8, 0.38), transparent 55%),
        radial-gradient(ellipse 55% 45% at 12% 82%, rgba(250, 249, 254, 0.035), transparent 50%),
        linear-gradient(180deg, var(--site-unified-bg-mid, #080406) 0%, var(--site-unified-bg-base, #020202) 38%, #000000 100%) !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    color: var(--color-light, #faf9fe) !important;
}

body.dashboard-app-body::before {
    content: "";
    position: fixed;
    inset: -10%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 22% 38%, rgba(222, 36, 47, 0.14) 0%, transparent 32%),
        radial-gradient(circle at 74% 62%, rgba(222, 36, 47, 0.1) 0%, transparent 28%);
    filter: blur(2px);
}

body.dashboard-app-body .dashboard-app-page {
    position: relative;
    z-index: 1;
    background: transparent !important;
    padding: clamp(8px, 2vw, 16px) !important;
}

body.dashboard-app-body .dashboard-app-card {
    position: relative;
    z-index: 1;
    border-radius: var(--site-glass-radius, 28px) !important;
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    background: var(--site-glass-bg-strong, var(--dashboard-glass-surface-strong)) !important;
    box-shadow: var(--site-glass-shadow, 0 20px 56px rgba(0, 0, 0, 0.3)), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
}

body.dashboard-app-body .dashboard-top-bar,
body.dashboard-app-body .dashboard-app-header {
    background: var(--dashboard-glass-surface) !important;
    backdrop-filter: blur(14px) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(14px) saturate(var(--site-glass-saturate, 140%)) !important;
    border-color: var(--dashboard-glass-border-soft) !important;
}

body.dashboard-app-body .dashboard-calendar-panel:has(.dashboard-calendar-popover-panel.is-open) {
    background: var(--dashboard-glass-surface) !important;
    backdrop-filter: blur(14px) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(14px) saturate(var(--site-glass-saturate, 140%)) !important;
    border-color: var(--dashboard-glass-border-soft) !important;
}

body.dashboard-app-body .dashboard-top-nav-arrow,
body.dashboard-app-body .dashboard-top-nav .dashboard-app-calendar-trigger,
body.dashboard-app-body .dashboard-inbox-btn--bordered,
body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-btn {
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    background: var(--dashboard-glass-booking, rgba(255, 255, 255, 0.04)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.dashboard-app-body .dashboard-calendar-popover-panel.is-open {
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    background: var(--site-glass-bg-strong, var(--dashboard-glass-surface-strong)) !important;
    box-shadow: var(--site-glass-shadow, 0 20px 56px rgba(0, 0, 0, 0.3)) !important;
    backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
}

body.dashboard-app-body .dashboard-calendar-head button,
body.dashboard-app-body .dashboard-calendar-day {
    border: 1px solid var(--dashboard-glass-border-soft) !important;
    background: var(--dashboard-glass-booking) !important;
}

body.dashboard-app-body .dashboard-calendar-day:hover,
body.dashboard-app-body .dashboard-calendar-day.is-selected {
    border-color: rgba(222, 36, 47, 0.45) !important;
    background: rgba(222, 36, 47, 0.14) !important;
}

body.dashboard-app-body .dashboard-app-timeline-wrap {
    background: transparent !important;
    border-top: none !important;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: min(100%, max-content) !important;
    max-height: 100% !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    padding: 6px clamp(12px, 3vw, 16px) 6px !important;
    scroll-padding-top: 0 !important;
}

body.dashboard-app-body .dashboard-app-timeline,
body.dashboard-app-body .dashboard-app-single-timeline {
    background: transparent !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
}

body.dashboard-app-body .dashboard-app-head-row {
    position: sticky;
    top: 0;
    z-index: 4;
    background: var(--dashboard-glass-surface-strong) !important;
    backdrop-filter: blur(12px) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(12px) saturate(var(--site-glass-saturate, 140%)) !important;
    border-bottom: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.1)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.dashboard-app-body .dashboard-app-row {
    flex: 0 0 auto !important;
    min-height: var(--dashboard-app-row-h, 34px) !important;
    height: auto !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    background: transparent !important;
}

body.dashboard-app-body .dashboard-app-time,
body.dashboard-app-body .dashboard-app-staff-head,
body.dashboard-app-body .dashboard-app-staff-col {
    border-color: rgba(255, 255, 255, 0.06) !important;
}

body.dashboard-app-body .dashboard-app-time {
    color: rgba(255, 255, 255, 0.42) !important;
    background: rgba(0, 0, 0, 0.12) !important;
}

body.dashboard-app-body .dashboard-app-staff-head {
    color: rgba(255, 255, 255, 0.88) !important;
    background: rgba(255, 255, 255, 0.03) !important;
}

body.dashboard-app-body .dashboard-app-staff-col {
    background: var(--dashboard-glass-cell) !important;
}

body.dashboard-app-body .dashboard-app-booking {
    border-radius: 14px !important;
    border: 1px solid var(--dashboard-glass-border-soft) !important;
    border-left: 3px solid var(--service-color, var(--trainer-color, #de242f)) !important;
    background: var(--dashboard-glass-booking) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
}

body.dashboard-app-body .dashboard-app-booking:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: color-mix(in srgb, var(--service-color, var(--trainer-color, #de242f)) 40%, rgba(255, 255, 255, 0.12)) !important;
}

body.dashboard-app-body .dashboard-trainer-filter {
    border: 1px solid var(--dashboard-glass-border-soft) !important;
    background: var(--dashboard-glass-booking) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body.dashboard-app-body .dashboard-trainer-filter.is-active,
body.dashboard-app-body .dashboard-app-trainers .dashboard-trainer-filter.is-active {
    border-color: color-mix(in srgb, var(--trainer-color, #de242f) 55%, rgba(255, 255, 255, 0.14)) !important;
    background: color-mix(in srgb, var(--trainer-color, #de242f) 16%, rgba(255, 255, 255, 0.04)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 0 0 1px color-mix(in srgb, var(--trainer-color, #de242f) 28%, transparent) !important;
}

body.dashboard-app-body .dashboard-app-footer {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    background: var(--dashboard-glass-surface) !important;
    backdrop-filter: blur(12px) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(12px) saturate(var(--site-glass-saturate, 140%)) !important;
    border-top: 1px solid var(--dashboard-glass-border-soft) !important;
}

body.dashboard-app-body .dashboard-app-footer a {
    min-height: 38px !important;
    border-radius: var(--site-button-radius, 12px) !important;
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    background: var(--dashboard-glass-booking) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

body.dashboard-app-body .dashboard-app-footer a:first-child,
body.dashboard-app-body .dashboard-app-footer a.is-primary {
    border-color: rgba(222, 36, 47, 0.45) !important;
    background: rgba(222, 36, 47, 0.82) !important;
}

body.dashboard-app-body .dashboard-manual-panel {
    background: rgba(0, 0, 8, 0.45) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body.dashboard-app-body .dashboard-manual-form {
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    background: var(--site-glass-bg-strong, var(--dashboard-glass-surface-strong)) !important;
    box-shadow: var(--site-glass-shadow, 0 20px 56px rgba(0, 0, 0, 0.3)) !important;
    backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
}

body.dashboard-app-body .dashboard-manual-form input,
body.dashboard-app-body .dashboard-manual-form select {
    border: 1px solid var(--dashboard-glass-border-soft) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

body.dashboard-app-body .dashboard-top-bar .dashboard-inbox-dropdown {
    border: 1px solid var(--site-glass-border, rgba(255, 255, 255, 0.12)) !important;
    background: var(--site-glass-bg-strong, var(--dashboard-glass-surface-strong)) !important;
    box-shadow: var(--site-glass-shadow, 0 20px 56px rgba(0, 0, 0, 0.3)) !important;
    backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
    -webkit-backdrop-filter: blur(var(--site-glass-blur, 18px)) saturate(var(--site-glass-saturate, 140%)) !important;
}

body.dashboard-app-body .dashboard-inbox-item.is-read {
    background: rgba(255, 255, 255, 0.02) !important;
    opacity: 0.82;
}

@media (max-width: 760px) {
    body.dashboard-app-body {
        background-attachment: scroll;
    }

    body.dashboard-app-body::before {
        position: absolute;
        inset: 0;
        height: 100%;
        min-height: 100%;
    }
}

/* Override dashboard timeline fill — no empty scroll gap after last hour */
body.dashboard-app-body .dashboard-app-timeline-wrap {
    height: min(100%, max-content) !important;
}

body.dashboard-app-body .dashboard-app-timeline,
body.dashboard-app-body .dashboard-app-single-timeline {
    min-height: 0 !important;
    height: auto !important;
}
