/* The homepage header is shared by public pages, checkout and the patient portal. */
body.booking-page[data-shared-site-chrome],
body.patient-panel[data-shared-site-chrome],
body.admin-page[data-shared-site-chrome] { padding-top:var(--header-height); }
body.legal-page[data-shared-site-chrome] .legal-main { padding-top:calc(var(--header-height) + 48px); }
body[data-shared-site-chrome] .site-header { font-size:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;letter-spacing:normal; }
body[data-shared-site-chrome] .site-header .brand { color:var(--ink);text-decoration:none; }
body[data-shared-site-chrome] .site-header .site-nav a { color:var(--white-soft);text-decoration:none; }
body[data-shared-site-chrome] .site-header .site-nav a:hover,
body[data-shared-site-chrome] .site-header .site-nav a:focus-visible { color:var(--gold-light); }
body[data-shared-site-chrome] .booking-summary { top:calc(var(--header-height) + 24px); }
@media(max-width:600px){body.legal-page[data-shared-site-chrome] .legal-main { padding-top:calc(var(--header-height) + 32px); }}
@media(max-width:1450px){body[data-shared-site-chrome] .site-header .site-nav.is-open { max-height:calc(100dvh - var(--header-height) - 24px);overflow-y:auto;overscroll-behavior:contain; }}

body.booking-page[data-shared-site-chrome] :is(.booking-card,[data-online-calendar],[data-online-contact-title],[data-online-review-title]) { scroll-margin-top:calc(var(--header-height) + 24px); }

/* One layout owns the header on public pages, booking screens and the portal. */
body[data-shared-site-chrome] { --header-height:88px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] { min-height:var(--header-height);display:flex;gap:24px;padding:12px max(24px,calc((100vw - 1240px)/2)); }
body[data-shared-site-chrome] .site-header[data-shared-nav] .brand { flex:0 0 auto;min-width:0;gap:12px;margin:0; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-mark { width:54px;height:54px;flex:0 0 54px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-text { display:grid;gap:2px;min-width:0;max-width:none;line-height:1.2; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-text strong { font-size:17px;line-height:1.25;letter-spacing:-.025em;white-space:nowrap; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-family { font-size:13px;letter-spacing:.04em;font-weight:500;color:var(--ink); }
body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-text small { display:block;font-size:11px;line-height:1.35;margin-top:2px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav { display:flex;align-items:center;flex:0 1 auto;gap:18px;margin:0 0 0 auto;position:static;inset:auto;width:auto;max-height:none;padding:0;border:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;overflow:visible; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav>a,
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav summary { font-size:14px;line-height:1.4;white-space:nowrap; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav>a { display:flex;align-items:center;min-height:44px;padding:0;border:0; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .phone-menu { margin:0; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .phone-menu-panel { position:absolute;top:calc(100% + 10px);right:0;width:min(330px,calc(100vw - 32px));border:1px solid var(--line-strong);border-radius:8px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .theme-toggle { margin:0; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .nav-toggle { display:none; }
body[data-shared-site-chrome] .site-header[data-shared-nav] :is(.patient-portal-link,.session-cart-link) { flex:none;margin:0; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .patient-portal-link { font-size:13px;padding-inline:14px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group { position:relative; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group>summary { display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:44px;color:var(--ink); }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group>summary::-webkit-details-marker { display:none; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group>summary::after { content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group[open]>summary::after { transform:rotate(225deg);margin-top:4px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group-panel { position:absolute;top:calc(100% + 10px);left:-16px;min-width:230px;padding:8px;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);box-shadow:0 12px 32px rgb(0 0 0 / .14); }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group-panel>a { display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px;font-size:14px; }
body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group-panel>a:hover { background:var(--surface);color:var(--ink); }
body[data-shared-site-chrome] .site-header[data-shared-nav] :is(a,button,summary):focus-visible { outline:2px solid var(--gold);outline-offset:4px; }
@media(max-width:1200px) {
  body[data-shared-site-chrome] .site-header[data-shared-nav] { gap:16px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .nav-toggle { display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-left:auto;min-width:82px;width:auto;height:44px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1.2;font-weight:500;order:2; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .site-menu-icon { font-size:18px;line-height:1; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav { position:fixed;top:calc(var(--header-height) + 8px);left:16px;right:16px;width:auto;display:grid;align-items:stretch;gap:0;padding:12px 18px;margin:0;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);box-shadow:0 12px 32px rgb(0 0 0 / .14);max-height:calc(100dvh - var(--header-height) - 24px);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px); }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav.is-open { opacity:1;visibility:visible;pointer-events:auto;transform:none; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav>a,
  body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group>summary { min-height:48px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .site-nav-group-panel { position:static;min-width:0;padding:0 0 8px 14px;margin-bottom:8px;border:0;border-left:1px solid var(--line-strong);border-radius:0;box-shadow:none; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .phone-menu { margin:8px 0; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .phone-menu-panel { position:static;min-width:0;width:100%;margin-top:8px;box-shadow:none; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .theme-toggle { justify-self:start;margin:8px 0; }
}
@media(max-width:620px) {
  body[data-shared-site-chrome] { --header-height:118px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] { display:grid;grid-template-columns:1fr auto auto;gap:8px 10px;padding:10px 16px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .brand { grid-column:1 / -1;gap:10px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-mark { width:42px;height:42px;flex-basis:42px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-text strong { font-size:16px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-family { font-size:12px; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .brand-text small { display:none; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .nav-toggle { margin:0;justify-self:start; }
  body[data-shared-site-chrome] .site-header[data-shared-nav] .patient-portal-link { padding:10px 12px; }
}
