.southdoc-map-wrap { border-radius: 20px; overflow: hidden; border: 1px solid var(--wp--preset--color--outline, #CFDBD7); background: #e9eef5; }
.southdoc-map { height: 560px; width: 100%; font-family: inherit; }
@media (max-width: 781px) { .southdoc-map { height: 440px; } }
@media (max-width: 480px) { .southdoc-map { height: 380px; } }
.southdoc-map .leaflet-container { font-family: inherit; font-size: 13px; }
.southdoc-map .leaflet-tile-pane { filter: saturate(0.75); }
.sd-pin { background: none; border: 0; }
.sd-pin svg { display: block; width: 32px; height: 42px; filter: drop-shadow(0 2px 3px rgba(16, 40, 43, 0.35)); transition: transform .15s ease; transform-origin: 50% 100%; }
.sd-pin:hover svg, .sd-pin:focus-visible svg { transform: scale(1.12); }
.sd-pin:focus-visible { outline: 3px solid var(--wp--preset--color--heading, #10282B); outline-offset: 2px; border-radius: 6px; }
.southdoc-map .sd-label { background: rgba(255, 255, 255, 0.92); border: 0; border-radius: 6px; box-shadow: 0 1px 3px rgba(16, 40, 43, 0.25); color: var(--wp--preset--color--heading, #10282B); font-weight: 700; font-size: 12px; line-height: 1.2; padding: 3px 7px; white-space: nowrap; pointer-events: none; }
.southdoc-map .sd-label::before { display: none; }
.southdoc-map .leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 6px 20px rgba(16, 40, 43, 0.22); }
.southdoc-map .leaflet-popup-content { margin: 14px 16px; font-size: 14px; line-height: 1.45; color: var(--wp--preset--color--body, #344B4E); }
.southdoc-map .leaflet-popup-content strong { display: block; font-size: 15px; color: var(--wp--preset--color--heading, #10282B); margin-bottom: 2px; }
.southdoc-map .leaflet-popup-content a { color: var(--wp--preset--color--primary, #1C4285); font-weight: 700; display: inline-block; margin-top: 8px; }
.southdoc-map .leaflet-control-zoom a { color: var(--wp--preset--color--primary, #1C4285); font-weight: 700; width: 36px; height: 36px; line-height: 36px; }
.southdoc-map .leaflet-bar { border: 0; box-shadow: 0 2px 8px rgba(16, 40, 43, 0.2); border-radius: 10px; overflow: hidden; }
.southdoc-map .leaflet-control-attribution { font-size: 10px; background: rgba(255, 255, 255, 0.8); }
.southdoc-map .leaflet-control-attribution a { color: var(--wp--preset--color--primary, #1C4285); }
.southdoc-map.sd-hide-labels .sd-label { display: none; }
