.clinic-locator{scroll-margin-top:calc(var(--header-height,88px) + 24px);padding-block:clamp(64px,8vw,112px)}.clinic-locator-heading{grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(32px,6vw,88px);margin-bottom:48px;display:grid}.clinic-locator-heading h2{margin:0}.clinic-locator-intro{max-width:380px}.clinic-locate-button{appearance:none;font:inherit;cursor:pointer}.clinic-locate-button:disabled{cursor:default;opacity:.6}.clinic-location-status{color:var(--color-ink);min-height:3.2em;margin:12px 0 0;font-size:1rem;line-height:1.6}.clinic-locator-layout{border:1px solid var(--border);grid-template-columns:minmax(260px,340px) minmax(0,1fr);display:grid}.clinic-map-panel{flex-direction:column;min-width:0;display:flex}.clinic-map-action{border-bottom:1px solid var(--border);background:var(--page-surface-raised,var(--color-ivory));grid-template-columns:minmax(0,1fr);place-items:start;gap:12px 24px;padding:24px;display:grid}.clinic-map-action .clinic-locate-button{text-align:start;gap:16px;max-width:100%;min-height:54px}.clinic-map-action .clinic-locate-button svg{flex:none}.clinic-map-action .clinic-location-status{grid-column:1/-1;margin:0}.clinic-map{background:var(--page-surface,var(--color-ivory));flex:1;min-height:480px;position:relative}.clinic-map iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.clinic-map-loader{z-index:2;color:#fff;background:#0009;place-items:center;display:grid;position:absolute;inset:0}.clinic-map-loader[hidden]{display:none}.clinic-map-spinner{aspect-ratio:1;border:3px solid;border-color:currentColor currentColor #0000 #0000;border-radius:50%;width:48px;animation:.8s linear infinite clinic-map-spin}@keyframes clinic-map-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.clinic-map-spinner{animation:none}}.clinic-map-note{color:var(--color-muted);font-size:var(--text-small);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:14px 20px;line-height:1.6;display:flex}.clinic-map-note p{margin:0}.clinic-map-note a,.clinic-directory a{min-height:44px;color:var(--color-ink);text-underline-offset:4px;align-items:center;gap:10px;text-decoration:underline;display:inline-flex}.clinic-map-note svg,.clinic-directory a svg{width:16px;height:16px}.clinic-selection{border-right:1px solid var(--border);background:var(--page-surface-raised,var(--color-ivory));flex-direction:column;gap:24px;padding:clamp(24px,3vw,40px);display:flex}.clinic-selection-field{gap:10px;display:grid}.clinic-locator label{font-size:var(--text-small);color:var(--color-ink)}.clinic-locator select{border:1px solid var(--border);background:var(--page-surface-raised,var(--color-ivory));width:100%;min-width:0;min-height:48px;color:var(--color-ink);border-radius:0;padding:10px 12px;font-size:1rem}.clinic-locator select:disabled{opacity:.6}.clinic-selection-details{margin-top:16px}.clinic-selection-details h3{margin:0 0 12px;font-size:clamp(26px,2.4vw,32px)}.clinic-selection-city{font-size:var(--text-small);color:var(--color-muted);margin-bottom:20px}.clinic-locator address{color:var(--color-muted);overflow-wrap:break-word;font-size:1rem;font-style:normal;line-height:1.8}.clinic-selection>.text-link{align-self:flex-start;min-height:44px;margin-top:auto}.clinic-directory{border-bottom:1px solid var(--border);margin-top:24px}.clinic-directory summary{min-height:48px;padding-block:16px;font-size:1rem}.clinic-directory ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:0;padding:24px 0;list-style:none;display:grid}.clinic-directory h3{margin-bottom:10px;font-size:22px}.clinic-directory a{font-size:var(--text-small);margin-top:8px}@media (width<=1000px){.clinic-map-action{grid-template-columns:minmax(0,1fr)}.clinic-map-action .clinic-locate-button{justify-self:start}.clinic-directory ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.clinic-locator-heading{grid-template-columns:1fr;gap:24px}.clinic-locator-layout{grid-template-columns:1fr}.clinic-map{min-height:360px}.clinic-selection{border-right:0;border-bottom:1px solid var(--border);padding:24px}.clinic-selection>.text-link{margin-top:0}}@media (width<=480px){.clinic-directory ul{grid-template-columns:1fr}.clinic-map-note{padding:14px 24px}}
