/* ═══════════════════════════════════════════════════════════════════════
   v6.css — home page v6 (Fable↔Sol score loop, 2026-08-24). Loaded LAST.
   Scope: tokens/contrast, a11y helpers, hero trust panel, services photos,
   logo marquee, catalog mobile, booking extras, gallery grid, footer, chrome.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. Tokens: readable muted text, min sizes ───────────────────────── */
:root {
  --ink-soft: #5E4A3A;          /* was #6B5644 (6.3:1) → 8.1:1 on cream */
  --brown-text: #7A4F2E;        /* brown for TEXT (6.4:1); --brown stays for fills/lines */
  --control-border: #9A7A58;    /* 3.24:1 on cream; 3.87:1 on card */
  --v6-radius: 22px;
}
.eyebrow { color: var(--brown-text); }
/* Small metadata keeps hierarchy but remains readable on phones. */
@media (max-width: 640px) {
  .section-pad [style*="font-size:10px"], .section-pad [style*="font-size:11px"],
  .section-pad [style*="font-size:12px"], .section-pad [style*="font-size:12.5px"],
  .section-pad [style*="font-size: 10px"], .section-pad [style*="font-size: 11px"],
  .section-pad [style*="font-size: 12px"], .section-pad [style*="font-size: 12.5px"] { font-size: 13.5px !important; }
}
/* gold price unit / captions that sat at 2.3:1 */
.package-v2__price-unit, .package-v2__unit, .price-unit { color: var(--brown-text) !important; }

/* ── 2. A11y helpers ─────────────────────────────────────────────────── */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 200; padding: 10px 16px; border-radius: 12px; background: var(--ink); color: #fff; font-weight: 600; transition: top .15s; }
.skip-link:focus { top: 12px; }
:is(a, button, input, select, textarea, [role="button"], summary, [tabindex]):focus-visible,
.fs-choice:focus-within {
  outline: 2px solid var(--brown-deep) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px #fff !important;
}
.tab, .chip { border: 1px solid var(--control-border); }
:is(input, select, textarea), .fs-input, .fs-select,
#book-form .book-input { border-color: var(--control-border) !important; }
.fs-frame-card, .fs-frame-card:hover { border-color: var(--control-border); }
/* 44px hit areas for the pill/tab controls flagged in the audit */
.tab, .catalog-tabs .tab, #catalog-type-tabs .tab { min-height: 44px; padding: 8px 14px; }
.promo-nav, .announce-close, .fs-icon-btn { min-width: 44px; min-height: 44px; }
.promo-dot { min-width: 44px; min-height: 44px; position: relative; }
.queue-pill, .promo-rail-all, .btn.btn-sm { min-height: 44px; }
.queue-pill { display: inline-flex; align-items: center; }
.detail-modal-close, .detail-lightbox-close, .gal-lb-close { min-width: 44px; min-height: 44px; }

