.geographic-map { height: 430px; width: 100%; background: #e8eadf; z-index: 0; border: 1px solid var(--line); font-family: inherit; }
.geographic-map .leaflet-tile { filter: saturate(.65); }
.geographic-map .leaflet-control-zoom { border: 1px solid #adb6a5; box-shadow: none; }
.geographic-map .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; color: var(--ink); background: var(--paper); }
.geographic-map .leaflet-control-attribution { font-size: 9px; background: rgba(250,249,246,.85); }
.map-dot { display: block; width: 10px; height: 10px; margin: 4px; border: 2px solid white; border-radius: 50%; background: #758570; box-shadow: 0 0 0 1px #758570; }
.map-dot.is-selected { background: #9b4c2c; box-shadow: 0 0 0 1px #9b4c2c; }
.geographic-map .place-label { border: 0; border-radius: 0; padding: 2px 4px; box-shadow: none; background: rgba(250,249,246,.92); color: #253b30; font-size: 11px; font-weight: 600; line-height: 1.4; }
.geographic-map .leaflet-tooltip:before { display: none; }
.map-tools { display: flex; gap: 12px; align-items: start; justify-content: space-between; font-size: 12px; margin-top: 7px; color: var(--muted); }
.map-tools p { padding-top: 10px; min-width: 0; }
.map-tools button { flex: none; background: transparent; border: 0; padding: 9px 0 9px 8px; min-height: 44px; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:640px) { .geographic-map { height: 340px; } }
