.public-leaflet-map { isolation: isolate; font-family: inherit; background: #e5e7e7; }
.public-leaflet-map.is-dark { background: #17201c; }
.public-leaflet-map.is-dark .leaflet-tile-pane { filter: brightness(.64) saturate(.6); }
.public-leaflet-map .leaflet-control-attribution { color: #222; background: rgba(255,255,255,.94); font-size: 11px; }
.public-leaflet-map .leaflet-control-attribution a { color: #174674; text-decoration: underline; }
.public-leaflet-map .leaflet-control { z-index: 800; }
.public-leaflet-map .leaflet-popup-content-wrapper { background: var(--paper, #fff); color: var(--ink, #222); border-radius: 14px; }
.public-leaflet-map .leaflet-popup-tip { background: var(--paper, #fff); }
.public-leaflet-map .leaflet-popup-content { margin: 12px; line-height: 1.4; max-width: calc(100vw - 90px); }
.public-leaflet-map .leaflet-popup-content p { margin: 0; }
.public-leaflet-map .leaflet-popup-close-button { z-index: 2; background: #fff; color: #222; border-radius: 50%; right: 6px; top: 6px; }
.public-leaflet-map .leaflet-popup-content img { display: block; max-width: 100%; }
.public-map-pin, .public-map-cluster { background: var(--brand, #c7972c); color: #fff; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 2px 5px #0003; }
.public-map-pin span { display: block; width: 6px; height: 6px; background: #fff; border-radius: 50%; margin: 7px; }
.public-map-cluster { display: flex !important; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.public-leaflet-map .leaflet-interactive:focus-visible,
.public-leaflet-map button:focus-visible { outline: 3px solid #174674; outline-offset: 3px; }
.public-map-fullscreen-control button { display: block; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 2px; background: #fff; color: #222; font-size: 24px; cursor: pointer; }
.public-leaflet-map.public-map-fullscreen { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100dvh !important; max-height: none !important; z-index: 10000 !important; border-radius: 0 !important; }
.public-leaflet-map:fullscreen { width: 100vw; height: 100vh; border-radius: 0; }
.public-map-tile-warning { position: absolute; z-index: 850; left: 50px; right: 50px; top: 8px; padding: 8px 12px; border-radius: 6px; background: #fff; color: #222; font-size: .85rem; pointer-events: none; }
.public-map-tile-warning[hidden] { display: none; }
.public-map-error { padding: 24px; color: var(--ink, #222); }

