/**
 * Final front-end overrides — loaded last to beat legacy CSS and inline design tokens.
 *
 * Greek typography: only explicit .site-main section classes (never global [class*="-title"]).
 * Background/layout isolation lives in premium-background.css + playverse-rhythm-overrides.css.
 */
:root {
  --hero-content-gap: var(--ed-hero-content-gap, 12px);
  --hero-title-margin-bottom: var(--ed-hero-title-margin-bottom, var(--section-heading-text-gap-desktop, 0px));
  --hero-text-margin-bottom: var(--ed-hero-text-margin-bottom, var(--section-heading-text-gap-desktop, 0px));
  --site-type-heading-stack-gap: var(--ed-section-heading-text-gap-desktop, var(--section-heading-text-gap-desktop, 20px));
  --site-type-heading-stack-gap-mobile: var(--ed-section-heading-text-gap-mobile, var(--section-heading-text-gap-mobile, 15px));
  /* Gap tokens owned by main.css + editor saves — do not shrink at :root here */
  --get-in-touch-eyebrow-margin-bottom: 8px;
  --get-in-touch-title-margin-bottom: 10px;
  --program-detail-actions-margin-top: 28px;
}

/* Greek pages: Inter for section headings only (Oswald is Latin-only).
   Scoped to .site-main — never use global [class*="-title"] (breaks header, booking, legal UI). */
html[lang="el"] body:not(.dashboard-app-body) .site-main :is(
  .hero-title,
  .programs-title,
  .membership-title,
  .partnerships-title,
  .booking-section-intro-title,
  .about-title,
  .gym-gallery-title,
  .bmi-title,
  .strength-title,
  .location-title,
  .faq-title,
  .get-in-touch-title,
  .programs-page-title,
  .program-detail-title,
  .program-detail-block-title,
  .contact-location-title,
  .program-card-title,
  .membership-card-title
) {
  font-family: var(--font-inter, var(--font-main)), system-ui, sans-serif !important;
  font-weight: var(--ed-global-heading-font-weight, var(--global-heading-font-weight, 700)) !important;
  letter-spacing: var(--ed-global-heading-letter-spacing, var(--global-heading-letter-spacing, 0.02em)) !important;
}

html[lang="el"] body:not(.dashboard-app-body) .site-main :is(
  .programs-eyebrow,
  .membership-eyebrow,
  .partnerships-eyebrow,
  .booking-section-intro-eyebrow,
  .about-eyebrow,
  .gym-gallery-eyebrow,
  .bmi-eyebrow,
  .strength-eyebrow,
  .location-eyebrow,
  .faq-eyebrow,
  .get-in-touch-eyebrow,
  .programs-page-eyebrow,
  .program-detail-eyebrow
) {
  font-family: var(--font-inter, var(--font-main)), system-ui, sans-serif !important;
  letter-spacing: 0.02em !important;
}

/* Hero neon brand — wide geometric logo typography (Design System C style via Orbitron) */
html[lang="el"] body:not(.dashboard-app-body) .hero-neon-brand-title,
html[lang="el"] body:not(.dashboard-app-body) .hero-neon-brand-title .hero-neon-part {
  font-family: var(--font-orbitron, var(--font-neon)), Arial Narrow, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  font-size: var(--pv-hero-brand-size, 46px) !important;
  line-height: 0.95 !important;
}

@media (max-width: 767px) {
  html[lang="el"] body:not(.dashboard-app-body) .hero-neon-brand-title,
  html[lang="el"] body:not(.dashboard-app-body) .hero-neon-brand-title .hero-neon-part {
    font-size: var(--pv-hero-brand-size, 34px) !important;
    letter-spacing: 0.02em !important;
  }
}

html[lang="el"] body:not(.dashboard-app-body) .hero-section.hero-section--neon .hero-title {
  font-family: var(--font-inter, var(--font-main)), system-ui, sans-serif !important;
  font-weight: var(--ed-hero-title-weight, 700) !important;
  letter-spacing: var(--ed-hero-title-letter-spacing, 0.01em) !important;
}

/* Section heading stacks — admin spacing tokens with safe fallbacks */
html body:not(.dashboard-app-body) :is(
  .hero-title,
  .get-in-touch-title,
  .contact-location-title,
  .programs-page-title,
  .program-detail-title
) {
  margin-bottom: var(--ed-hero-title-margin-bottom, var(--hero-title-margin-bottom, 0)) !important;
}

html body:not(.dashboard-app-body) .get-in-touch-heading .get-in-touch-eyebrow {
  margin: 0 0 8px !important;
}

html body:not(.dashboard-app-body) .get-in-touch-heading .get-in-touch-title {
  margin: 0 0 10px !important;
}

html body:not(.dashboard-app-body) .get-in-touch-heading .get-in-touch-intro {
  margin: 0 !important;
}

html body:not(.dashboard-app-body) .get-in-touch-heading + .get-in-touch-form {
  margin-top: clamp(16px, 3vw, 22px) !important;
}

/* ----- Program detail page ----- */
html body:not(.dashboard-app-body) .program-detail-page .program-detail-heading {
  text-align: center !important;
  margin-bottom: clamp(20px, 3vw, 28px) !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-eyebrow,
html body:not(.dashboard-app-body) .program-detail-page .programs-page-eyebrow {
  color: var(--color-red, #de242f) !important;
  text-align: center !important;
  margin: 0 0 8px !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-title,
html body:not(.dashboard-app-body) .program-detail-page .programs-page-title {
  text-align: center !important;
  margin: 0 auto !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-intro--stream {
  text-align: center !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-block--stream {
  text-align: center !important;
  padding-inline: 0 !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-block-text,
html body:not(.dashboard-app-body) .program-detail-page .program-detail-block-intro,
html body:not(.dashboard-app-body) .program-detail-page .program-detail-block-title {
  text-align: center !important;
  max-width: min(52ch, 100%) !important;
  margin-inline: auto !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-block-title::before {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list {
  margin: 0 auto !important;
  padding-left: 0 !important;
  list-style-position: inside !important;
  text-align: center !important;
  max-width: min(52ch, 100%) !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-block-list li {
  text-align: center !important;
}

html body:not(.dashboard-app-body) .program-detail-page .program-detail-actions .btn span {
  display: none !important;
}

/* ----- Mobile menu booking CTA ----- */
html body:not(.dashboard-app-body) .mobile-menu-booking-btn {
  font-family: var(--font-inter, var(--font-main)), system-ui, sans-serif !important;
  letter-spacing: 0.08em !important;
}

/* ----- FAQ mobile ----- */
@media (max-width: 760px) {
  html body:not(.dashboard-app-body) .faq-question,
  html body:not(.dashboard-app-body) .faq-question-text {
    font-size: 14px !important;
    line-height: 1.35 !important;
    padding: 8px 12px !important;
    min-height: 44px !important;
  }
}
