/* Loaded after global slug CSS — layout alignment */

:root {
  --layout-max: 1120px;
  --header-max: 1240px;
  --layout-gutter: clamp(1.5rem, 5vw, 2.25rem);
  --site-header-height: 7.5rem;
  --site-contact-strip-height: 3.75rem;
  --site-top-offset: calc(var(--site-header-height) + var(--site-contact-strip-height));
}

body.treatment-page {
  --t-max: var(--layout-max);
}

body.treatment-master-page {
  --tm-max: var(--layout-max);
}

main.site-main {
  padding-top: var(--site-top-offset);
}

/* Header + contact strip stay wider so nav does not collide with logo / CTA */
.header-inner,
.site-contact-strip__inner {
  max-width: var(--header-max);
  margin-inline: auto;
  box-sizing: border-box;
}

.section-inner,
.page-content-inner,
.footer-inner,
body.home-premium .home-news-section__inner,
body.home-premium .partners-inner,
body.home-premium .cta-inner,
body.treatment-master-page .tm-hero__shell,
body.treatment-master-page .treatment-nav__inner,
body.treatment-page .treatment-hero__shell,
body.treatment-page .treatment-nav__inner,
.tm-shell,
.hero-inner {
  max-width: var(--layout-max);
  margin-inline: auto;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 981px) {
  .main-nav {
    flex-wrap: nowrap;
    gap: clamp(1.25rem, 2vw, 2rem);
  }

  .site-header .header-btn {
    white-space: nowrap;
    flex-shrink: 0;
  }
}

@media (max-width: 980px) {
  :root {
    --site-top-offset: var(--site-header-height);
  }

  .header-inner {
    max-width: var(--header-max);
    margin-inline: auto;
    width: 100%;
  }

  /* Contact bar scrolls away on mobile — only the header stays fixed */
  .site-contact-strip {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    z-index: auto;
    margin-top: var(--site-header-height);
  }

  main.site-main {
    padding-top: 0;
  }
}

/* Close button in the light mobile drawer */
.mobile-drawer .hamburger--close {
  display: inline-flex;
  color: var(--ink, #1a2422);
  background: #fff;
  border: 1px solid rgba(45, 150, 136, .3);
  box-shadow: 0 2px 8px rgba(26, 36, 34, .08);
}

.mobile-drawer .hamburger--close:hover {
  background: var(--bg-alt, #f0f5f4);
  color: var(--ink, #1a2422);
}

/* Swap header menu icon to X while the drawer is open */
.hamburger__icon--close {
  display: none;
}

body.mobile-nav-open #nav-toggle .hamburger__icon--open {
  display: none;
}

body.mobile-nav-open #nav-toggle .hamburger__icon--close {
  display: block;
}

/* Hero welcome name was dark on the green hero — keep it readable */
body.home-premium .hero.hero--luxury .hero-welcome__name {
  color: #fff;
}

/* Slightly shorter band heroes on contact + referral */
body.contact-page,
body.referral-page {
  --hero-band-pt: clamp(5rem, 10vw, 6.75rem);
  --hero-band-pb: clamp(3.5rem, 7vw, 4.75rem);
  --hero-band-head-min-height: clamp(10rem, 22vw, 12.25rem);
}

/* Treatment "How we work" — avoid cropping the clinician portrait on mobile */
@media (max-width: 767px) {
  body.treatment-master-page .tm-approach__clinician-note {
    display: grid !important;
    grid-template-columns: 1fr;
    min-height: 0;
  }

  body.treatment-master-page .tm-approach__clinician-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: 5 / 6;
    max-height: 22rem;
    object-fit: cover;
    object-position: center 12%;
  }
}
