/* Shared patient orientation and compact, accessible controls. */
:root body .title-topic-tools{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:10px 24px;margin:0 auto 16px;max-width:1240px}
:root body .topic-motion-toggle,:root body .topic-index>summary{font:inherit;font-size:.875rem;line-height:1.5;color:var(--espresso);background:transparent;border:0;border-bottom:1px solid var(--line);min-height:44px;padding:10px 4px;cursor:pointer;list-style:none}
.topic-index>summary::-webkit-details-marker{display:none}
.topic-index>summary::after{content:' +';color:var(--bronze)}
.topic-index[open]>summary::after{content:' −'}
.topic-index[open]{flex-basis:100%;order:2}
:root body .topic-index-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;padding-bottom:8px}
:root body .topic-index-links a{display:flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid var(--line);font-size:.9375rem;line-height:1.5;text-decoration:none;color:var(--espresso);background:var(--ivory)}
:root body .topic-index-links a:hover,:root body .topic-index-links a:focus-visible{background:var(--cream);border-color:var(--bronze)}
:root body .title-topics.is-user-paused .title-topic.is-visible{animation:none;opacity:1;transform:scale(1)}
:root body .appointment-at-a-glance{margin:20px 0 28px}
:root body .appointment-overview-label{font-size:1rem;font-weight:500;color:var(--espresso);margin:0 0 14px}
:root body .appointment-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
:root body .appointment-choice{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-top:2px solid var(--bronze);background:var(--ivory);color:var(--espresso);text-decoration:none;min-width:0}
:root body .appointment-choice>strong{font-size:1.125rem;line-height:1.45;font-weight:500}
:root body .appointment-choice>span{font-size:1rem;line-height:1.65;color:var(--ink)}
:root body .appointment-choice>small{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;line-height:1.5;color:var(--bronze-text);margin-top:auto;padding-top:8px}
:root body .appointment-choice:hover,:root body .appointment-choice:focus-visible{background:var(--cream);border-color:var(--bronze)}
:root body .appointment-overview-note{margin:12px 0 0;font-size:.875rem;line-height:1.65;color:var(--muted)}
:root body .disclosure-close{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:.875rem;line-height:1.5;min-height:44px;margin:18px 0 0;padding:8px 14px;background:transparent;color:var(--espresso);border:1px solid var(--line);cursor:pointer}
:root body .disclosure-close:hover,:root body .disclosure-close:focus-visible{background:var(--cream);border-color:var(--bronze)}
:root body :is(.appointment-choice,.topic-motion-toggle,.topic-index>summary,.disclosure-close):focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
@media(max-width:680px){
 :root body .title-topic-tools{justify-content:flex-start;gap:8px 18px;margin-bottom:12px}
 :root body .topic-index-links{justify-content:flex-start;gap:8px}
 :root body .topic-index-links a{font-size:.875rem;padding:9px 12px}
 :root body .appointment-choice-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 :root body .appointment-choice{padding:18px}
 :root body .appointment-at-a-glance{margin:16px 0 24px}
}
/* Apply the same header proportions to home and all subpages. Landscape rules remain intact. */
@media(max-width:680px) and (orientation:portrait){
 html{scroll-padding-top:76px}
 :root body :is(.site-head,.nav-shell)>nav.wrap{display:grid;grid-template-columns:44px minmax(0,1fr) auto 44px;grid-template-rows:44px;gap:6px;align-items:center;width:calc(100% - 24px);min-height:64px;height:64px;padding:10px 0;box-sizing:border-box;flex-wrap:nowrap}
 :root body :is(.site-head,.nav-shell) .header-identity{grid-column:2;grid-row:1;min-width:0;margin:0;flex-shrink:1}
 :root body :is(.site-head,.nav-shell) .header-identity :is(.brand,.brand-name){display:flex;align-items:center;min-height:44px;min-width:0;max-width:100%;margin:0;padding:0}
 :root body :is(.site-head,.nav-shell) .header-identity .header-wordmark{display:block;width:150px;height:auto;max-width:100%;max-height:34px;object-fit:contain}
 :root body :is(.site-head,.nav-shell) .back-button{display:inline-flex;align-items:center;justify-content:center;grid-column:1;grid-row:1;width:44px;min-height:44px;min-width:44px;padding:0;margin:0;flex-basis:auto;order:0}
 :root body :is(.site-head,.nav-shell) .back-button>span{display:none}
 :root body :is(.site-head,.nav-shell) .back-chevron{width:20px;height:20px;margin:0}
 :root body :is(.site-head,.nav-shell) .mobile-booking-cta{grid-column:3;grid-row:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:0 10px;white-space:nowrap;font-size:.8125rem;line-height:1.4;order:0}
 :root body :is(.site-head,.nav-shell) .menu-button{grid-column:4;grid-row:1;width:44px;min-height:44px;padding:0;margin:0;order:0}
 :root body :is(.site-head,.nav-shell)>nav>.language-switch{display:none}
 :root body :is(.site-head,.nav-shell) .global-nav{position:absolute;top:100%;left:-12px;right:-12px;display:none;max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;padding:12px 18px 18px}
 :root body :is(.site-head,.nav-shell) .global-nav.open{display:flex}
 :root body :is(.site-head,.nav-shell) .global-nav .mobile-menu-language-switch{display:flex;gap:16px;margin:14px 10px 0}
 :root body.patient-home .nav-shell:has(.back-button[hidden])>nav.wrap{grid-template-columns:minmax(0,1fr) auto 44px}
 :root body.patient-home .nav-shell:has(.back-button[hidden]) .header-identity{grid-column:1}
 :root body.patient-home .nav-shell:has(.back-button[hidden]) .mobile-booking-cta{grid-column:2}
 :root body.patient-home .nav-shell:has(.back-button[hidden]) .menu-button{grid-column:3}
}
@media(max-width:360px) and (orientation:portrait){
 :root body:not(.patient-home) :is(.site-head,.nav-shell)>nav.wrap{grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:36px 44px;height:96px;min-height:96px;padding:6px 0;row-gap:4px}
 :root body:not(.patient-home) :is(.site-head,.nav-shell) .header-identity{grid-column:1/3;grid-row:1}
 :root body:not(.patient-home) :is(.site-head,.nav-shell) .header-identity :is(.brand,.brand-name){min-height:36px}
 :root body:not(.patient-home) :is(.site-head,.nav-shell) .back-button{grid-column:1;grid-row:2}
 :root body:not(.patient-home) :is(.site-head,.nav-shell) .mobile-booking-cta{grid-column:2;grid-row:2;justify-self:end}
 :root body:not(.patient-home) :is(.site-head,.nav-shell) .menu-button{grid-column:3;grid-row:2}
 :root body:not(.patient-home) :is(.site-head,.nav-shell) .global-nav{max-height:calc(100dvh - 96px)}
 html{scroll-padding-top:108px}
}

