/* ============================================================
   99 — Gardner pre-launch QA fixes (2026-10-15 audit)
   Loads after every other section stylesheet so these overrides win.
   ============================================================ */

/* --- Chat widget: hide it while the mobile menu is open so it can't
   cover menu items or the menu's phone / Schedule buttons. --- */
body.sec-01-nav-lock chat-widget {
  display: none !important;
}

/* --- What We Treat body map: its decorative glow ran past the right edge
   and made the page scroll sideways on phones. --- */
.sec-50-wwt-bodymap {
  overflow-x: clip;
}

/* --- Blog posts: long source URLs shown as plain text ran off the right
   edge on phones (sideways scroll). Let them wrap. --- */
.sec-23-prose p,
.sec-23-prose li {
  overflow-wrap: anywhere;
}

@media (max-width: 820px) {
  /* --- Mobile menu: start the list below the fixed header so the first
     item ("About Us") is never tucked behind it on short phones. --- */
  .sec-01-nav .sec-01-nav__overlay {
    padding-top: calc(var(--nav-h) + 1rem);
  }

  /* --- Tap targets (44px minimum) --- */
  .sec-01-nav .sec-01-nav__toggle {
    width: 44px;
    height: 44px;
  }
  .sec-14-footer .sec-14-footer__social-link {
    width: 44px;
    height: 44px;
  }
  /* Grow the tappable area without moving the layout */
  .sec-00-inthero__crumbs a,
  .sec-14-footer__contact-link,
  .sec-14-footer__logo,
  .bm-card__link,
  .sec-09-team__book,
  .sec-10-testimonials__lockup-link,
  .sec-18-faq__card-link,
  .sec-50-wwt-bodymap__card-link,
  .sec-50-wwt-grid__link {
    display: inline-block;
    padding-block: 12px;
    margin-block: -12px;
  }
  .sec-14-footer__list a,
  .sec-14-footer__copy a {
    display: inline-block;
    padding-block: 12px;
    margin-block: -12px;
  }
  .sec-01-nav .sec-01-nav__overlay-phone,
  .sec-12-booking .sec-12-booking__row-link,
  .sec-13-location .sec-13-location__row a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  /* Slider dots already carry an invisible 24px hit area (10-testimonials.css);
     make it 44px tall. Body-map dots (absolutely positioned, ~30px) get an
     invisible ring that brings the hit area to 44px. */
  .sec-10-testimonials__dot::before {
    height: 44px;
  }
  .sec-04-conditions .bm-dot::after,
  .sec-50-wwt-bodymap__dot::after {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
  }

  /* --- Readable text: sentences at 16px, small labels at 13px+ --- */
  .sec-23-prose p,
  .sec-23-prose li,
  .sec-04-conditions .bm-card p,
  .sec-05-services__desc,
  .sec-06-journey__name,
  .sec-07-results__trust,
  .sec-09-team__role,
  .sec-09-team .sec-09-team__ask-text,
  .sec-10-testimonials__attr,
  .sec-10-testimonials__snippet,
  .sec-11-insurance__footnote,
  .sec-11-insurance__reassurance,
  .sec-12-booking__hint,
  .sec-12-booking__trust,
  .sec-12-booking__row-text,
  .sec-14-footer__copy,
  .sec-14-footer__a11y,
  .sec-16-comebacks__before,
  .sec-22-awards .sec-22-awards__blurb,
  .sec-40-about-story__caption,
  .sec-40-about-values__copy,
  .sec-50-wwt-grid__card p,
  .sec-55-cond-proof__before,
  .sec-55-cond-related__card p,
  .sec-55-cond-treatment__desc,
  .sec-75-blogidx__excerpt,
  .sec-75-blogrel__card p {
    font-size: 1rem;
  }
  .eyebrow,
  .sec-03-trust__chip,
  .sec-05-services__tag,
  .sec-06-journey__chip,
  .sec-09-team__chip,
  .sec-09-team__ask-label,
  .sec-10-testimonials__via,
  .sec-12-booking__chip,
  .sec-12-booking__progress-text,
  .sec-16-comebacks__tag,
  .sec-55-cond-proof__tag,
  .sec-55-cond-treatment__chip,
  .sec-60-svc-grid__tag,
  .sec-75-blogidx__topic {
    font-size: 0.8125rem;
  }
}

/* --- Mobile menu: keep the big headings on one line on phones --- */
@media (max-width: 480px) {
  .sec-01-nav .sec-01-nav__overlay-link {
    font-size: clamp(1.625rem, 6.5vw, 2.25rem);
  }
}