/* ── 3. Chrome: announce bar auto-hide, header, cookie, sticky bar ──── */
.announce-bar { transition: transform .25s ease, opacity .25s ease; }
body.v6-scrolled .announce-bar { transform: translateY(-100%); opacity: 0; pointer-events: none; }
body.v6-scrolled header[style*="position:sticky"] { top: 0 !important; }
#announce-text strong { font-weight: 700; }
:is(#booking, #catalog, #package, #contact, #poster-wall, section[id]) { scroll-margin-top: 96px; }
#pdpa-banner { max-width: 440px; padding: 12px 14px !important; font-size: 12.5px; border-radius: 14px !important; }
@media (min-width: 900px) { #pdpa-banner { margin-left: 0 !important; left: 18px !important; right: auto !important; } }
#pdpa-banner > div { align-items: center !important; }
#pdpa-banner [aria-hidden="true"] { display: none; }
#pdpa-banner .btn { min-height: 44px; }
@media (max-width: 640px) {
  #pdpa-banner { left: 10px !important; right: 10px !important; bottom: 10px !important; }
  body.v6-pdpa-open .m-bookbar { transform: translateY(120%) !important; }   /* never stack cookie + CTA bar */
  .m-bookbar { padding: 8px 12px calc(8px + env(safe-area-inset-bottom)) !important; }
  .m-bookbar .btn { min-height: 44px; padding: 10px 14px; font-size: 14px; }
  header a[href="admin/"] { display: none !important; }
}
.m-bookbar__journey { display: none; }
@media (max-width: 760px) {
  :is(#booking, #catalog, #package, #contact, #poster-wall, section[id]) { scroll-margin-top: 72px; }
  .m-bookbar { grid-template-columns: minmax(0, 1fr) 54px; }
  .m-bookbar.v6-journey-visible { display: grid; }
  .m-bookbar.v6-journey-visible .m-bookbar__journey {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    height: 44px;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
  }
  .m-bookbar__journey a {
    display: flex;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    color: var(--brown-deep);
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }
  .m-bookbar__journey a + a { border-left: 1px solid var(--border); }
  body.v6-journey-nav-open { padding-bottom: calc(126px + env(safe-area-inset-bottom)) !important; }
}

/* ── 4. Hero ─────────────────────────────────────────────────────────── */
.hero-topbar { grid-column: 1 / -1; margin-bottom: -30px; }
.hero-cap { row-gap: 0 !important; }
.hero-doctor-sub { font-size: 16px; color: var(--ink-soft); margin: -6px 0 18px; line-height: 1.5; }
.hero-doctor-sub .hero-doctor-name { font-family: var(--font-display); font-weight: 500; font-size: 19px; color: var(--brown-text); }
.hero-media-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.hero-media { position: relative; aspect-ratio: 1 / 1; border-radius: 32px; overflow: hidden; background: linear-gradient(135deg, var(--cream), #DBC4A6); box-shadow: 0 30px 60px rgba(122,79,46,0.18); }
.hero-trust { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: stretch; }
.hero-trust-review, .hero-trust-open { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 12px 14px; }
.hero-trust-review[hidden] { display: none; }
.hero-trust-stars { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.hero-trust-body { font-size: 13px; color: var(--ink); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hero-trust-author { font-size: 12px; color: var(--ink-soft); margin-top: 4px; }
.hero-trust-k { font-family: var(--font-caps); font-size: 10.5px; font-weight: 700; letter-spacing: 1.5px; color: var(--brown-text); margin-bottom: 8px; }
.hero-trust-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; white-space: nowrap; }
.hero-trust-row:last-child { margin-bottom: 0; }
.hero-trust-row .status-dot { width: 8px; height: 8px; border-radius: 50%; background: #bbb; flex-shrink: 0; }
.hero-trust-row .status-dot[data-status="open"] { background: var(--line-green); }
.hero-trust-name { font-size: 12.5px; color: var(--ink); }
.hero-trust-hours { font-size: 12.5px; font-weight: 600; color: var(--brown-text); font-variant-numeric: tabular-nums; }
.hero-trust-route { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 6px; padding: 8px 14px; border: 1px solid var(--control-border); border-radius: 999px; color: var(--brown-deep); font-size: 13px; font-weight: 700; }
.hero-benefit li { font-size: 14px; }
@media (max-width: 900px) {
  .hero-cap { display: flex !important; flex-direction: row; flex-wrap: wrap; gap: 14px 12px !important; padding: 18px 20px 26px !important; align-items: flex-start !important; }
  .hero-media-col { display: contents; }
  /* row 1: chip (left) + compact portrait (right); row 2: copy; row 3: trust panel */
  .hero-topbar { order: -2; flex: 1 1 0; max-width: calc(100% - 165px); margin: 0; min-width: 0; }
  .hero-topbar .chip { max-width: 100%; white-space: normal; }
  .hero-media { order: -1; flex: 0 0 150px; width: 150px; height: 150px; aspect-ratio: 1 / 1; border-radius: 20px; margin: 0; position: relative; box-shadow: 0 14px 30px rgba(122,79,46,0.22); }
  .hero-media img { object-position: center 22% !important; }
  .hero-copy { width: 100%; margin-top: -6px; }
  .hero-trust { width: 100%; }
  .hero-title .nowrap { white-space: nowrap; }
  .hero-optic { display: none; }
  .hero-trust { order: 2; grid-template-columns: 1fr; }
  #hero-open-card { display: flex !important; }          /* styles.css hid the old floating cards on mobile */
  #hero-review:not([hidden]) { display: block !important; }
  .hero-trust-open { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
  .hero-trust-open .hero-trust-k { margin: 0; white-space: nowrap; }
  .hero-trust-route { margin: 0 0 0 auto; }
  .hero-title { font-size: 31px !important; margin-bottom: 10px !important; }
  .hero-doctor-sub { font-size: 14.5px; }
  .hero-doctor-sub .hero-doctor-name { font-size: 17px; }
  .hero-benefit li { font-size: 13.5px; }
  .stats-row { padding-top: 18px !important; gap: 22px !important; }
  .stats-row > div > div:first-child { font-size: 20px !important; }
}

/* ── 5. Why-us: brand-tinted icons, compact 2×2 on mobile ────────────── */
.wl-wc .ic { background: var(--gold-soft) !important; color: var(--brown-text) !important; }
.wl-wc .no { display: none !important; }
.wl-wc h3 { font-size: 16.5px; }
.wl-wc p { color: var(--ink-soft); }
@media (max-width: 640px) {
  .wl-wgrid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .wl-wc { padding: 16px 14px !important; border-radius: 16px !important; }
  .wl-wc .ic { width: 36px; height: 36px; margin-bottom: 10px; }
  .wl-wc h3 { font-size: 14.5px; line-height: 1.3; }
  .wl-wc p { font-size: 12.5px; line-height: 1.5; }
  #why.section-pad { padding: 28px 20px 8px !important; }
}

/* ── 6. Promo: headline + sub-line, compact mobile ───────────────────── */
.promo-title { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.25; }
.promo-subline { font-size: 14px; color: var(--ink-soft); margin: -4px 0 10px; line-height: 1.5; }
@media (max-width: 640px) {
  .promo-card .promo-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* ── 7. Services: photo bands, readable chips ────────────────────────── */
.svc-card { display: flex; flex-direction: column; }
.svc-photo { aspect-ratio: 16 / 9; overflow: hidden; background: var(--cream); }
.svc-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 18% center; display: block; }
.svc-lab .svc-photo img { object-position: center 40%; }
.svc-body { padding: 28px 32px 32px; }
.svc-clinic .chip { font-size: 12.5px !important; padding: 8px 12px !important; }
.svc-card h3 { margin-top: 2px; }
@media (max-width: 640px) {
  .svc-grid { gap: 14px !important; }
  .svc-photo { aspect-ratio: 2 / 1; }
  .svc-body { padding: 20px 20px 24px; }
  .svc-card h3 { font-size: 21px !important; }
  .svc-card ul { font-size: 13.5px !important; }
}

/* ── 8. Brand logo bar → two-row marquee (≈170px tall, was 1,131px) ─── */
.v6-marquee { position: relative; }
.v6-marquee .brand-directory__groups { gap: 10px; }
.v6-marquee .brand-directory__group { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 12px; }
.v6-marquee .brand-directory__list { display: flex !important; gap: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.v6-marquee .v6-track { display: flex; gap: 36px; padding-right: 36px; align-items: center; flex-shrink: 0; animation: v6-marquee 38s linear infinite; }
.v6-marquee .brand-directory__group:nth-child(2) .v6-track { animation-duration: 26s; animation-direction: reverse; }
.v6-marquee .brand-directory__list:hover .v6-track, .v6-marquee .brand-directory__list:focus-within .v6-track { animation-play-state: paused; }
.v6-marquee.is-paused .v6-track { animation-play-state: paused; }
.v6-marquee-toggle { align-self: flex-start; display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; gap: 7px; padding: 8px 12px; border: 1px solid var(--control-border); border-radius: 12px; background: var(--card); color: var(--brown-deep); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.v6-marquee-toggle__icon { width: 16px; text-align: center; }
.v6-marquee .wl-logo { flex: 0 0 auto; width: auto; }
.v6-marquee .wl-logo img { height: 30px; width: auto; max-width: 120px; object-fit: contain; }
@keyframes v6-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .v6-marquee .v6-track { animation: none; } .v6-marquee .brand-directory__list { overflow-x: auto; mask-image: none; -webkit-mask-image: none; } }
@media (max-width: 640px) {
  .v6-marquee-toggle { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: inline-flex; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; border-radius: 50%; background: var(--card); box-shadow: 0 6px 18px rgba(36,24,16,.16); touch-action: manipulation; }
  .v6-marquee-toggle__label { display: none; }
  .v6-marquee .brand-directory__note { display: none; }
  .v6-marquee .brand-directory__group { grid-template-columns: 1fr; gap: 4px; }
  .v6-marquee .brand-directory__type { font-size: 11px; }
  .v6-marquee .inner { padding: 18px 0 14px !important; }
}

/* ── 9. Catalog: 2-up mobile, collapsible filters, 44px tabs ─────────── */
.v6-filter-toggle { display: none; }
.fs-frame-card__open { display: inline-flex; width: auto; min-width: 0; height: 44px; min-height: 44px; padding: 0 12px; border-radius: 999px; align-items: center; justify-content: center; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
@media (min-width: 701px) {
  #catalog .catalog-actions { width: min(100%, 620px); }
  #catalog .catalog-tabs { width: 100%; max-width: 100%; flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; white-space: nowrap; padding: 2px 28px 6px; mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 28px), transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 28px), transparent); scrollbar-width: thin; }
  #catalog .catalog-tabs > * { flex: 0 0 auto; }
}
@media (max-width: 700px) {
  .v6-filter-toggle { display: inline-flex; align-items: center; gap: 8px; width: 100%; justify-content: center; min-height: 44px; margin-bottom: 12px; }
  .fs-catalog-toolbar { display: none !important; }
  body.v6-filters-open .fs-catalog-toolbar { display: grid !important; }
  #catalog .catalog-tabs { flex-wrap: nowrap !important; overflow-x: auto; justify-content: flex-start !important; scrollbar-width: none; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
  #catalog .catalog-tabs::-webkit-scrollbar { display: none; }
  #catalog .catalog-actions { align-items: stretch !important; }
  #catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .fs-frame-card__body { padding: 10px 10px 12px !important; }
  .fs-frame-card__title { font-size: 15px !important; }
  .fs-frame-card__brand { font-size: 12.5px !important; }
  .fs-frame-card__price { font-size: 14px !important; }
  .fs-frame-card__footer { flex-wrap: wrap; }
  .fs-frame-card__open { width: 100%; }
  #catalog.section-pad { padding: 32px 16px 36px !important; }
  #catalog .section-title { font-size: 28px !important; }
}
@media (max-width: 640px) {
  .fs-frame-card { display: grid; grid-template-rows: auto minmax(0, 1fr); }
  .fs-frame-card__body { grid-template-rows: auto auto minmax(0, 1fr); height: 100%; }
  .fs-frame-card__title { display: -webkit-box; height: 2.8em; min-height: 2.8em; overflow: hidden; line-height: 1.4 !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .fs-frame-card__footer { align-self: end; align-items: flex-end; margin-top: auto; }
  .fs-frame-card__open { font-size: 14px !important; }
}

/* ── 10. Package / doctor ────────────────────────────────────────────── */
.package-v2__offer-no { letter-spacing: 1.5px; }
.package-v2__text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--brown-text); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
@media (min-width: 901px) { .doctor-photo { aspect-ratio: 1 / 1 !important; } }
.doctor-photo-cap { position: absolute; left: 14px; bottom: 14px; right: 14px; font-size: 12.5px; font-weight: 600; color: #fff; background: rgba(36,24,16,.62); padding: 8px 12px; border-radius: 12px; backdrop-filter: blur(4px); }

/* ── 11. Booking: photo, mini-FAQ, form semantics ───────────────────── */
.book-photo { margin: 22px 0 0; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
.book-photo img { width: 100%; height: auto; max-height: 210px; aspect-ratio: 1200 / 834; object-fit: cover; object-position: center 30%; display: block; }
.book-photo figcaption { font-size: 12.5px; color: rgba(255,255,255,.78); padding: 10px 14px; line-height: 1.5; }
.book-minifaq { margin-top: 14px; display: grid; gap: 6px; }
.book-minifaq details { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 0 14px; }
.book-minifaq summary { cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; color: #fff; padding: 12px 0; position: relative; padding-right: 26px; min-height: 44px; display: flex; align-items: center; }
.book-minifaq summary::-webkit-details-marker { display: none; }
.book-minifaq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--gold-2); font-size: 20px; line-height: 1; }
.book-minifaq details[open] summary::after { content: "–"; }
.book-minifaq p { margin: 0 0 12px; font-size: 13.5px; color: rgba(255,255,255,.82); line-height: 1.55; }
.book-fieldset { border: 0; margin: 0; padding: 6px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.book-fieldset legend { float: left; padding: 0; font-size: 14px; color: var(--ink); }
.book-radio { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
#book-calendar .book-day.selected { border: 2px solid var(--gold) !important; }
#book-cal-prev, #book-cal-next { width: 44px !important; min-width: 44px; height: 44px !important; min-height: 44px; }
#book-form [data-step].is-locked { display: block !important; padding-block: 12px; border-top: 1px solid var(--border); animation: none !important; }
#book-form [data-step].is-locked > :first-child { min-height: 44px; margin-bottom: 0 !important; }
#book-form [data-step].is-locked > :not(:first-child) { display: none !important; }
#book-form [data-step].is-locked .book-stepno { background: var(--cream) !important; color: var(--ink-soft) !important; }
#book-services [aria-pressed="true"], #book-times [aria-pressed="true"] { outline: 2px solid var(--brown-deep); outline-offset: -2px; }
@media (max-width: 900px) {
  .booking-strip { padding: 26px 18px !important; gap: 22px !important; border-radius: 24px !important; }
  .booking-strip h2 { font-size: 28px !important; }
  .book-photo { margin-top: 16px; }
}

/* ── 12. Gallery: big tile spans 2×2, 8 small tiles fill 2 rows — no orphan */
#gallery .gal-grid { grid-auto-rows: minmax(0, auto); }
#gallery .gal-item:nth-child(1) { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; min-height: 100%; }
@media (max-width: 640px) {
  #gallery .gal-item:nth-child(1) { grid-row: auto; aspect-ratio: 16 / 10; }
  #gallery.section-pad { padding: 32px 16px 36px !important; }
}
/* lightbox close must be clickable while the dialog fades in */
.gal-lb-close { pointer-events: auto; z-index: 5; }
.gal-lb img { pointer-events: none; }

/* ── 13. Social feeds: one-row, image-first snap rails on mobile ─────── */
@media (max-width: 640px) {
  #facebook-updates-grid, #tiktok-updates-grid { display: flex !important; flex-wrap: nowrap !important; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 0; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; padding: 0 16px 12px 0; }
  #facebook-updates-grid::-webkit-scrollbar, #tiktok-updates-grid::-webkit-scrollbar { display: none; }
  #facebook-updates-grid > .fb-card, #tiktok-updates-grid > .tt-card { flex: 0 0 78vw !important; width: 78vw; scroll-snap-align: start; }
  .fb-card-body { padding: 12px !important; }
  .fb-message, .tt-caption { display: -webkit-box !important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2 !important; font-size: 15px !important; }
  #facebook-updates .section-title, #tiktok-updates .section-title, #articles .section-title, #customer-reviews .section-title, #faq .section-title, #contact .section-title { font-size: 28px !important; }
  #facebook-updates.section-pad, #tiktok-updates.section-pad, #articles.section-pad, #customer-reviews.section-pad, #faq.section-pad, #contact.section-pad, #lens-explorer.section-pad { padding: 32px 16px 36px !important; }
}

/* ── 13b. Articles: warmer imagery + compact mobile snap rail ───────── */
#articles-grid .card-cover { position: relative; aspect-ratio: 16 / 10 !important; }
#articles-grid .card-cover img { filter: saturate(.78) sepia(.1) brightness(1.02); }
@media (max-width: 640px) {
  #articles-grid { display: flex !important; flex-wrap: nowrap; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; padding: 0 16px 12px 0; }
  #articles-grid::-webkit-scrollbar { display: none; }
  #articles-grid > * { flex: 0 0 min(88vw, 380px); scroll-snap-align: start; }
  #articles-grid > a.card { display: grid !important; grid-template-columns: 96px minmax(0, 1fr); height: 120px; max-height: 120px; overflow: hidden; }
  #articles-grid .card-cover { width: 96px; height: 96px; align-self: center; aspect-ratio: 1 !important; }
  #articles-grid .card-body { min-width: 0; overflow: hidden; padding: 5px 12px !important; }
  #articles-grid a.card h4 { display: -webkit-box; min-height: 2.7em; margin: 5px 0 3px !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  #articles-grid .card-read-more { display: none !important; }
}

/* ── 14. Contact + footer ────────────────────────────────────────────── */
#contact [style*="font-size:10px"] { font-size: 11.5px !important; letter-spacing: 1.2px !important; }
#contact [style*="font-size:11px"] { font-size: 13px !important; }
.v6-footer { display: grid; grid-template-columns: 1.4fr 1fr 0.8fr; gap: 32px; margin-bottom: 28px; }
.v6-footer-brand p { font-size: 13px; line-height: 1.7; color: rgba(255,255,255,.84); max-width: 420px; margin: 0 0 8px; }
.v6-footer-license { color: rgba(255,255,255,.82) !important; font-weight: 500; }
.v6-footer-actions { display: grid; gap: 10px; align-content: start; }
.v6-fbtn { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 16px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; }
.v6-fbtn:hover { background: rgba(255,255,255,.14); }
.v6-fbtn--line { background: rgba(6,199,85,.16); border-color: rgba(6,199,85,.4); }
.v6-footer-k { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; color: #fff; margin-bottom: 12px; }
.v6-footer-legal { display: grid; gap: 6px; font-size: 13px; }
.v6-footer-legal a { color: rgba(255,255,255,.8); }
.site-footer > div:last-child { color: rgba(255,255,255,.74) !important; font-size: 12px !important; }
@media (max-width: 760px) {
  .site-footer { padding: 30px 20px 24px !important; }
  .footer-grid.v6-footer { grid-template-columns: 1fr !important; gap: 22px; }
  .v6-footer > *, .v6-footer-brand > div:first-child > div { min-width: 0; }
  .v6-footer-brand > div:first-child { align-items: flex-start !important; }
  .v6-footer-brand > div:first-child > div { line-height: 1.35 !important; overflow-wrap: anywhere; }
  .v6-fbtn { height: auto; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
  .site-footer > div:last-child { flex-direction: column; gap: 6px; align-items: flex-start; }
}

/* ── 14b. Map facade (click-to-load Google Maps) ─────────────────────── */
.map-facade__card { position: absolute; left: 14px; right: 14px; bottom: 14px; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; background: rgba(255,252,246,.96); border: 1px solid var(--border); border-radius: 16px; padding: 12px 14px; backdrop-filter: blur(6px); }
.map-facade__pin { width: 40px; height: 40px; border-radius: 12px; background: var(--gold-soft); color: var(--brown-text); display: grid; place-items: center; }
.map-facade__card strong { display: block; font-size: 14px; color: var(--ink); line-height: 1.35; }
.map-facade__card span { display: block; font-size: 12.5px; color: var(--ink-soft); margin-top: 2px; }
.map-facade__btn { min-height: 44px; white-space: nowrap; }
.map-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 640px) { .map-facade__card { grid-template-columns: auto 1fr; } .map-facade__btn { grid-column: 1 / -1; } }

/* ── 15. Motion: no ambient blobs, keep reveals ──────────────────────── */
.ml-blob { display: none !important; }

/* ── 16. Poster wall (section injected/filled by v6.js) ──────────────── */
#poster-wall { padding: 36px 56px 44px; background: var(--bg); }
#poster-wall[hidden] { display: none; }
.pw-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.pw-head h2 { font-size: 30px; font-weight: 500; }
.pw-head .eyebrow { margin-bottom: 4px; }
.pw-controls { display: flex; gap: 8px; }
.pw-controls[hidden], #poster-wall.pw-fits .pw-controls { display: none !important; }
.pw-nav { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border); background: var(--card); color: var(--ink); display: grid; place-items: center; cursor: pointer; }
.pw-nav:hover { border-color: var(--brown); color: var(--brown-text); }
.pw-rail-wrap { position: relative; }
.pw-rail-wrap::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--border); }
.pw-rail { display: flex; gap: 22px; padding: 18px 4px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
#poster-wall.pw-fits .pw-rail { justify-content: center; }
.pw-rail::-webkit-scrollbar { display: none; }
.pw-item { flex: 0 0 auto; scroll-snap-align: start; background: none; border: 0; padding: 0; text-align: left; cursor: zoom-in; color: inherit; font: inherit; }
.pw-paper { height: 340px; position: relative; }
.pw-paper::after { content: ""; position: absolute; left: 50%; top: -19px; width: 1px; height: 19px; background: var(--border); }
.pw-paper img { height: 100%; width: auto; display: block; border: 1px solid var(--border); border-radius: 6px; background: var(--card); box-shadow: 0 2px 0 rgba(44,31,20,.04), 0 14px 28px -12px rgba(44,31,20,.28); transition: transform .25s, box-shadow .25s; }
.pw-item:hover .pw-paper img { transform: translateY(-4px); box-shadow: 0 2px 0 rgba(44,31,20,.04), 0 22px 34px -12px rgba(44,31,20,.34); }
.pw-tag { position: absolute; top: 10px; left: 10px; font-family: var(--font-caps); font-size: 10.5px; font-weight: 700; letter-spacing: 1px; padding: 4px 9px; border: 1px solid rgba(92,32,28,.18); border-radius: 999px; background: #F6C7C2; color: #5C201C; }
.pw-tag.is-soon { background: #F0B8B2; color: #5C201C; }
.pw-cap { margin-top: 10px; max-width: 250px; }
.pw-cap strong { display: block; font-family: var(--font-display); font-weight: 500; font-size: 15px; line-height: 1.35; }
.pw-cap span { display: block; font-size: 12.5px; color: var(--ink-soft); margin-top: 2px; font-variant-numeric: tabular-nums; }
.pw-cap span.is-new { color: #96372F; font-weight: 700; }
.pw-hint { display: none; }
.pw-lb { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.pw-lb::backdrop { background: rgba(36,24,16,.94); }
.pw-lb-inner { display: grid; grid-template-rows: auto 1fr auto; height: 100vh; padding: 18px 20px; color: var(--cream); gap: 12px; }
.pw-lb-top { display: flex; justify-content: space-between; align-items: center; font-family: var(--font-caps); font-size: 12px; letter-spacing: 1.5px; }
.pw-lb-x, .pw-lb-arrow { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(250,243,231,.35); background: transparent; color: var(--cream); display: grid; place-items: center; cursor: pointer; }
.pw-lb-stage { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 0; }
.pw-lb-stage img { max-height: 100%; max-width: 100%; object-fit: contain; border-radius: 6px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); }
.pw-lb-cap { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.pw-lb-cap strong { font-family: var(--font-display); font-weight: 500; font-size: 17px; display: block; }
.pw-lb-cap small { color: rgba(250,243,231,.72); font-size: 13px; }
.pw-lb-btn { font-family: var(--font-display); font-weight: 500; font-size: 14px; background: var(--yellow); color: var(--ink); padding: 10px 18px; border-radius: 999px; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; min-height: 44px; }
.pw-lb-btn.is-ghost { background: transparent; color: var(--cream); border: 1px solid rgba(250,243,231,.35); }
@media (max-width: 700px) {
  #poster-wall { padding: 28px 0 30px; }
  .pw-head { padding: 0 16px; margin-bottom: 10px; }
  .pw-head h2 { font-size: 23px; }
  .pw-nav { display: none; }
  .pw-rail { gap: 14px; padding: 16px 11vw 10px; scroll-padding-inline: 11vw; }
  .pw-item { flex-basis: 78vw; width: 78vw; scroll-snap-align: center; scroll-snap-stop: always; }
  .pw-paper { width: 100%; height: auto; aspect-ratio: var(--pw-aspect, 990 / 1400); }
  .pw-paper img { width: 100%; height: 100%; object-fit: contain; }
  .pw-cap { max-width: none; }
  .pw-hint { display: block; margin-top: 5px; color: var(--brown-text); font-size: 12px; font-weight: 600; }
  .pw-lb-arrow { display: none; }
}
@media (min-width: 701px) {
  #poster-wall.pw-few .pw-paper { height: 460px; }
  #poster-wall.pw-few .pw-cap { max-width: 330px; }
  #poster-wall.pw-few .pw-cap strong { font-size: 18px; }
  #poster-wall.pw-few .pw-cap span { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .pw-paper img { transition: none; } }

/* ── 17. Mobile type floors: readable body, distinct metadata ────────── */
@media (max-width: 640px) {
  body { font-size: 15px; }
  header [style*="font-size:11px"], header [style*="font-size:13px"],
  .announce-bar, .chip, .tab, .wl-logobar .cap,
  .promo-carousel-eyebrow, .promo-counter, .promo-dates, .promo-countdown,
  .detail-modal-eyebrow, .detail-modal-meta, .detail-modal-tag,
  .gal-lb-cap, .line-qr :is(.t, .s), .toast { font-size: 13.5px !important; }
  .promo-desc, .detail-modal-desc { font-size: 15px !important; }
  #contact [style*="font-size:10px"], #contact [style*="font-size:11px"] { font-size: 13.5px !important; }
  #booking p { font-size: 15px !important; }
  #book-calendar > *, #book-form label[for="book-consent"] { font-size: 13.5px !important; }
  .articles-grid a.card .chip,
  .articles-grid a.card .card-body > div[style*="font-size:11px"] { font-size: 13.5px !important; }
  .v6-footer-brand p, .v6-fbtn { font-size: 15px !important; }
  .v6-footer-k, .v6-footer-legal, .site-footer > div:last-child { font-size: 13.5px !important; }
  .section-pad [style*="font-size:13px"], .section-pad [style*="font-size:13.5px"],
  .section-pad [style*="font-size: 13px"], .section-pad [style*="font-size: 13.5px"] { font-size: 13.5px !important; }
  .section-pad :is(p, li)[style*="font-size:13px"], .section-pad :is(p, li)[style*="font-size:13.5px"], .section-pad :is(p, li)[style*="font-size:14px"],
  .section-pad :is(p, li)[style*="font-size: 13px"], .section-pad :is(p, li)[style*="font-size: 13.5px"], .section-pad :is(p, li)[style*="font-size: 14px"],
  .hero-benefit li, .hero-trust-body, .wl-wc p, .svc-card :is(p, li),
  .package-v2__includes li, .package-v2__offer p, .book-minifaq :is(summary, p),
  .book-fieldset legend, .review-hub__head p, .review-card blockquote,
  .fs-section-head p, .fb-message, .tt-caption, #contact-address,
  #contact a [style*="font-size:14px"], .map-facade__card strong { font-size: 15px !important; }

  .eyebrow, .hero-reassure, .hero-trust-author, .hero-trust-k,
  .hero-trust-name, .hero-trust-hours, .stats-row > div > div:last-child,
  .brand-directory__type, .brand-directory__note, .brand-directory__count,
  .fs-catalog-summary, .fs-field > span:first-child, .fs-live-lens__copy :is(span, small),
  .package-v2__kicker, .package-v2__offer-no, .package-v2__fineprint,
  .package-v2__terms, .doctor-photo-cap, .book-photo figcaption,
  .fb-badge, .fb-post-meta, .tt-badge, .tt-meta, .tt-duration,
  .pw-tag, .pw-cap span, .gal-cap, .map-facade__card span,
  .review-card__person small, .review-source, .review-summary__item span,
  .review-card__link, .review-hub__links a { font-size: 13.5px !important; }

  #pdpa-banner { font-size: 15px; }

  .fs-index-tabs { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fs-index-tabs .fs-segment { width: 100%; min-width: 0; }
}

/* Disabled booking action stays visibly unavailable without becoming unreadable. */
#book-submit:disabled {
  opacity: 1;
  border: 1.5px solid #80664E;
  background: #E8E0D5;
  color: #5E4A3A;
  box-shadow: none;
  cursor: not-allowed;
  filter: none;
}
#book-submit:disabled:hover { transform: none; filter: none; box-shadow: none; }
#book-submit-hint, .book-submit-hint { color: var(--ink-soft); font-size: 12.5px; line-height: 1.45; text-align: right; }

/* ── 18. Journey rhythm: restrained token surfaces, clear chapters ──── */
#services, #package, .doctor-grid, #faq, #lens-explorer,
#tiktok-updates, #contact { background: var(--card) !important; }
#catalog, #customer-reviews, #articles, #facebook-updates,
#gallery { background: var(--bg) !important; }
#booking { background: var(--espresso) !important; }
#booking > .booking-strip { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
#book-form [style*="background:var(--cream)"],
.doctor-grid .grid-1-2-mobile-1 > div,
#faq details { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
.doctor-grid .grid-1-2-mobile-1 > div, #faq details { border-width: 0 0 1px !important; border-style: solid; border-color: var(--border); }
.queue-pill { background: rgba(46,125,50,.08) !important; border-radius: 12px !important; }
.wl-pv .tag.fast { background: rgba(46,125,50,.1) !important; color: #2E7D32 !important; }
#promo-banner .promo-badge, .promo-rail-urgent { background: #F6C7C2 !important; color: #5C201C !important; border-color: rgba(92,32,28,.22) !important; }
#facebook-updates .eyebrow, #tiktok-updates .eyebrow,
#articles .eyebrow, #faq .eyebrow, #gallery .eyebrow,
#customer-reviews .eyebrow, #lens-explorer .eyebrow { display: none; }
#articles .section-title, #faq .section-title, #gallery .section-title,
#customer-reviews .section-title, #lens-explorer .fs-section-head > h2 {
  font-size: clamp(32px, 4vw, 44px) !important;
  letter-spacing: -.02em;
}

/* ── 17. Auto carousels (owner 2026-08-24) ───────────────────────────── */
.v6-rail-wrap { position: relative; }
.v6-rail, #facebook-updates-grid.v6-rail, #articles-grid.v6-rail, #tiktok-updates-grid.v6-rail, #customer-review-grid.v6-rail, #catalog-grid.v6-rail {
  display: flex !important; grid-template-columns: none !important; overflow-x: auto;
  scroll-snap-type: x mandatory; scrollbar-width: none; gap: 16px; padding-bottom: 6px;
}
.v6-rail::-webkit-scrollbar { display: none; }
.v6-rail > * { flex: 0 0 auto; scroll-snap-align: start; }
.v6-rail--catalog > * { width: min(300px, 74vw); }
.v6-rail--gallery > * { width: min(560px, 82vw); }
#gallery .v6-rail .gal-item:nth-child(1) { grid-column: auto !important; grid-row: auto !important; aspect-ratio: 4 / 3; min-height: 0; }
.v6-rail--reviews > * { width: min(400px, 82vw); }
.v6-rail--fb > * { width: min(360px, 78vw); }
.v6-rail--tt > * { width: min(280px, 62vw); }
.v6-rail--articles > * { width: min(400px, 82vw); }
.v6-rail-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--control-border, var(--border)); background: var(--card); color: var(--ink); display: grid; place-items: center; cursor: pointer; box-shadow: 0 6px 18px rgba(44,31,20,.14); }
.v6-rail-prev { left: -10px; } .v6-rail-next { right: -10px; }
.v6-rail-nav:hover { border-color: var(--brown); color: var(--brown-text); }
.v6-rail-fits .v6-rail-nav { display: none; }
@media (max-width: 700px) { .v6-rail-nav { display: none; } }
.v6-rail-drift { scroll-snap-type: none !important; }
#poster-wall .pw-rail.v6-rail-drift { scroll-snap-type: none !important; }

/* ── 18. Mobile repair 2026-08-24 night (owner: "มือถือแสดงผลแปลก ๆ") ── */
@media (max-width: 420px) {
  /* why-us: 2 cramped columns → clean icon-left rows */
  .wl-wgrid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .wl-wc { display: grid; grid-template-columns: 40px 1fr; gap: 4px 12px; align-items: start; padding: 12px 14px !important; }
  .wl-wc .ic { width: 40px; height: 40px; margin: 0; grid-row: 1 / span 2; }
  .wl-wc h3 { font-size: 15px; margin: 0; }
  .wl-wc p { font-size: 12.5px; margin: 2px 0 0; }
}
@media (max-width: 700px) {
  .v6-marquee-toggle { display: none !important; }          /* floating pause circle read as broken UI */
  .v6-lens-toggle { width: calc(100% - 32px); margin: 4px 16px 0; min-height: 48px; justify-content: center; }
  #lens-explorer .fs-section-head { margin-bottom: 4px; }
  .svc-body { padding: 18px 18px 22px !important; }
  .booking-strip { padding: 22px 14px !important; }
  #package.section-pad { padding: 28px 16px 24px !important; }
  .package-v2__price strong { font-size: 52px !important; }
}
@media (max-width: 760px) {
  .v6-footer-actions { display: none; }                     /* duplicates the contact card 300px above */
}

/* Hero benefits carry a short phone wording; the full line stays on wide screens */
.hero-benefit .t-short { display: none; }

/* ── 19. Phone beauty pass 2026-08-24 (owner: "10/10 สวย ดูง่าย" — phone first) ── */
@media (max-width: 700px) {
  /* 19.0 hero on a phone: one column, portrait leads as a real hero image */
  section.hero-cap {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .hero-cap .hero-media {
    flex: 1 1 100% !important;
    width: 100% !important; max-width: none !important; height: auto !important;
    aspect-ratio: 4 / 3;
    border-radius: 22px; overflow: hidden;
  }
  .hero-cap .hero-media img { object-position: 38% 10% !important; }
  .hero-cap .hero-topbar { flex: 1 1 100% !important; max-width: 100% !important; }
  .hero-benefit .t-long { display: none; }
  .hero-benefit .t-short { display: inline; }
  .hero-benefit li { align-items: center; }
}
/* 360px phones: keep every hero benefit on one line */
@media (max-width: 380px) {
  .hero-benefit li { font-size: 12.8px !important; }
}
@media (max-width: 700px) {
  .hero-cap .hero-topbar .chip { width: 100%; justify-content: center; }

  /* 19.1 Thai headings: no lonely orphan syllable on its own line */
  .section-title, .fs-section-head > h2, .package-v2__head h2,
  .promo-carousel-eyebrow, .hero-title, .svc-card h3,
  .hero-doctor-sub, .hero-reassure, .fs-section-head p { text-wrap: balance; }

  /* 19.2 promo card: sub-line leads, description supports — never a wall of repeat text */
  #promo-banner .promo-desc {
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
    overflow: hidden; margin-top: 8px;
  }
  #promo-banner .promo-subline { font-weight: 600; }

  /* 19.3 rails rest on a card edge: the peek is a rounded corner, never a sliced word */
  .v6-rail { scroll-padding-inline: 0; }
  .v6-rail--articles > *, .v6-rail--reviews > *, .v6-rail--fb > * { width: calc(100% - 34px); }
  .v6-rail--catalog > * { width: calc(100% - 60px); }
  .v6-rail--tt > * { width: calc(58% - 12px); }
  /* posters carry dense artwork — give each the full width, never a sliced sliver */
  .pw-rail { padding-inline: 16px; scroll-padding-inline: 16px; gap: 12px; }
  .pw-rail > * { flex: 0 0 calc(100% - 32px); }

  /* 19.4 doctor credentials card sits BELOW the photo instead of covering its caption */
  .doctor-grid .doctor-cert {
    position: static !important; inset: auto !important; max-width: none !important;
    margin: 12px 0 0; padding: 14px 16px !important;
    display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center;
    box-shadow: 0 8px 24px rgba(44, 31, 20, .08) !important;
  }
  .doctor-grid .doctor-cert svg { grid-row: 1 / span 2; }
  /* four credentials stacked one per row ate a third of a screen — pair them up */
  .doctor-grid .grid-1-2-mobile-1 { grid-template-columns: 1fr 1fr !important; gap: 10px 14px !important; }
  .doctor-grid .grid-1-2-mobile-1 > div { padding-bottom: 10px !important; }
  .doctor-grid .doctor-cert > div { margin-top: 0 !important; }

  /* 19.5 package photo caption: its own glass panel — white copy on a bright photo was unreadable */
  .package-v2__visual-note {
    z-index: 1;
    background: rgba(28, 18, 10, .62);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    padding: 12px 14px 14px; border-radius: 16px;
    text-shadow: 0 1px 8px rgba(20, 12, 6, .5);
  }

  /* 19.6 FAQ: drop the raw ▶ marker, use the same +/− language as the booking mini-FAQ */
  #faq details > summary { list-style: none; position: relative; padding: 16px 40px 16px 2px; cursor: pointer; }
  #faq details > summary::-webkit-details-marker { display: none; }
  #faq details > summary::marker { content: ""; }
  #faq details > summary::after {
    content: "+"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
    width: 28px; height: 28px; display: grid; place-items: center;
    border-radius: 50%; background: var(--cream); color: var(--brown-text);
    font-size: 18px; font-weight: 600; line-height: 1;
  }
  #faq details[open] > summary::after { content: "−"; background: var(--brown); color: #fff; }

  /* 19.6c catalog: one loud filter row (brands), everything else quieter */
  /* the source filter is secondary to the brand row — lose the heavy pill shell */
  #catalog-type-tabs {
    margin-top: 2px; margin-bottom: 12px !important;
    padding: 0 !important; background: transparent !important; border: 0 !important;
  }
  #catalog-type-tabs .tab { background: var(--card); }
  #catalog-type-tabs .fs-segment, #catalog-type-tabs button {
    font-size: 13px !important; padding: 8px 14px !important; min-height: 40px;
  }
  #catalog-result-summary { margin: 12px 0 6px; }
  #catalog-type-tabs.v6-type-in-sheet { margin: 0 0 10px !important; }
  #catalog .v6-catalog-endlink {
    display: flex; width: 100%; margin-top: 14px; justify-content: center;
    min-height: 48px;
  }

  /* 19.6d nothing on a phone screen sits under ~12.5px, and links stay tappable */
  #contact.section-pad [style*="font-size:11px"], #contact.section-pad [style*="font-size:10px"],
  #contact.section-pad [style*="letter-spacing:1.5px"],
  .promo-badge, .pw-hint, .map-facade__btn, #promo-banner .promo-eyebrow span { font-size: 12.5px !important; }
  #contact.section-pad [style*="letter-spacing:1.5px"] { letter-spacing: .08em !important; }
  .book-day .book-day-tag, .book-day span:not(.book-day-num) { font-size: 11px !important; }
  #contact a[href^="tel:"], #contact a[href*="line."],
  #booking a[href^="tel:"], #booking a[href*="line."],
  .site-footer a, .v6-footer-legal a {
    display: inline-flex; align-items: center; min-height: 34px;
  }

  /* 19.6e the booking card repeats three questions the FAQ section answers 2 screens later;
     the decorative phoropter photo pushed the actual booking tool a third of a screen down */
  #booking .book-minifaq, #booking .book-photo { display: none; }
  /* four full-width service tiles pushed the calendar off-screen — pair them up */
  #book-services { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  #book-services .book-service-tile { width: auto !important; min-width: 0; }

  /* 19.6f one corner language: 20px for content cards, 22px for the big media blocks
     (the page mixed 16/18/20/22/24 and read assembled rather than designed) */
  .wl-wc, .map-facade__card, .hero-trust > *, .doctor-cert, .review-card,
  #articles-grid > *, #facebook-updates-grid > *, #tiktok-updates-grid > *,
  #customer-review-grid > *, #catalog-grid > *, .gal-item { border-radius: 20px !important; }
  .svc-card, .package-v2__shell, .doctor-photo, .hero-media, .booking-strip { border-radius: 22px !important; }

  .promo-carousel-eyebrow { flex: 0 0 auto; white-space: nowrap; }
  /* with the promo bar up, chrome is ~103px — anchors used to land under it */
  body.has-announce :is(#booking, #catalog, #package, #contact, #poster-wall, #customer-reviews, section[id]) {
    scroll-margin-top: 110px;
  }

  /* buttons standing side by side must share one shape */
  #booking .fs-btn, #booking .fs-btn--line, .fs-action-row .fs-btn { border-radius: 99px !important; }

  /* 19.6g one section rhythm: every chapter breathes the same on a phone */
  section.section-pad { padding-block: 26px 30px !important; }
  .section-title { margin-bottom: 10px !important; }
  .eyebrow { margin-bottom: 8px !important; }

  /* 19.7 bottom chrome stays a thin ribbon, not a second screen of UI */
  .m-bookbar.v6-journey-visible .m-bookbar__journey { height: 40px; }
  .m-bookbar__journey a { min-height: 40px; font-size: 12px; }
  body.v6-journey-nav-open { padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important; }
}

/* Drawer header (hamburger shows up to 980px): a visible way out, not a hidden scrim tap */
.wl-drawer-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 2px 0 12px; margin-bottom: 6px;
  border-bottom: 1px solid var(--border);
}
.wl-drawer-title {
  font-family: var(--font-display); font-weight: 700; font-size: 15px;
  letter-spacing: .04em; color: var(--brown-text);
}
.wl-drawer-x {
  width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 50%; border: 1px solid var(--border);
  background: var(--card); color: var(--ink); cursor: pointer;
}
.wl-drawer-x:hover { border-color: var(--brown); color: var(--brown-text); }
