/* Elixir — /clinics/ · inherits elixir.css tokens (--ink, --gold, --line, --serif, --sans, --r-*) */
.vh{position:absolute;left:-9999px}
.cx-search{padding-top:clamp(28px,4vw,48px);padding-bottom:0}
.cx-search .wrap{max-width:1080px}
.search{display:flex;gap:10px;align-items:stretch;margin:0 auto 14px;max-width:820px}
.search input{flex:1;min-width:0;min-height:54px;border:1px solid var(--line);border-radius:100px;padding:0 22px;font:inherit;font-size:16px;color:var(--ink);background:#fff;transition:border-color .3s var(--ease)}
.search input:focus{outline:none;border-color:var(--gold)}
.search .btn-solid{white-space:nowrap;padding:0 26px;display:inline-flex;align-items:center}
.flbl{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-55);margin-right:6px;align-self:center}
.filters,.regions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;margin:10px auto}
.regions{margin-top:16px;max-width:1080px}
.chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;border:1px solid var(--line);background:#fff;border-radius:100px;padding:6px 15px;font:inherit;font-size:13px;font-weight:500;color:var(--ink-70);cursor:pointer;text-decoration:none;transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}
.chip small{font-size:11px;color:var(--ink-35)}
.chip:hover{border-color:var(--gold);color:var(--ink)}
.chip[aria-pressed="true"],.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip[aria-pressed="true"] small,.chip.on small{color:rgba(255,255,255,.6)}
.status{text-align:center;color:var(--ink-55);font-size:14px;min-height:1.5em;margin:6px 0 12px;font-family:var(--serif);font-size:17px;font-weight:400}
.map{height:460px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--cream);overflow:hidden;box-shadow:0 20px 60px -30px rgba(22,26,31,.25)}
@media(max-width:640px){.map{height:320px;border-radius:var(--r-md)}}
.cx-list{padding-top:clamp(36px,5vw,64px)}
.cx-list .wrap{max-width:1080px}
.region{margin-top:34px}.region:first-child{margin-top:0}
.region h2{display:flex;align-items:baseline;gap:14px;margin:0 0 12px;font-weight:400}
.region h2 .kicker{margin:0}
.region h2 .n{font-family:var(--serif);font-size:15px;color:var(--ink-55);font-weight:400}
.list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
#nearest.list{grid-template-columns:1fr;max-width:820px;margin:0 auto}
.cl{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-md);padding:20px 22px;transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.cl:hover{border-color:var(--line);transform:translateY(-2px);box-shadow:0 18px 40px -28px rgba(22,26,31,.35)}
.cl.hit{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.cl .h{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.cl h3{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2;margin:0;letter-spacing:.005em}
.cl .d{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);white-space:nowrap}
.cl .a{color:var(--ink-55);font-size:13.5px;margin:4px 0 0}
.cl .tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0;font-size:12px}
.cl .tags span{border:1px solid var(--line-soft);border-radius:100px;padding:3px 10px;color:var(--ink-70)}
.cl .tags .rt{background:var(--gold-soft);border-color:transparent;color:var(--gold-deep)}
.cl .ref{display:inline-block;font-size:12.5px;color:var(--ink-70);background:var(--cream);border-radius:8px;padding:6px 10px;margin:12px 0 0}
.cl .ref strong{color:var(--gold-deep);letter-spacing:.06em}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cb.btn-solid,.cb.btn-ghost{padding:11px 18px;font-size:12.5px;text-decoration:none;display:inline-flex;align-items:center;min-height:42px}
.cb.dis{opacity:.55;cursor:default}
.cb[aria-expanded="true"]{background:var(--gold-soft);border-color:transparent}
.menu{margin-top:14px;font-size:13.5px;border-top:1px solid var(--line-soft);padding-top:12px}
.menu table{width:100%;border-collapse:collapse}
.menu td{padding:6px 8px 6px 0;border-bottom:1px solid var(--line-soft);color:var(--ink-70)}
.menu td:last-child{text-align:right;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.fine{font-size:12px;color:var(--ink-55);line-height:1.6;margin:10px 0 0}
.cx-about{background:var(--cream);padding:clamp(56px,7vw,96px) 0}
.cx-about .wrap{max-width:1080px}
.cx-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.h2s{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,28px);line-height:1.2;margin:8px 0 10px}
.cx-cols p{color:var(--ink-70);font-size:15px;line-height:1.7;margin:0}
.cx-cols a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cx-src{margin-top:36px;text-align:center}
/* Leaflet harmonised */
.leaflet-container{font-family:var(--sans);background:var(--cream)}
.leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 12px 30px -12px rgba(22,26,31,.35)}
.leaflet-popup-content{font-size:14px;line-height:1.5;margin:14px 16px}
.leaflet-popup-content strong{font-family:var(--serif);font-weight:400;font-size:16px}
.leaflet-popup-content a{color:var(--gold-deep)}
.leaflet-bar a{color:var(--ink)}
.leaflet-control-attribution{font-size:10px;color:var(--ink-55);background:rgba(255,255,255,.85)}
