/* County review layer: shared approved city components plus county map composition. */
.county-design [hidden] { display:none !important; }
.county-design .area-section { padding-top:48px; padding-bottom:48px; }
.county-design .area-section > .section-heading { margin-bottom:24px; }
.county-design .section-heading > p { font-size:16px; line-height:1.55; }
.county-design .county-court-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.county-design .county-court-source { margin:14px 0 0; color:var(--area-muted); font-size:13px; line-height:1.5; }
.county-design .county-court-source a { color:var(--area-teal); text-decoration:underline; }
.county-design .county-map-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 20px; background:#082f49; color:white; }
.county-map-key { display:flex; flex-wrap:wrap; gap:14px; font-size:12px; }
.county-map-key span { display:inline-flex; align-items:center; gap:5px; }
.county-map-key i { display:inline-block; width:12px; height:12px; border:1px solid #fff; }
.key-district { background:#b8c6d1; }.key-city { background:#438b79; }.key-cdp { background:#d9b767; }
.county-map-picker { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:16px 18px; background:white; border:1px solid var(--area-line); margin:16px 0; }
.county-map-picker label { font-size:14px; font-weight:700; }
.county-map-picker select { min-height:44px; max-width:100%; padding:8px 34px 8px 12px; border:1px solid #bdc9ca; background:white; color:#082f49; font:inherit; }
.county-map-picker > span { margin-left:auto; color:#5e717a; font-size:13px; }
.county-explorer-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
.county-map-column { min-width:0; border:1px solid var(--area-line); }
#county-combined-map { width:100%; height:480px; background:#e8eef0; z-index:0; }
.county-design .leaflet-tile-pane { transition:opacity .3s; }
.county-design .county-district-label { color:#082f49; font:700 14px/1.2 Inter,system-ui,sans-serif; text-shadow:0 1px 3px white,1px 0 3px white,-1px 0 3px white; text-align:center; pointer-events:none; }
.county-explorer-controls { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 20px; padding:14px 16px; margin-top:16px; border:1px solid var(--area-line); background:#fff; }
.county-basemap-tools { display:flex; flex-wrap:wrap; gap:8px; }
.county-explorer-controls button { min-height:44px; padding:10px 14px; font:700 13px/1.3 Inter,system-ui,sans-serif; border:1px solid #bacac9; background:white; color:#082f49; cursor:pointer; }
.county-explorer-controls button[aria-pressed="true"] { background:#082f49; color:#fff; border-color:#082f49; }
.county-explorer-controls button:disabled { opacity:.5; cursor:default; }
.county-layer-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.county-layer-controls > span { margin-right:6px; font-size:13px; font-weight:750; }
.county-layer-note { margin:10px 0 0; color:#455e67; font-size:13px; }
.county-map-sources { margin-top:14px; font-size:13px; line-height:1.6; color:#5e717a; }
.county-map-sources summary { cursor:pointer; color:#176e6a; font-weight:700; }
.county-selection { display:flex; flex-direction:column; border:1px solid #ccd8d9; border-top:5px solid #c9a052; background:white; min-width:0; }
.county-selection-topline { display:flex; justify-content:space-between; gap:8px; padding:12px 16px; color:#5e717a; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.county-selection-map { height:104px; padding:5px 16px; background:#edf2f3; }
.county-selection-map svg { width:100%; height:100%; }
.county-selection-copy { padding:16px 18px 8px; }
.county-selection-copy h3 { margin:0 0 10px; color:#082f49; font:500 28px/1.15 Georgia,serif; }
.county-selection-copy p { margin:0; color:#5e717a; font:14px/1.5 Inter,system-ui,sans-serif; }
.county-selection-person { display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px; padding:12px 18px; align-items:start; }
.county-selection-person img { width:48px; height:48px; object-fit:cover; border-radius:50%; }
.county-selection-person img.is-absent { visibility:hidden; }
.county-selection-person strong,.county-selection-person small { display:block; font-size:14px; line-height:1.4; }
.county-selection-person small { margin-top:4px; font-size:12px; color:#5e717a; }
.county-selection-facts { display:grid; grid-template-columns:1fr 1fr; margin:0; }
.county-selection-facts > div { padding:12px 16px; border-top:1px solid #d5dedd; }
.county-selection-facts dt { font-size:10px; line-height:1.4; font-weight:750; color:#6a7a80; text-transform:uppercase; }
.county-selection-facts dd { margin:5px 0 0; color:#082f49; font-size:13px; line-height:1.4; }
.county-selection-facts dd a { color:#126e68; text-decoration:underline; text-underline-offset:3px; }
.county-design .county-explorer .explorer-atlas-callout { width:100%; box-sizing:border-box; }
#offices .explorer-atlas-callout .section-kicker { color:#d6b667; }
.county-selection-vintage { margin:0; padding:10px 16px; font:11px/1.4 Inter,system-ui,sans-serif; color:#5e717a; }
.county-selection-link { display:flex; align-items:center; justify-content:center; padding:14px 16px; border-top:1px solid #d5dedd; color:#126e68; font-size:14px; line-height:1.4; font-weight:700; text-align:center; }
.county-search-label { display:block; margin:18px 0 8px; font-size:14px; font-weight:700; }
#county-place-search { width:100%; max-width:460px; min-height:44px; padding:10px 12px; border:1px solid #b7c9c9; font:16px/1.5 Inter,system-ui,sans-serif; }
.county-list-status { color:#5e717a; font-size:13px; }
.county-place-list { max-height:680px; overflow:auto; border:1px solid #d5dedd; background:#fff; }
.county-place-list h4 { margin:0; padding:12px 20px; background:#edf2f3; color:#5e717a; font:750 12px/1.5 Inter,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.07em; }
.county-list-row { display:grid; grid-template-columns:90px minmax(190px,.85fr) minmax(0,1.5fr) 20px; align-items:center; gap:18px; padding:15px 20px; border-top:1px solid #d5dedd; }
.county-list-row:hover { background:#f0f6f4; }
.county-list-thumb { width:90px; height:72px; background:#edf2f3; }
.county-list-thumb svg { width:100%; height:100%; }
.county-list-person { display:flex; gap:12px; align-items:center; }
.county-list-person img { width:46px; height:46px; border-radius:50%; object-fit:cover; }
.county-list-person strong { display:block; font:500 23px/1.2 Georgia,serif; }
.county-list-person span { display:block; margin-top:6px; font-size:13px; }
.county-list-row > p { margin:0; font-size:14px; line-height:1.5; color:#5e717a; }
.county-list-arrow { color:#176e6a; font-size:22px; }
.county-design .meeting-empty-state { margin:0 24px 22px; padding:16px 20px; border-left:3px solid #a87c27; background:#faf5e9; color:#5e717a; font-size:14px; line-height:1.6; }
.county-design .meeting-report-dek { max-width:70ch; }
.county-design .meeting-report.is-upcoming .meeting-items-heading:has(+.meeting-note-grid:empty) { display:none; }
.county-design .meeting-note-card.is-previous .meeting-note-rail > strong { font-size:22px; }
@media(max-width:1000px) { .county-explorer-layout { grid-template-columns:minmax(0,1fr) 280px; } }
@media(max-width:800px) { .county-explorer-layout { grid-template-columns:1fr; }.county-selection { max-width:none; }#county-combined-map { height:400px; } }
@media(max-width:600px) {
 .county-design .area-section { padding-top:32px; padding-bottom:32px; }
 .county-map-picker { align-items:stretch; flex-direction:column; }.county-map-picker > span { margin-left:0; }
 .county-map-heading { padding:14px; }.county-map-key { gap:10px; }
 #county-combined-map { height:340px; }.county-explorer-controls { padding:12px; gap:12px; }.county-explorer-controls button { padding:10px; font-size:12px; }
 .county-layer-controls { width:100%; }.county-layer-controls > span { width:100%; }.county-layer-controls button { flex:1; }
 .county-list-row { grid-template-columns:68px minmax(0,1fr) 18px; gap:12px; padding:14px 12px; }.county-list-thumb { width:68px; height:60px; }.county-list-person img { display:none; }.county-list-row > p { grid-column:1 / -1; grid-row:2; }.county-place-list { max-height:570px; }
 .county-design .county-court-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.county-design .meeting-empty-state { margin:0 16px 16px; }
}
@media(prefers-reduced-motion:reduce) { .county-design .leaflet-tile-pane { transition:none; } }