:root body .title-topic-hint{flex:0 0 100%;margin:0;font-size:.875rem;line-height:1.6;text-align:center;color:var(--ink)}
@media(max-width:680px){:root body .title-topic-hint{text-align:left}}

/* Disclosure controls have their own row, separate from booking links and cards. */
:root body .disclosure-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;clear:both;width:100%;min-width:0;box-sizing:border-box;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
:root body .disclosure-actions .disclosure-close{position:static;display:inline-flex;flex:0 1 auto;max-width:100%;min-width:0;box-sizing:border-box;margin:0;white-space:normal;text-align:center;overflow-wrap:break-word}
:root body .booking-route-body>.care-text-link{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;box-sizing:border-box;line-height:1.5;white-space:normal;overflow-wrap:break-word}
:root body :is(.booking-route-body,.condition-body,.treatment-disclosure-body,.home-disclosure-body){min-width:0}
:root body :is(.hero-actions,.actions)>.button{max-width:100%;min-width:0;box-sizing:border-box;white-space:normal;text-align:center;overflow-wrap:break-word}
:root body .booking-action{min-width:0;white-space:normal;overflow-wrap:break-word}
@media(max-width:680px){:root body .disclosure-actions{margin-top:20px;padding-top:16px}:root body .disclosure-actions .disclosure-close{width:100%}}
