/* Scout Post map */
.sp-map { margin: 0; }
.sp-map__canvas { position: relative; height: 440px; width: 100%; border-radius: 12px; overflow: hidden; border: 1px solid #DDE3EA; background: #EEF3F8; z-index: 0; }
@media (max-width: 781px) { .sp-map__canvas { height: 320px; } }
.sp-map__fallback { margin: 0; padding: 1.5rem; color: #4A5566; }
.sp-map figcaption { font-size: .9rem; color: #4A5566; margin-top: .6rem; }
.sp-map__legend { list-style: none; margin: .7rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem .5rem; align-items: center; }
.sp-map__legend li { margin: 0; }
.sp-map__area { display: inline-flex; align-items: center; gap: .45rem; font-size: .85rem; font-weight: 700; color: #04213F; margin-right: .5rem !important; }
.sp-map__key { display: inline-block; width: 1.1rem; height: .8rem; border: 2px solid #006EE0; background: rgba(0,110,224,.15); border-radius: 3px; flex: none; }
.sp-map__toggle { font: 700 .82rem/1.2 "Nunito Sans", system-ui, sans-serif; display: inline-flex; align-items: center; gap: .4rem; border: 2px solid var(--c); background: #fff; color: #04213F; border-radius: 999px; padding: .2rem .7rem; cursor: pointer; }
.sp-map__toggle i { width: .7rem; height: .7rem; border-radius: 50%; background: var(--c); flex: none; }
.sp-map__toggle[aria-pressed="true"] { background: var(--c); color: #fff; }
.sp-map__toggle[aria-pressed="true"] i { background: #fff; }
.sp-map__toggle[aria-pressed="false"] { opacity: .75; }
.sp-map__toggle:focus-visible { outline: 3px solid #006EE0; outline-offset: 2px; }
.sp-pin { background: none; border: 0; }
.sp-pin span { display: block; width: 22px; height: 22px; border-radius: 50% 50% 50% 0; background: var(--pin, #006EE0); border: 3px solid #fff; box-shadow: 0 0 0 1.5px rgba(4,33,63,.6), 0 2px 6px rgba(0,0,0,.35); box-sizing: border-box; transform: rotate(-45deg); position: relative; }
.sp-pin span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #fff; }
.leaflet-marker-icon.sp-pin:focus-visible span { outline: 3px solid #006EE0; outline-offset: 2px; }
.sp-map .leaflet-popup-content { font: 600 .95rem/1.4 "Nunito Sans", system-ui, sans-serif; color: #1B2430; margin: .8rem 1rem; }
.sp-map .leaflet-popup-content strong { color: #04213F; font-weight: 800; }
.sp-map .leaflet-popup-content a { color: #006EE0; font-weight: 800; }
.sp-pop__tags { display: flex; gap: .3rem; margin: .4rem 0; }
.sp-map__hint { position: absolute; z-index: 500; left: 50%; bottom: 12px; transform: translateX(-50%); background: rgba(4,33,63,.88); color: #fff; font: 700 .85rem/1.2 "Nunito Sans", system-ui, sans-serif; padding: .45rem .8rem; border-radius: 999px; pointer-events: none; white-space: nowrap; }

.sp-pop__area { display: flex; align-items: center; gap: .4rem; color: #4A5566; font-size: .85rem; }
.sp-pop__area i { width: .65rem; height: .65rem; border-radius: 50%; flex: none; }
