/**
 * Final NJ exact clone — must load last (after settings-bridge + visual-layout-fixes).
 * Typography, section layout, BMI workspace, programs intro, override cleanup.
 */

/* ===== Typography exact clone ===== */
body:not(.dashboard-app-body) {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body:not(.dashboard-app-body) .section-intro--center :is(
  [class*="-eyebrow"],
  [class*="-title"],
  [class*="-text"],
  [class*="-description"],
  [class*="-intro"]
) {
  text-align: center;
}

body:not(.dashboard-app-body) .programs-intro.programs-intro--stack,
body:not(.dashboard-app-body) .bmi-intro.bmi-heading {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  align-items: center;
}

body:not(.dashboard-app-body) .programs-title,
body:not(.dashboard-app-body) .bmi-title,
body:not(.dashboard-app-body) .membership-title,
body:not(.dashboard-app-body) .strength-title,
body:not(.dashboard-app-body) .faq-title {
  letter-spacing: -0.02em;
  line-height: 1.12;
}

body:not(.dashboard-app-body) :is(
  .programs-eyebrow,
  .bmi-eyebrow,
  .membership-eyebrow,
  .strength-eyebrow,
  .faq-eyebrow,
  .section-eyebrow
) {
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Undo WP-only legal title shrink from theme-layout-fixes.css */
html body:not(.dashboard-app-body) .legal-page-heading-row .legal-page-heading-title {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

/* ===== Content layout exact clone ===== */
body:not(.dashboard-app-body) .programs-section.site-section-block,
body:not(.dashboard-app-body) .bmi-section.site-section-block {
  width: 100%;
}

body:not(.dashboard-app-body) .programs-container,
body:not(.dashboard-app-body) .bmi-container,
body:not(.dashboard-app-body) .membership-container,
body:not(.dashboard-app-body) .strength-container {
  width: min(100%, var(--container-max-width, 1200px));
  margin-inline: auto;
}

/* ===== BMI exact clone (NJ BmiSection.tsx DOM) ===== */
body:not(.dashboard-app-body) .bmi-section .bmi-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--section-text-content-gap-desktop, 40px);
  width: 100%;
}

body:not(.dashboard-app-body) .bmi-section .bmi-workspace {
  width: 100%;
  max-width: var(--bmi-calc-workspace-max-width, min(1040px, 100%));
  margin-inline: auto;
}

body:not(.dashboard-app-body) .bmi-section .bmi-workspace-row {
  display: grid;
  gap: var(--split-layout-gap, clamp(20px, 3vw, 32px));
  width: 100%;
  align-items: stretch;
}

@media (min-width: 768px) {
  body:not(.dashboard-app-body) .bmi-section .bmi-workspace-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  body:not(.dashboard-app-body) .bmi-section .bmi-left {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  body:not(.dashboard-app-body) .bmi-section .bmi-form {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }

  body:not(.dashboard-app-body) .bmi-section .bmi-table-wrap {
    height: 100%;
  }
}

body:not(.dashboard-app-body) .bmi-section .bmi-result-row {
  width: 100%;
  margin-top: clamp(16px, 2.5vw, 24px);
}

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

/* Legacy alternating-layout flex reset: keep column stack for NJ workspace markup */
body:not(.dashboard-app-body) .bmi-section .bmi-container:has(.bmi-workspace) {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-template-columns: unset;
}

body:not(.dashboard-app-body) .bmi-section .bmi-right .bmi-result {
  display: none;
}

/* ===== Programs exact clone ===== */
body:not(.dashboard-app-body) .programs-section .section-intro--center {
  margin-inline: auto;
  text-align: center;
  align-items: center;
}

body:not(.dashboard-app-body) .programs-intro-actions {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: clamp(28px, 4vw, 40px);
}

body:not(.dashboard-app-body) .programs-section .programs-intro-actions .programs-button,
body:not(.dashboard-app-body) .programs-section .programs-grid + .programs-intro-actions .programs-button {
  margin-left: 0 !important;
  margin-inline: auto;
}

/* ===== Responsive exact clone ===== */
@media (max-width: 1024px) {
  body:not(.dashboard-app-body) .bmi-section .bmi-container {
    gap: var(--section-text-content-gap-mobile, 28px);
  }
}

@media (max-width: 767px) {
  body:not(.dashboard-app-body) .bmi-section .bmi-workspace-row {
    grid-template-columns: 1fr;
  }

  body:not(.dashboard-app-body) .programs-intro.programs-intro--stack,
  body:not(.dashboard-app-body) .bmi-intro.bmi-heading {
    max-width: 100%;
    padding-inline: clamp(12px, 4vw, 20px);
  }
}

@media (max-width: 480px) {
  body:not(.dashboard-app-body) .bmi-section .bmi-form,
  body:not(.dashboard-app-body) .bmi-section .bmi-table-wrap,
  body:not(.dashboard-app-body) .bmi-section .bmi-result-row .bmi-result {
    padding: clamp(16px, 4vw, 20px);
  }
}

/* ----- Footer legal icons: brand red (matches NJ site-responsive-polish.css) ----- */
body:not(.dashboard-app-body) .footer-menu--legal .footer-legal-icon {
  color: var(--legal-heading-icon-color, var(--color-red, #de242f));
}

body:not(.dashboard-app-body) .footer-menu--legal .footer-legal-icon svg {
  stroke: currentColor;
}

body:not(.dashboard-app-body) .footer-menu--legal .footer-legal-item:hover .footer-legal-icon,
body:not(.dashboard-app-body) .footer-menu--legal .footer-legal-item:focus-within .footer-legal-icon {
  color: var(--legal-heading-icon-color, var(--color-red, #de242f));
}

body:not(.dashboard-app-body) .footer-menu--legal .footer-legal-item a:hover,
body:not(.dashboard-app-body) .footer-menu--legal .footer-legal-item a:focus-visible {
  color: var(--footer-link-hover, #fff);
}
/* theme-layout-fixes targets --centered; WP now uses --center like NJ */
body:not(.dashboard-app-body) .programs-section .programs-intro.section-intro--center {
  gap: var(--section-eyebrow-heading-gap-desktop, 12px);
}

body:not(.dashboard-app-body) .programs-description + .programs-intro-actions {
  margin-top: 0;
}

/* ===== Desktop layout polish (Round 2) ===== */

/* 1) Programs CTA — centered on desktop */
@media (min-width: 761px) {
  html body:not(.dashboard-app-body) .programs-section .programs-intro-actions,
  html body:not(.dashboard-app-body) .programs-section .programs-grid + .programs-intro-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  html body:not(.dashboard-app-body) .programs-section .programs-intro-actions .programs-button,
  html body:not(.dashboard-app-body) .programs-section .programs-grid + .programs-intro-actions .programs-button {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline: auto !important;
    align-self: center !important;
  }
}

/* 2) Booking home services — full-width flex rows */
body:not(.dashboard-app-body) .booking-home-intro .booking-home-card,
body:not(.dashboard-app-body) .booking-home-intro .booking-home-services {
  width: 100% !important;
  max-width: 100% !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-services {
  align-items: stretch !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(10px, 1.4vw, 14px) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-line {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(10px, 1.4vw, 14px) !important;
  width: auto !important;
  max-width: calc(100% - 44px) !important;
  min-width: 0 !important;
  grid-template-columns: unset !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-icon {
  flex: 0 0 auto !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-name {
  flex: 0 1 auto !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 22ch !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-duration {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  text-align: center !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-price {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  margin-left: 0 !important;
  text-align: center !important;
  font-style: normal !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-sep {
  display: block !important;
  flex: 0 0 1px !important;
  align-self: center !important;
  width: 1px !important;
  min-width: 1px !important;
  height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.22) !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-cta,
body:not(.dashboard-app-body) .booking-home-intro .booking-main-button.booking-home-cta {
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}

@media (max-width: 760px) {
  body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-name {
    font-size: clamp(10px, 2.8vw, 12px) !important;
  }

  body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-duration,
  body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-price {
    font-size: clamp(10px, 2.6vw, 12px) !important;
  }

  body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-line {
    gap: clamp(6px, 1.8vw, 10px) !important;
  }
}

/* 1) Program detail — intro blocks match gallery width */
body:not(.dashboard-app-body) .program-detail-page .program-detail-intro--stream {
  width: 100% !important;
  max-width: 100% !important;
  gap: clamp(16px, 2.5vw, 24px);
  margin-inline: 0 !important;
  margin-bottom: var(--site-section-block-gap, clamp(32px, 4.5vw, 48px)) !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block--stream {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-text,
body:not(.dashboard-app-body) .program-detail-page .program-detail-block-intro,
body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list {
  max-width: none;
  overflow-wrap: break-word;
}

@media (max-width: 760px) {
  body:not(.dashboard-app-body) .program-detail-page .program-detail-intro--stream {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* 3) About spotlight — centered stack with video */
body:not(.dashboard-app-body) .about-home-spotlight__grid--centered,
body:not(.dashboard-app-body) .about-home-spotlight__content--centered {
  text-align: center !important;
  align-items: center !important;
}

body:not(.dashboard-app-body) .about-home-spotlight__content--centered :is(.about-eyebrow, .about-title, .about-text) {
  text-align: center !important;
  margin-inline: auto !important;
}

body:not(.dashboard-app-body) .about-home-spotlight__icons {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

body:not(.dashboard-app-body) .about-home-spotlight__content--centered .about-actions {
  justify-content: center !important;
  margin-top: 0 !important;
}

body:not(.dashboard-app-body) .about-home-spotlight.has-about-video .about-home-spotlight__video {
  object-fit: cover !important;
}

/* 4) Site-wide section rhythm — match programs section (margin stack, not double gap) */
:root {
  --site-section-step-gap: var(--section-stack-eyebrow-gap, clamp(14px, 2vw, 20px));
  --site-section-block-gap: var(--section-stack-content-gap, clamp(32px, 4.5vw, 48px));
  --site-content-rail-width: min(1040px, 100%);
}

body:not(.dashboard-app-body) :is(
  .section-intro-stack,
  .membership-heading,
  .partnerships-heading,
  .strength-heading,
  .location-heading,
  .faq-heading,
  .get-in-touch-heading,
  .booking-section-intro,
  .gym-gallery-heading.section-intro-stack
) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin-bottom: var(--site-section-block-gap) !important;
}

body:not(.dashboard-app-body) :is(
  .section-intro-stack,
  .membership-heading,
  .partnerships-heading,
  .strength-heading,
  .location-heading,
  .faq-heading,
  .get-in-touch-heading,
  .booking-section-intro,
  .gym-gallery-heading.section-intro-stack
) :is([class*="-eyebrow"]) {
  margin: 0 0 var(--site-section-step-gap) !important;
}

body:not(.dashboard-app-body) :is(
  .section-intro-stack,
  .membership-heading,
  .partnerships-heading,
  .strength-heading,
  .location-heading,
  .faq-heading,
  .get-in-touch-heading,
  .booking-section-intro,
  .gym-gallery-heading.section-intro-stack
) :is([class*="-title"], h2, h3) {
  margin: 0 0 var(--site-section-step-gap) !important;
}

body:not(.dashboard-app-body) :is(
  .section-intro-stack,
  .membership-heading,
  .partnerships-heading,
  .strength-heading,
  .location-heading,
  .faq-heading,
  .get-in-touch-heading,
  .booking-section-intro,
  .gym-gallery-heading.section-intro-stack
) :is([class*="-text"], [class*="-intro"], [class*="-description"]) {
  margin: 0 !important;
}

body:not(.dashboard-app-body) .section-intro-stack + :is(
  .programs-grid,
  .booking-app,
  .faq-list,
  .get-in-touch-form,
  .bmi-workspace,
  .strength-workspace,
  .gym-gallery-grid,
  .location-map-container,
  .partner-logo-scroll,
  .membership-selector
),
body:not(.dashboard-app-body) .membership-heading.section-intro-stack + .membership-selector,
body:not(.dashboard-app-body) .section-intro-stack + .gym-gallery-grid {
  margin-top: 0 !important;
}

body:not(.dashboard-app-body) .programs-grid + .programs-intro-actions,
body:not(.dashboard-app-body) .gym-gallery-grid + .gym-gallery-actions {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: var(--site-section-block-gap) !important;
}

body:not(.dashboard-app-body) .about-home-spotlight__content--centered {
  gap: var(--site-section-step-gap) !important;
  margin-bottom: 0 !important;
}

@media (min-width: 761px) {
  body:not(.dashboard-app-body) .program-detail-page .program-detail-intro--stream {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block--stream {
  position: relative;
  padding: clamp(22px, 3vw, 32px) !important;
  border-radius: clamp(14px, 2vw, 18px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(222, 36, 47, 0.1), transparent 55%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02));
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.2);
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-title {
  position: relative;
  margin: 0 0 clamp(10px, 1.6vw, 14px);
  padding-top: 14px;
  font-size: clamp(17px, 2vw, 21px);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(32px, 5vw, 44px);
  height: 2px;
  background: var(--color-red, #de242f);
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-text,
body:not(.dashboard-app-body) .program-detail-page .program-detail-block-intro,
body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list {
  color: rgba(250, 249, 254, 0.84);
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list {
  margin: 0;
  padding-left: 1.15em;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list li + li {
  margin-top: 0.45em;
}

/* 5) Contact tiles — horizontal row, contained content, better social icons */
@media (min-width: 761px) {
  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tiles--premium,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-page-info-tiles.contact-tiles--premium {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 1024px) and (min-width: 761px) {
  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tiles--premium,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-page-info-tiles.contact-tiles--premium {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile {
  min-width: 0;
  overflow: hidden;
  align-items: flex-start;
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__body,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__body {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__value,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__value {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  font-size: clamp(11px, 1vw, 14px);
  line-height: 1.3;
}

@media (min-width: 1025px) {
  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tiles--premium,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-page-info-tiles.contact-tiles--premium {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile {
    display: flex !important;
    align-items: center !important;
    gap: clamp(10px, 1.2vw, 14px) !important;
    min-height: clamp(72px, 7vw, 88px) !important;
    height: 100% !important;
    padding: clamp(12px, 1.4vw, 16px) clamp(10px, 1.1vw, 14px) !important;
  }

  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__body,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 2px !important;
    min-width: 0 !important;
  }

  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__value,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__value {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: clamp(10px, 0.82vw, 12.5px) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__value--socials .header-social-link svg,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__value--socials .header-social-link svg {
  fill: none !important;
  stroke: currentColor !important;
}

body:not(.dashboard-app-body) .contact-tile__social-link--icon {
  display: none !important;
}

/* 6) Header — logo | menu | languages | social-info, always contained */
@media (min-width: 768px) {
  body:not(.dashboard-app-body) .site-header {
    width: calc(100vw - (var(--site-header-float-gap, 14px) * 2) - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) !important;
    max-width: min(var(--container-width, 1200px), calc(100vw - (var(--site-header-float-gap, 14px) * 2) - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))) !important;
    min-height: var(--header-height, 72px) !important;
    height: auto !important;
  }

  body:not(.dashboard-app-body) .site-header .header-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: clamp(14px, 2vw, 32px) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: calc(var(--header-height, 72px) - 14px) !important;
    height: auto !important;
    box-sizing: border-box !important;
    grid-template-columns: unset !important;
  }

  body:not(.dashboard-app-body) .header-logo-wrap {
    flex: 0 0 auto;
    min-width: 0;
    max-width: min(var(--header-logo-max-desktop, 160px), 22vw);
    grid-column: unset !important;
    justify-self: unset !important;
  }

  body:not(.dashboard-app-body) .header-logo-wrap .custom-logo,
  body:not(.dashboard-app-body) .header-logo-wrap .site-logo-text {
    max-width: 100%;
    height: auto;
  }

  body:not(.dashboard-app-body) .main-navigation {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none !important;
    width: auto !important;
    grid-column: unset !important;
    justify-self: unset !important;
    display: flex !important;
    justify-content: center !important;
    overflow: hidden;
  }

  body:not(.dashboard-app-body) .main-navigation .main-menu {
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: clamp(8px, 1.2vw, 24px) !important;
    max-width: 100%;
    min-width: 0;
  }

  body:not(.dashboard-app-body) .main-menu > li {
    min-width: 0;
  }

  body:not(.dashboard-app-body) .main-menu a,
  body:not(.dashboard-app-body) .main-navigation .menu a {
    white-space: nowrap !important;
    font-size: clamp(9px, 0.72vw, 13px) !important;
    letter-spacing: clamp(0.02em, 0.04vw, 0.08em) !important;
    padding: 6px clamp(4px, 0.5vw, 10px) !important;
  }

  body:not(.dashboard-app-body) .header-actions {
    flex: 0 0 auto;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: clamp(10px, 1.4vw, 22px) !important;
    min-width: 0;
    max-width: min(100%, 42vw) !important;
    width: auto !important;
    grid-column: unset !important;
    justify-self: unset !important;
    margin-left: auto !important;
  }

  body:not(.dashboard-app-body) .header-actions .language-switch--header,
  body:not(.dashboard-app-body) .header-actions .language-switch--desktop {
    position: relative;
    flex-shrink: 0;
    margin-right: clamp(2px, 0.4vw, 6px);
    padding-right: clamp(10px, 1.1vw, 16px);
  }

  body:not(.dashboard-app-body) .header-actions .language-switch--header::after,
  body:not(.dashboard-app-body) .header-actions .language-switch--desktop::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 58%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.16);
    pointer-events: none;
  }

  body:not(.dashboard-app-body) .header-actions .header-socials,
  body:not(.dashboard-app-body) .header-actions .header-contact-links {
    flex-shrink: 0;
    min-width: 0;
    gap: clamp(6px, 0.8vw, 12px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  body:not(.dashboard-app-body) .main-menu a,
  body:not(.dashboard-app-body) .main-navigation .menu a {
    font-size: clamp(8px, 0.95vw, 11px) !important;
  }

  body:not(.dashboard-app-body) .header-actions {
    max-width: min(100%, 48vw) !important;
    gap: clamp(8px, 1vw, 14px) !important;
  }
}

/* ===== Header tablet band (768–838px) ===== */
@media (min-width: 768px) and (max-width: 838px) {
  body:not(.dashboard-app-body) .site-header .header-container {
    gap: clamp(6px, 1vw, 10px) !important;
    padding-left: max(clamp(10px, 2vw, 16px), env(safe-area-inset-left, 0px)) !important;
    padding-right: max(clamp(10px, 2vw, 16px), env(safe-area-inset-right, 0px)) !important;
  }

  body:not(.dashboard-app-body) .header-logo-wrap {
    max-width: min(108px, 16vw) !important;
  }

  body:not(.dashboard-app-body) .main-navigation {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: min(100%, calc(100vw - 240px)) !important;
    overflow: hidden !important;
  }

  body:not(.dashboard-app-body) .main-navigation .main-menu {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: clamp(4px, 0.7vw, 8px) !important;
  }

  body:not(.dashboard-app-body) .main-menu a,
  body:not(.dashboard-app-body) .main-navigation .menu a {
    font-size: clamp(7px, 0.85vw, 9px) !important;
    letter-spacing: 0.04em !important;
    padding: 4px clamp(3px, 0.4vw, 6px) !important;
  }

  body:not(.dashboard-app-body) .header-actions {
    flex: 0 0 auto !important;
    gap: clamp(5px, 0.7vw, 8px) !important;
    max-width: min(100%, 46vw) !important;
  }

  body:not(.dashboard-app-body) .header-actions .language-switch--header,
  body:not(.dashboard-app-body) .header-actions .language-switch--desktop {
    padding-right: clamp(6px, 0.8vw, 10px) !important;
    margin-right: 0 !important;
  }

  body:not(.dashboard-app-body) .header-actions .header-social-link,
  body:not(.dashboard-app-body) .header-actions .header-contact-link {
    width: clamp(22px, 3.2vw, 26px) !important;
    height: clamp(22px, 3.2vw, 26px) !important;
  }
}

@media (min-width: 1025px) {
  html body:not(.dashboard-app-body) .site-header .header-container {
    display: flex !important;
    grid-template-columns: unset !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  html body:not(.dashboard-app-body) .header-logo-wrap,
  html body:not(.dashboard-app-body) .main-navigation,
  html body:not(.dashboard-app-body) .header-actions {
    grid-column: unset !important;
    justify-self: unset !important;
  }
}

/* ===== Program pages — left-aligned card content, contained ===== */
body:not(.dashboard-app-body) .program-detail-page .programs-page-heading,
body:not(.dashboard-app-body) .program-detail-page .program-detail-heading {
  text-align: left !important;
  align-items: flex-start !important;
  margin-inline: 0 !important;
}

body:not(.dashboard-app-body) .program-detail-page .programs-page-eyebrow,
body:not(.dashboard-app-body) .program-detail-page .programs-page-title {
  text-align: left !important;
  margin-inline: 0 !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-intro--stream {
  text-align: left !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block--stream {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: clamp(10px, 1.6vw, 14px) !important;
  min-height: 100% !important;
  text-align: left !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-title {
  width: 100% !important;
  text-align: left !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-title::before {
  left: 0 !important;
  transform: none !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-text,
body:not(.dashboard-app-body) .program-detail-page .program-detail-block-intro {
  margin-inline: 0 !important;
  max-width: min(60ch, 100%) !important;
  width: 100% !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list {
  display: block !important;
  width: 100% !important;
  max-width: min(60ch, 100%) !important;
  margin-inline: 0 !important;
  padding-left: 1.15em !important;
  list-style-position: outside !important;
  text-align: left !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list li {
  text-align: left !important;
}

body:not(.dashboard-app-body) .program-detail-page .program-detail-actions {
  justify-content: flex-start !important;
}

/* ===== Contact social tile — tile icon + header-style IG/FB links ===== */
body:not(.dashboard-app-body) .contact-tile--socials {
  display: flex !important;
  align-items: center !important;
  gap: clamp(14px, 2vw, 18px) !important;
}

body:not(.dashboard-app-body) .contact-tile--socials .contact-tile__body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: clamp(4px, 0.6vw, 6px) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body:not(.dashboard-app-body) .contact-tile__value--socials {
  display: block !important;
  width: auto !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
}

body:not(.dashboard-app-body) .contact-tile__value--socials .header-socials {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--header-social-gap, 12px) !important;
  flex-wrap: nowrap !important;
}

body:not(.dashboard-app-body) .contact-tile__value--socials .header-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--header-social-size, 24px) !important;
  height: var(--header-social-size, 24px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--header-social-color, var(--color-light, #faf9fe)) !important;
  flex: 0 0 auto !important;
}

body:not(.dashboard-app-body) .contact-tile__value--socials .header-social-link svg {
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body:not(.dashboard-app-body) .contact-tile__value--socials .header-social-link svg .site-svg-icon__solid {
  fill: currentColor !important;
  stroke: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body:not(.dashboard-app-body) .contact-tile__value--socials .header-social-link:hover {
    color: var(--header-social-hover-color, var(--color-red, #de242f)) !important;
    transform: var(--header-social-hover-transform, translateY(-1px)) !important;
  }
}

/* ===== Unified content rail below hero ===== */
body:not(.dashboard-app-body) main.site-main[data-site-route="home"] .site-section-block > .container,
body:not(.dashboard-app-body) main.site-main[data-site-route="home"] .site-section-block :is(
  .programs-container,
  .membership-container,
  .partnerships-container,
  .booking-section-intro,
  .booking-container,
  .about-container,
  .gym-gallery-container,
  .bmi-container,
  .strength-container,
  .location-container,
  .faq-container,
  .get-in-touch-container
),
body:not(.dashboard-app-body) .booking-app,
body:not(.dashboard-app-body) .programs-page-container,
body:not(.dashboard-app-body) .program-detail-container,
body:not(.dashboard-app-body) .contact-page-container,
body:not(.dashboard-app-body) .contact-page-blocks,
body:not(.dashboard-app-body) .contact-tiles--premium {
  width: 100% !important;
  max-width: var(--site-content-rail-width) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

body:not(.dashboard-app-body) .section-flow--stack :is(
  .programs-grid,
  .booking-app,
  .booking-step-panel,
  .faq-list,
  .get-in-touch-form,
  .bmi-workspace,
  .gym-gallery-grid,
  .location-map-container,
  .contact-location-map-container,
  .partner-logo-scroll,
  .membership-selector
) {
  width: 100% !important;
  max-width: var(--site-content-rail-width) !important;
  margin-inline: auto !important;
}

body:not(.dashboard-app-body) .location-map-container,
body:not(.dashboard-app-body) .contact-location-map-container {
  position: relative !important;
  left: auto !important;
  transform: none !important;
}

body:not(.dashboard-app-body) .booking-step-panel,
body:not(.dashboard-app-body) .booking-app .booking-step-panel {
  width: 100% !important;
  max-width: var(--site-content-rail-width) !important;
  margin-inline: auto !important;
}

body:not(.dashboard-app-body) .strength-workspace--stacked .strength-form,
body:not(.dashboard-app-body) .strength-workspace--stacked .strength-result-panel,
body:not(.dashboard-app-body) .strength-workspace {
  max-width: var(--strength-calc-panel-max-width, min(1040px, 100%)) !important;
  width: 100% !important;
  margin-inline: auto !important;
}

/* Strength calc — stacked layout (reverted), gap between form and result like BMI */
body:not(.dashboard-app-body) .strength-section .strength-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--bmi-calc-result-gap, clamp(24px, 4vw, 36px)) !important;
  width: 100% !important;
  max-width: var(--strength-calc-panel-max-width, min(1040px, 100%)) !important;
  margin-inline: auto !important;
  align-items: stretch !important;
}

body:not(.dashboard-app-body) .strength-section .strength-form,
body:not(.dashboard-app-body) .strength-section .strength-result-panel {
  max-width: 100% !important;
  width: 100% !important;
  margin-inline: auto !important;
}

/* BMI + Strength result boxes — identical border, radius, background, padding */
body:not(.dashboard-app-body) .bmi-result.premium-glass--panel,
body:not(.dashboard-app-body) .strength-result.premium-glass--panel {
  padding: clamp(18px, 3vw, 26px) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: var(--reference-glass-radius, 34px) !important;
  background: var(--site-glass-bg-strong) !important;
  box-shadow: var(--site-glass-shadow) !important;
  backdrop-filter: blur(var(--site-glass-blur, 16px)) saturate(var(--site-glass-saturate, 140%)) !important;
  -webkit-backdrop-filter: blur(var(--site-glass-blur, 16px)) saturate(var(--site-glass-saturate, 140%)) !important;
}

/* Strength wrapper is a transparent shell — drop its padding so the result's
   inner text width matches the BMI result exactly (same wrapping, one line). */
body:not(.dashboard-app-body) .strength-result-panel {
  padding: 0 !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-card,
body:not(.dashboard-app-body) .booking-home-intro .booking-panel-viewport,
body:not(.dashboard-app-body) .booking-panel-viewport {
  width: 100% !important;
  max-width: 100% !important;
}

/* Kill main.css width:100% on duration/price that hides service names */
body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-duration,
body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-price,
body:not(.dashboard-app-body) .booking-step-panel .booking-home-service-duration,
body:not(.dashboard-app-body) .booking-step-panel .booking-home-service-price {
  width: auto !important;
  max-width: none !important;
  justify-self: auto !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-name-group,
body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-meta {
  display: inline-flex !important;
  align-items: center !important;
  gap: clamp(10px, 1.4vw, 14px) !important;
  width: auto !important;
}

/* =========================================================
   Mobile layout polish
========================================================= */
@media (max-width: 760px) {
  /* 1) Programs CTA — centered below carousel */
  html body:not(.dashboard-app-body) .programs-section .programs-intro-actions,
  html body:not(.dashboard-app-body) .programs-section .programs-grid + .programs-intro-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  html body:not(.dashboard-app-body) .programs-section .programs-intro-actions .programs-button,
  html body:not(.dashboard-app-body) .programs-section .programs-grid + .programs-intro-actions .programs-button {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline: auto !important;
    align-self: center !important;
  }

  /* 2) Booking contact strip — address row 1, phone row 2, left aligned */
  body:not(.dashboard-app-body) .booking-contact-strip--home {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: clamp(8px, 2vw, 10px) !important;
    text-align: left !important;
  }

  body:not(.dashboard-app-body) .booking-contact-strip--home span {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    font-size: clamp(10px, 2.6vw, 12px) !important;
    line-height: 1.35 !important;
  }

  body:not(.dashboard-app-body) .booking-contact-strip--home svg {
    flex: 0 0 auto !important;
  }

  /* 3) Booking steps — labels always visible, not clipped */
  body:not(.dashboard-app-body) .booking-step-panel .booking-progress {
    gap: clamp(4px, 1.2vw, 6px) !important;
    padding: clamp(8px, 2vw, 10px) clamp(6px, 1.5vw, 8px) !important;
    overflow: visible !important;
  }

  body:not(.dashboard-app-body) .booking-step-panel .booking-progress-item {
    flex: 1 1 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(3px, 0.8vw, 5px) !important;
    min-width: 0 !important;
    min-height: auto !important;
    padding: clamp(5px, 1.4vw, 7px) clamp(3px, 1vw, 5px) !important;
    overflow: visible !important;
  }

  body:not(.dashboard-app-body) .booking-step-panel .booking-progress-item > span:last-child {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
    line-height: 1.15 !important;
    font-size: clamp(8px, 2.15vw, 10px) !important;
    text-align: center !important;
  }

  body:not(.dashboard-app-body) .booking-step-panel[data-booking-lang="el"] .booking-progress-item > span:last-child {
    font-size: clamp(7.5px, 2vw, 9.5px) !important;
    letter-spacing: -0.01em !important;
  }

  body:not(.dashboard-app-body) .booking-step-panel .booking-progress-icon {
    width: clamp(16px, 4.2vw, 20px) !important;
    height: clamp(16px, 4.2vw, 20px) !important;
  }

  /* 4) About team icons — single row on mobile */
  body:not(.dashboard-app-body) .about-home-spotlight__icons .about-team-circles,
  body:not(.dashboard-app-body) .about-team-circles--home {
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: clamp(8px, 2.5vw, 14px) !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:not(.dashboard-app-body) .about-team-circles--home .about-team-circles__member + .about-team-circles__member {
    margin-left: clamp(-10px, -2vw, -6px) !important;
  }

  body:not(.dashboard-app-body) .about-team-circles--home .about-team-circles__member:nth-child(2) {
    transform: translateY(clamp(-4px, -1vw, -8px)) !important;
  }

  body:not(.dashboard-app-body) .about-team-circles--home .about-team-circles__photo-wrap {
    width: clamp(72px, 21vw, 96px) !important;
    height: clamp(72px, 21vw, 96px) !important;
  }

  /* 5) Contact tiles — icon left, label centered at top, info left aligned */
  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: clamp(12px, 3vw, 16px) !important;
  }

  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__icon,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__icon {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    margin-top: 2px !important;
  }

  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__body,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__body {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    text-align: left !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }

  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__label,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__label {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: clamp(2px, 0.6vw, 4px) !important;
  }

  body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__value,
  body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__value {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  body:not(.dashboard-app-body) .contact-tile__value--socials,
  body:not(.dashboard-app-body) .contact-tile__value--socials .header-socials {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* 6) Hero — keep scroll hint inside full viewport */
  html body:not(.dashboard-app-body) .hero-section.hero-section--neon {
    min-height: var(--hero-viewport-full, 100dvh) !important;
    height: var(--hero-viewport-full, 100dvh) !important;
    max-height: var(--hero-viewport-full, 100dvh) !important;
    overflow: hidden !important;
  }

  html body:not(.dashboard-app-body) .hero-container.hero-container--neon {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding-bottom: clamp(56px, 11vh, 72px) !important;
    overflow: hidden !important;
  }

  html body:not(.dashboard-app-body) .hero-scroll-hint,
  html body:not(.dashboard-app-body) main.site-main[data-site-route="home"] .hero-scroll-hint {
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    max-width: calc(100% - 24px) !important;
    z-index: 6 !important;
  }

  html body:not(.dashboard-app-body) .hero-scroll-hint__line.scroll-line,
  html body:not(.dashboard-app-body) main.site-main[data-site-route="home"] .hero-scroll-hint__line.scroll-line {
    height: clamp(24px, 5.5vh, 34px) !important;
    max-height: 34px !important;
  }

  html body:not(.dashboard-app-body) .hero-scroll-hint__label,
  html body:not(.dashboard-app-body) main.site-main[data-site-route="home"] .hero-scroll-hint__label {
    font-size: clamp(9px, 2.2vw, 10.5px) !important;
    letter-spacing: 0.16em !important;
    white-space: nowrap !important;
  }
}

/* ===== BMI + Strength result panels — centered on all breakpoints ===== */
@media (max-width: 760px) {
  body:not(.dashboard-app-body) .bmi-result.premium-glass--panel:not(.is-calculated),
  body:not(.dashboard-app-body) .bmi-section .bmi-result:not(.is-calculated),
  body:not(.dashboard-app-body) #bmiResult:not(.is-calculated),
  body:not(.dashboard-app-body) .strength-result.premium-glass--panel:not(.is-calculated),
  body:not(.dashboard-app-body) .strength-result[data-strength-result]:not(.is-calculated) {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body:not(.dashboard-app-body) .bmi-result:not(.is-calculated) .bmi-result-label,
  body:not(.dashboard-app-body) .strength-result:not(.is-calculated) .strength-result-label,
  body:not(.dashboard-app-body) .strength-result[data-strength-result-placeholder] {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  body:not(.dashboard-app-body) .bmi-result-row .bmi-result:not(.is-calculated),
  body:not(.dashboard-app-body) .strength-result-panel .strength-result:not(.is-calculated) {
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (min-width: 761px) {
  body:not(.dashboard-app-body) .bmi-result.premium-glass--panel,
  body:not(.dashboard-app-body) .bmi-section .bmi-result,
  body:not(.dashboard-app-body) #bmiResult,
  body:not(.dashboard-app-body) .strength-result.premium-glass--panel,
  body:not(.dashboard-app-body) .strength-result[data-strength-result] {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body:not(.dashboard-app-body) .bmi-result .bmi-result-label,
  body:not(.dashboard-app-body) .bmi-result:not(.is-calculated) .bmi-result-label,
  body:not(.dashboard-app-body) .strength-result-label,
  body:not(.dashboard-app-body) .strength-result[data-strength-result-placeholder] {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  body:not(.dashboard-app-body) .bmi-result-row .bmi-result,
  body:not(.dashboard-app-body) .strength-result-panel .strength-result {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* ===== BMI + Strength placeholder — keep the message on a single centered line ===== */
body:not(.dashboard-app-body) .bmi-result:not(.is-calculated) .bmi-result-label,
body:not(.dashboard-app-body) .strength-result:not(.is-calculated) .strength-result-label,
body:not(.dashboard-app-body) .strength-result .strength-result-label[data-strength-result-placeholder] {
  white-space: nowrap !important;
  font-size: clamp(11px, 3.1vw, 16px) !important;
  line-height: 1.3 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* ===== Booking home preview — left-aligned rows with aligned meta columns ===== */
body:not(.dashboard-app-body) .booking-home-intro .booking-home-service {
  justify-content: flex-start !important;
  gap: clamp(10px, 1.6vw, 14px) !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content max-content !important;
  align-items: center !important;
  column-gap: clamp(10px, 1.8vw, 16px) !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-sep {
  display: none !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-name {
  justify-self: start !important;
  text-align: left !important;
  min-width: 0 !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-duration {
  justify-self: end !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body:not(.dashboard-app-body) .booking-home-intro .booking-home-service-price {
  justify-self: end !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Booking address + phone — always one line each, stacked and left aligned */
body:not(.dashboard-app-body) .booking-contact-strip--home {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: clamp(6px, 1.4vw, 10px) !important;
  grid-template-columns: none !important;
}

body:not(.dashboard-app-body) .booking-contact-strip--home span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* ===== Contact tiles — icon + heading on one row, value beneath, left aligned ===== */
body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(12px, 1.6vw, 16px) !important;
  text-align: left !important;
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__icon,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__icon {
  flex: 0 0 auto !important;
  align-self: center !important;
  margin-top: 0 !important;
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__body,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__label,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__label {
  display: block !important;
  width: auto !important;
  text-align: left !important;
}

body:not(.dashboard-app-body) .contact-page-flow--tiles .contact-tile__value,
body:not(.dashboard-app-body) .contact-page-flow--centered .contact-tile__value {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body:not(.dashboard-app-body) .contact-tile--socials .contact-tile__value--socials,
body:not(.dashboard-app-body) .contact-tile--socials .contact-tile__value--socials .header-socials {
  justify-content: flex-start !important;
}

/* ===== Scroll-to-top — modern circular glass button, on-brand ===== */
body:not(.dashboard-app-body) .scroll-to-top {
  --scroll-top-size: clamp(46px, 5vw, 54px);
  width: var(--scroll-top-size) !important;
  height: var(--scroll-top-size) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background:
    radial-gradient(120% 120% at 30% 20%, rgba(255, 255, 255, 0.28), transparent 55%),
    linear-gradient(145deg, #ff3b47 0%, var(--color-red, #de242f) 55%, #b31820 100%) !important;
  color: #fff !important;
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(0, 0, 0, 0.18),
    0 0 22px rgba(222, 36, 47, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
  backdrop-filter: blur(6px) saturate(140%);
  -webkit-backdrop-filter: blur(6px) saturate(140%);
  transform: translateY(14px) scale(0.9);
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease !important;
}

body:not(.dashboard-app-body) .scroll-to-top.is-visible {
  transform: translateY(0) scale(1);
}

body:not(.dashboard-app-body) .scroll-to-top__icon svg {
  width: 1.15em !important;
  height: 1.15em !important;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(.dashboard-app-body) .scroll-to-top.is-visible:hover {
  transform: translateY(-5px) scale(1.07);
  background:
    radial-gradient(120% 120% at 30% 15%, rgba(255, 255, 255, 0.38), transparent 55%),
    linear-gradient(145deg, #ff4b56 0%, #e8262f 55%, #c11a22 100%) !important;
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.42),
    0 0 30px rgba(222, 36, 47, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}

body:not(.dashboard-app-body) .scroll-to-top:hover .scroll-to-top__icon svg {
  transform: translateY(-3px);
}

body:not(.dashboard-app-body) .scroll-to-top.is-visible:active {
  transform: translateY(-1px) scale(0.96);
}

body:not(.dashboard-app-body) .scroll-to-top:focus-visible {
  outline: none;
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.34),
    0 0 0 3px rgba(255, 255, 255, 0.85),
    0 0 22px rgba(222, 36, 47, 0.45) !important;
}

@media (prefers-reduced-motion: reduce) {
  body:not(.dashboard-app-body) .scroll-to-top {
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    transform: none;
  }
  body:not(.dashboard-app-body) .scroll-to-top.is-visible,
  body:not(.dashboard-app-body) .scroll-to-top.is-visible:hover,
  body:not(.dashboard-app-body) .scroll-to-top.is-visible:active {
    transform: none;
  }
  body:not(.dashboard-app-body) .scroll-to-top:hover .scroll-to-top__icon svg {
    transform: none;
  }
}
