/* members page */
.members-head{background:var(--surface);padding:3rem 0 2rem;border-bottom:1px solid var(--line)}
.members-head h1{font-size:clamp(2rem,4vw,2.8rem)}
.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:.6rem;align-items:end}
#filterToggle{display:none}
@media (max-width:767.98px){.members-head .lede{display:none}#filterToggle{display:inline-flex;margin-top:1rem}.filters{display:none;margin-top:.75rem}.filters.open{display:grid}.members-head{padding:1.5rem 0 1rem}.members-head h1{font-size:1.7rem}}
@media (max-width:991.98px){main .row{flex-direction:column-reverse}}
@media (max-width:991.98px){.filters{grid-template-columns:1fr 1fr}}
@media (max-width:575.98px){.filters{grid-template-columns:1fr}}
.filters label{font-size:.85rem;font-weight:600;color:var(--ink-soft);display:block;margin-bottom:.25rem}
.filters .form-control,.filters .form-select{background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:.5rem;padding:.6rem .8rem}
.filters .form-control:focus,.filters .form-select:focus{border-color:var(--coalition);box-shadow:0 0 0 .2rem rgba(240,103,42,.2)}
.results-line{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.95rem;color:var(--ink-soft);margin-top:1rem}
.results-line .chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:.15rem .6rem .15rem .75rem;color:var(--ink);font-weight:600;font-size:.85rem}
.results-line .chip button{border:0;background:transparent;color:var(--ink-soft);font-size:1rem;line-height:1;padding:0 .1rem;cursor:pointer}
.map-panel{position:sticky;top:1rem}
.fl-map-live .counties path{cursor:pointer}
.fl-map-live .counties path.has-local{fill:var(--map-local)}
.fl-map-live .counties path:hover,.fl-map-live .counties path:focus-visible{fill:var(--map-hover);outline:none}
.fl-map-live .counties path.selected{fill:var(--coalition);stroke:var(--surface)}
.fl-map-live .counties path.in-footprint{fill:var(--map-fp)}
:root{--map-local:#c5cdea;--map-hover:#ffb18a;--map-fp:#f6c9b6}
[data-bs-theme=dark]{--map-local:#354377;--map-hover:#a7522f;--map-fp:#6a3a2c}
.map-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font-size:.85rem;padding:.35rem .55rem;border-radius:.4rem;transform:translate(-50%,-130%);white-space:nowrap;display:none;z-index:5}
[data-bs-theme=dark] .map-tip{background:#e9ecf7;color:#0f1530}
.map-legend{font-size:.9rem;color:var(--ink-soft);margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}
.map-legend .k{display:inline-flex;align-items:center;gap:.4rem}
.map-legend .k i{width:.75rem;height:.75rem;border-radius:2px;display:inline-block;border:1px solid var(--line)}
.map-legend .k.local i{background:var(--map-local)}
.map-legend .k.fp i{background:var(--map-fp)}
.map-legend .k.pin i{background:var(--coalition);border-radius:50%;border:0}
.group-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:2.25rem 0 .25rem}
.group-h h2{font-size:1.35rem;margin:0}
.group-h span{font-size:.9rem;color:var(--ink-soft)}
.member-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.member{display:grid;grid-template-columns:128px 1fr auto;gap:1rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--line)}
.member.hide{display:none}
.member-list.collapsed{display:none}
.member .logo{width:128px;height:64px;border-radius:.6rem;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;color:var(--ink-soft);font-weight:800;font-size:.95rem;overflow:hidden}
.member a.logo img{width:auto;height:auto;max-width:114px;max-height:50px;object-fit:contain;padding:0}
.member h3{font-size:1.08rem;font-weight:700;margin:0 0 .15rem}
.member h3 a{color:var(--ink);text-decoration:none}
.member h3 a:hover{text-decoration:underline}
.member .fp{font-size:.92rem;color:var(--ink-soft)}
.member .caps{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}
.cap{font-size:.78rem;font-weight:600;padding:.12rem .5rem;border-radius:.35rem;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft)}
.cap.on{background:var(--coalition);border-color:var(--coalition);color:#fff}
.member .links{font-size:.9rem;padding-top:.3rem}
.member .links a{font-weight:600;text-decoration:none}
.empty{display:none;padding:2rem 0;color:var(--ink-soft)}
.empty.show{display:block}
.county-card{display:none;background:var(--surface);border:1px solid var(--line);border-radius:.8rem;padding:1.1rem 1.25rem;margin-top:1.5rem}
.county-card.show{display:block}
.county-card h2{font-size:1.4rem;margin-bottom:.35rem}
.county-card dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:.95rem}
.county-card dt{color:var(--ink-soft);font-weight:500}
.county-card dd{margin:0}
@media (max-width:575.98px){.member{grid-template-columns:96px 1fr}.member .links{grid-column:2}.member .logo{width:96px;height:48px;font-size:.8rem}.member a.logo img{max-width:84px;max-height:36px}}
.drawer{display:none;background:var(--surface);border:1px solid var(--line);border-radius:.9rem;box-shadow:0 12px 40px rgba(0,0,0,.08);flex-direction:column;max-height:calc(100vh - 2rem);overflow:hidden}
.drawer.open{display:flex}
.map-panel.drawer-open > .map-wrap,.map-panel.drawer-open > .map-legend,.map-panel.drawer-open > p,.map-panel.drawer-open > .county-card,.map-panel.drawer-open > .proto-note{display:none}
.drawer .dh{display:flex;align-items:center;gap:.4rem;padding:.75rem .9rem;border-bottom:1px solid var(--line)}
.drawer .dh .nav-btn,.drawer .dh .close-btn{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:.45rem;width:36px;height:36px;display:grid;place-items:center;font-size:1.1rem;line-height:1;cursor:pointer}
.drawer .dh .nav-btn:disabled{opacity:.35;cursor:default}
.drawer .dh .pos{flex:1;text-align:center;font-size:.85rem;color:var(--ink-soft)}
.drawer .db{overflow-y:auto;padding:1.25rem 1.4rem 1.5rem}
.drawer .logo-big{width:88px;height:88px;border-radius:.8rem;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:1.3rem;color:var(--ink-soft);margin-bottom:1rem}
.drawer h2{font-size:1.4rem;margin:0 0 .25rem}
.drawer .kind{color:var(--ink-soft);font-size:.95rem;margin-bottom:1rem}
.drawer dl{margin:1rem 0 0;font-size:.95rem}
.drawer dt{font-weight:600;color:var(--ink-soft);font-size:.82rem;margin-top:.9rem}
.drawer dd{margin:.15rem 0 0}
.drawer .caps{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}
.drawer .actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.drawer .foot{margin-top:1.5rem;font-size:.85rem;color:var(--ink-soft)}
.member.current{background:var(--surface-2);margin:0 -.75rem;padding-left:.75rem;padding-right:.75rem;border-radius:.5rem}
@media (max-width:991.98px){
  .drawer{position:fixed;left:0;right:0;bottom:0;top:auto;height:70vh;border:0;border-top:1px solid var(--line);border-radius:1rem 1rem 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.18);z-index:1040;max-height:none}
  .map-panel.drawer-open > .map-wrap,.map-panel.drawer-open > .map-legend,.map-panel.drawer-open > p,.map-panel.drawer-open > .county-card,.map-panel.drawer-open > .proto-note{display:revert}
  .drawer .handle{width:44px;height:5px;border-radius:3px;background:var(--line);margin:.5rem auto 0}
}
.drawer .handle{display:none}
@media (max-width:991.98px){.drawer .handle{display:block}}
/* Production: the prototype's hard-coded impact counties (base.css #c-… under
   data-status) must not tint the directory map; re-state the map's own states. */
