.kk-map-shell{--kk-petrol:var(--kk-color-primary);--kk-greige:var(--kk-color-surface-alt);--kk-warm:var(--kk-color-surface);--kk-senf:var(--kk-color-accent);--kk-border:var(--kk-color-border);--kk-text:var(--kk-color-text);background:var(--kk-warm);border:1px solid var(--kk-border);border-radius:20px;overflow:hidden;box-shadow:0 12px 30px var(--kk-color-shadow-soft)}.kk-map-toolbar{padding:14px;background:var(--kk-color-surface);border-bottom:1px solid var(--kk-border);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kk-map-toolbar .kk-filter{appearance:none;border:1px solid var(--kk-color-border-strong);background:var(--kk-color-surface);color:var(--kk-petrol);border-radius:999px;padding:9px 13px;font:600 14px/1.1 Inter,system-ui,sans-serif;cursor:pointer}.kk-map-toolbar .kk-filter.is-active{background:var(--kk-petrol);color:var(--kk-color-on-primary);border-color:var(--kk-petrol)}.kk-map-toolbar .kk-map-action{margin-left:auto;border:0;background:var(--kk-greige);color:var(--kk-petrol);border-radius:999px;padding:9px 13px;font:600 14px/1.1 Inter,system-ui,sans-serif;cursor:pointer}.kk-map-canvas{height:clamp(540px,72vh,780px);background:var(--kk-greige)}.kk-pin{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:3px solid var(--kk-color-on-primary);box-shadow:0 5px 14px var(--kk-color-shadow);color:var(--kk-color-on-primary)}.kk-pin svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.kk-pin--home{width:46px;height:46px;background:var(--kk-color-primary)}.kk-pin--food{background:var(--kk-color-primary)}.kk-pin--practical{background:var(--kk-color-primary)}.kk-pin--experience{background:var(--kk-color-primary)}.kk-pin--trip{background:var(--kk-color-primary)}.leaflet-div-icon{background:transparent;border:0}.kk-map-shell .leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 12px 30px var(--kk-color-shadow-soft);padding:0}.kk-map-shell .leaflet-popup-content{margin:0!important;width:300px!important;max-width:calc(100vw - 70px)}.kk-popup{padding:18px;font:400 14px/1.45 Inter,system-ui,sans-serif;color:var(--kk-text)}.kk-popup .kk-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--kk-color-text-muted);margin-bottom:4px}.kk-popup h3{font:700 19px/1.2 Urbanist,Inter,system-ui,sans-serif;color:var(--kk-petrol);margin:0 0 8px}.kk-popup p{margin:0 0 10px}.kk-popup .kk-address{font-size:13px;color:var(--kk-color-text-muted)}.kk-popup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.kk-popup-actions a{text-decoration:none!important;border-radius:999px;padding:9px 12px;font-weight:700;font-size:13px}.kk-popup-actions a.kk-primary{background:var(--kk-petrol);color:var(--kk-color-on-primary)}.kk-popup-actions a.kk-secondary{border:1px solid var(--kk-color-border-strong);color:var(--kk-petrol);background:var(--kk-color-surface)}.kk-popup-actions a.kk-tertiary{color:var(--kk-petrol);background:var(--kk-greige)}.kk-map-legend{padding:12px 14px;background:var(--kk-color-surface);border-top:1px solid var(--kk-border);display:flex;gap:14px;flex-wrap:wrap;font:500 12px/1.2 Inter,system-ui,sans-serif;color:var(--kk-color-text-muted)}.kk-map-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px}.kk-map-status{padding:10px 14px;background:var(--kk-color-surface);color:var(--kk-color-text-muted);font:500 12px/1.3 Inter,system-ui,sans-serif}.kk-map-empty{padding:30px;text-align:center;color:var(--kk-color-text-muted);background:var(--kk-color-surface)}
@media(max-width:700px){.kk-map-toolbar{padding:10px;gap:7px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.kk-map-toolbar .kk-filter{white-space:nowrap}.kk-map-toolbar .kk-map-action{margin-left:0;white-space:nowrap}.kk-map-canvas{height:68vh;min-height:520px}.kk-map-shell .leaflet-control-zoom{margin-top:14px!important}.kk-popup-actions a{flex:1;text-align:center}}

.kk-map-loading,.kk-map-error{height:100%;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;color:var(--kk-color-text-muted);background:var(--kk-color-surface-alt);font:500 14px/1.5 Inter,system-ui,sans-serif}.kk-map-error{flex-direction:column;gap:8px}.kk-map-error strong{color:var(--kk-color-primary);font-size:17px}.kk-map-error span{max-width:420px}

/* 0.6.3 — accessible, compact multi-link popups including Dünenpark */
.kk-map-shell .leaflet-popup-content{width:320px!important;max-width:calc(100vw - 70px)!important}
.kk-map-shell .kk-popup{box-sizing:border-box;max-height:min(66vh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:17px 18px}
.kk-popup-offers{border-top:1px solid var(--kk-color-border);padding-top:10px;margin:6px 0 12px}
.kk-popup-offers>strong{display:block;font:700 13px/1.3 Inter,system-ui,sans-serif;color:var(--kk-color-text);margin:0 0 6px}
.kk-popup-offers ul{padding:0;margin:0;list-style:none;display:grid;gap:2px}
.kk-popup-offers li{margin:0;padding:0;border-bottom:1px solid var(--kk-color-border)}
.kk-popup-offers li:last-child{border-bottom:0}
.kk-popup-offers a{display:block;color:var(--kk-color-primary);font-weight:600;font-size:13px;line-height:1.4;text-decoration:none;padding:8px 0;overflow-wrap:anywhere}
.kk-popup-offers a:focus-visible{outline:2px solid var(--kk-color-focus);outline-offset:2px;border-radius:3px}
@media(max-width:700px){.kk-map-shell .leaflet-popup-content{width:300px!important;max-width:calc(100vw - 66px)!important}.kk-map-shell .kk-popup{max-height:min(62vh,480px);padding:15px}.kk-map-shell .kk-popup-actions{gap:7px}.kk-map-shell .kk-popup-actions a{min-height:42px;display:flex;align-items:center;justify-content:center}.kk-popup-offers a{min-height:38px}}

/* 0.6.4: Same existing category palette, individual contextual icons. */
.kk-map-shell .kk-pin--play svg,.kk-map-shell .kk-pin--bowling svg,.kk-map-shell .kk-pin--beach_chair svg{width:22px;height:22px}
.kk-map-shell .kk-pin--beach_chair{box-shadow:0 0 0 3px var(--kk-color-surface),0 5px 14px var(--kk-color-shadow)}
