.map-atlas { max-width: 1320px; margin: 0 auto 4rem; }
.map-toolbar,.map-caption { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; justify-content:space-between; padding:.75rem 0; }
.map-toolbar select,.map-zoom button { font:inherit; background:#f8f4e9; color:#23372e; border:1px solid #8a876a; padding:.55rem; }
.map-toolbar select { max-width: min(15rem, 70vw); }
.map-window { overflow:hidden; background:#f2ede1; border:1px solid #a9a48b; }
.atlas-map { display:block; width:100%; height:auto; touch-action:pan-y; }
.atlas-map.is-zoomed { touch-action:none; cursor:grab; }
.atlas-map .graticule { fill:none; stroke:#c9c5b3; stroke-width:.55; pointer-events:none; }
.atlas-map .land { fill:#dce1d4; stroke:#f8f3e5; stroke-width:.65; vector-effect:non-scaling-stroke; cursor:pointer; }
.atlas-map .covered { fill:#638474; stroke:#f0db9b; }
.atlas-map .land:hover,.atlas-map .is-selected { fill:#bf9b51; stroke:#354a40; stroke-width:1; }
.atlas-map .marker { stroke:#6a634a; }
.map-key { display:flex; flex-wrap:wrap; gap:1rem; }
.map-key span::before { content:""; display:inline-block; width:1em; height:.7em; margin-inline-end:.4em; background:#dce1d4; border:1px solid #8a876a; }
.map-key .key-covered::before { background:#638474; }
.map-credit,#atlas-map-status { font-size:.9rem; margin:.2rem 0; }
#atlas-place-results { margin-top: 1.5rem; }
.map-article-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1rem;
  list-style: none;
  padding: 0;
}
.map-article-grid a {
  display: block;
  min-height: 44px;
  overflow-wrap: anywhere;
  background: #f8f4e9;
  border: 1px solid #a9a48b;
}
.map-article-grid a:focus-visible { outline: 3px solid #354a40; outline-offset: 3px; }
.map-article-grid img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.map-article-grid span { display: block; padding: .75rem; }
