.vac-landing { --ink:#143047; --muted:#4d6475; --line:#d9e5ea; --brand:#0b5cad; --soft:#f4f8fb; }
.vac-landing .unified-main, .vac-landing main.shell { max-width:1100px; margin:0 auto; padding:24px 18px 64px; color:var(--ink); }
.vac-hero { display:grid; gap:18px; margin:0 0 28px; padding:22px 20px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(180deg,#fff,var(--soft)); }
.vac-hero h1 { margin:0 0 8px; font-size:clamp(1.55rem,2.4vw,2.1rem); line-height:1.2; }
.vac-hero .lead { margin:0; color:var(--muted); font-size:1.05rem; }
.vac-hero .eyebrow { letter-spacing:.04em; text-transform:uppercase; font-size:.78rem; color:var(--brand); font-weight:700; }
.vac-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.vac-pills a, .vac-pills span { border:1px solid var(--line); border-radius:999px; padding:6px 12px; background:#fff; font-size:.92rem; text-decoration:none; color:var(--ink); }
.vac-pills a { color:var(--brand); font-weight:600; }
.vac-note { margin:0 0 22px; padding:14px 16px; border-left:4px solid var(--brand); background:#eef6fc; border-radius:0 12px 12px 0; }
.vac-tools { display:grid; gap:12px; margin:0 0 18px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.vac-tools form { display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); align-items:end; }
.vac-tools label { display:grid; gap:6px; font-size:.92rem; }
.vac-tools select, .vac-tools input { width:100%; min-height:42px; border:1px solid var(--line); border-radius:10px; padding:8px 10px; font:inherit; }
.vac-actions { display:flex; flex-wrap:wrap; gap:8px; }
.vac-actions button, .vac-actions .button { min-height:42px; border-radius:10px; border:1px solid var(--line); padding:8px 14px; background:#fff; cursor:pointer; font:inherit; }
.vac-actions .primary, .vac-actions button.primary { background:var(--brand); color:#fff; border-color:var(--brand); }
.vac-summary { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 12px; color:var(--muted); }
.vac-workspace { display:grid; gap:16px; margin:0 0 28px; }
@media (min-width:960px){ .vac-workspace { grid-template-columns:1.1fr .9fr; } }
#vaccinator-leaflet-map { height:420px; border-radius:16px; border:1px solid var(--line); background:#dfeaf1; }
.vaccinator-results, .v-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; max-height:420px; overflow:auto; }
.vaccinator-card, .v-item article { border:1px solid var(--line); border-radius:14px; padding:12px 14px; background:#fff; }
.vaccinator-card h3, .v-item h3 { margin:0 0 6px; font-size:1rem; }
.vaccinator-location, .v-loc, .v-sched, .v-vax { margin:0 0 6px; color:var(--muted); font-size:.92rem; }
.v-region { margin:0 0 12px; border:1px solid var(--line); border-radius:14px; background:#fff; padding:8px 12px; }
.v-region > summary { cursor:pointer; font-weight:700; padding:8px 4px; }
.v-count { color:var(--muted); font-weight:500; }
.v-geo { display:block; font-size:.85rem; color:var(--muted); margin-bottom:4px; }
.source-note { color:var(--muted); font-size:.92rem; }
.vac-faq details { border:1px solid var(--line); border-radius:12px; padding:10px 14px; margin:0 0 8px; background:#fff; }
.vac-related { margin:28px 0 0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--soft); }