[data-status] .fl-map-live .counties path{fill:var(--map-fill)!important}
[data-status] .fl-map-live .counties path.has-local{fill:var(--map-local)!important}
[data-status] .fl-map-live .counties path.in-footprint{fill:var(--map-fp)!important}
[data-status] .fl-map-live .counties path:hover,[data-status] .fl-map-live .counties path:focus-visible{fill:var(--map-hover)!important;outline:none}
[data-status] .fl-map-live .counties path.selected{fill:var(--coalition)!important;stroke:var(--surface)}
.fl-map-live .pins{pointer-events:none}
.member .logo span{display:block}
.drawer .note-soft{font-size:.9rem;color:var(--ink-soft);font-style:italic}
.member-page .logo-big{width:96px;height:96px;border-radius:.8rem;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:1.4rem;color:var(--ink-soft);overflow:hidden}
.member-page .logo-big img{max-width:100%;max-height:100%;object-fit:contain;padding:8px}
.member-page dl{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.6rem 1.5rem;margin:1.5rem 0 0}
.member-page dt{color:var(--ink-soft);font-weight:600;font-size:.9rem}
.member-page dd{margin:0}
.member-page .caps{display:flex;flex-wrap:wrap;gap:.3rem}
@media (max-width:575.98px){.member-page dl{grid-template-columns:1fr;gap:.15rem}.member-page dd{margin-bottom:.6rem}}
.member-page .kind{color:var(--ink-soft);font-size:1rem;margin:.25rem 0 1rem}
.member-page h1{font-size:clamp(1.8rem,3.5vw,2.5rem);margin:.75rem 0 0}
.member-page .actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.note-soft{font-size:.9rem;color:var(--ink-soft);font-style:italic}

/* Phones: .g-5 gutters are wider than the container padding and cause sideways scroll. */
@media (max-width:575.98px){.row.g-5,.row.g-4{--bs-gutter-x:1.5rem}}
