/* Interactive geographic US accessibility-law map.
   Single source of styling, shared by the homepage and the
   /accessibility-laws-by-state hub. Edit here once; both pages update.
   (Bump the ?v= query in the <link> tags when this file changes.) */
.us-figure { max-width: 760px; margin: 0 auto 1.75rem; }
.us-svg { width: 100%; height: auto; display: block; }
.us-svg a { cursor: pointer; }
.us-svg path { stroke-width: 1px; stroke-linejoin: round; transition: fill .12s ease; }
.us-svg a.has-law path { fill: #1d4ed8; stroke: #ffffff; }
.us-svg a.fed-only path { fill: #cbd5e1; stroke: #334155; }
.us-svg a:hover path, .us-svg a:focus path { stroke: #f59e0b; stroke-width: 3px; }
.us-svg a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
[data-theme="dark"] .us-svg a.has-law path { fill: #93c5fd; stroke: #1e293b; }
[data-theme="dark"] .us-svg a.fed-only path { fill: #475569; stroke: #e2e8f0; }
[data-theme="dark"] .us-svg a:hover path, [data-theme="dark"] .us-svg a:focus path { stroke: #f59e0b; }
.us-map-legend { display: flex; gap: 1.25rem; justify-content: center; flex-wrap: wrap; font-size: .8rem; color: #475569; margin: .75rem 0 0; }
.us-map-legend .swatch { display: inline-block; width: 13px; height: 13px; border-radius: 3px; vertical-align: middle; margin-right: .4rem; border: 1px solid #64748b; }
.us-map-legend .swatch.has-law { background: #1d4ed8; }
.us-map-legend .swatch.fed-only { background: #cbd5e1; }
[data-theme="dark"] .us-map-legend { color: #cbd5e1; }
[data-theme="dark"] .us-map-legend .swatch { border-color: #94a3b8; }
[data-theme="dark"] .us-map-legend .swatch.has-law { background: #93c5fd; }
[data-theme="dark"] .us-map-legend .swatch.fed-only { background: #475569; }
@media (prefers-reduced-motion: reduce) { .us-svg path { transition: none; } }
