/* Standortkarte Strandkörbe Norddorf – Shortcode [skam_standortkarte] */
.skam-sk{
  --skam-sk-rot:#E30513; --skam-sk-rot-dunkel:#B8030E; --skam-sk-schwarz:#12100F;
  --skam-sk-blau:#1560B0; --skam-sk-gruen:#276445; --skam-sk-treibholz:#5F5749;
  --skam-sk-rand:#82857E; --skam-sk-flaeche:#FFFFFF; --skam-sk-meer:#BFD8EE;
  color:var(--skam-sk-schwarz);
}
.skam-sk *,.skam-sk *::before,.skam-sk *::after{box-sizing:border-box}
.skam-sk__layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.5rem;align-items:start}
@media (max-width:860px){.skam-sk__layout{grid-template-columns:1fr}}

.skam-sk__karte-box{position:relative;border:1px solid var(--skam-sk-rand);border-radius:14px;overflow:hidden;background:var(--skam-sk-meer);isolation:isolate;z-index:0}
.skam-sk__karte{height:620px;background:var(--skam-sk-meer)}
@media (max-width:860px){.skam-sk__karte{height:480px}}
.skam-sk__noscript{margin:0;padding:1.5rem}
.skam-sk__nord{position:absolute;left:12px;top:12px;z-index:800;background:var(--skam-sk-flaeche);border:1px solid var(--skam-sk-rand);border-radius:8px;padding:2px 8px;font:700 .85rem/1.6 Oswald,"Arial Narrow",Arial,sans-serif}

.skam-sk__legende{background:var(--skam-sk-flaeche);border:1px solid var(--skam-sk-rand);border-radius:14px;padding:1rem 1.2rem}
.skam-sk__legende p{margin:0}
.skam-sk__legende-titel{font-weight:600;margin-bottom:.5rem!important}
.skam-sk__leg{display:flex;align-items:center;gap:.6rem;margin:.45rem 0!important}
.skam-sk__sw{width:34px;height:18px;border-radius:4px;flex:none;border:2px solid}
.skam-sk__sw--wasser{background:rgba(21,96,176,.45);border-color:var(--skam-sk-blau)}
.skam-sk__sw--duene{background:rgba(39,100,69,.4);border-color:var(--skam-sk-gruen);border-style:dashed}
.skam-sk__hilfe{font-size:.9rem;color:var(--skam-sk-treibholz);margin-top:.8rem!important}
.skam-sk a{color:var(--skam-sk-blau);text-underline-offset:3px}
.skam-sk a:focus-visible,.skam-sk button:focus-visible{outline:3px solid var(--skam-sk-blau);outline-offset:2px}

/* Zonen und Beschriftungen */
.skam-sk .skam-sk-zone{cursor:pointer;transition:fill-opacity .15s}
.skam-sk .skam-sk-zone:hover{fill-opacity:.7}
.skam-sk .skam-sk-zone:focus{outline:none}
.skam-sk .skam-sk-zone:focus-visible,.skam-sk .skam-sk-zone.is-aktiv{stroke:var(--skam-sk-schwarz);stroke-width:4;stroke-dasharray:none}
.skam-sk .skam-sk-anker{overflow:visible;pointer-events:none}
.skam-sk .skam-sk-label,.skam-sk .skam-sk-klein,.skam-sk .skam-sk-poi{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;color:#12100F}
.skam-sk .skam-sk-label{font:600 13px/1.2 Inter,system-ui,sans-serif;background:rgba(255,255,255,.93);border:1px solid #82857E;border-radius:6px;padding:4px 8px;transform:translate(-50%,-50%)}
.skam-sk .skam-sk-klein{font:600 11px/1 Inter,system-ui,sans-serif;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;transform:translate(-50%,-50%)}
.skam-sk .skam-sk-poi{display:flex;transform:translate(-11px,-50%);align-items:center;gap:5px;font:600 12px Inter,system-ui,sans-serif;text-shadow:0 0 3px #fff,0 0 3px #fff}
.skam-sk__poi-i,.skam-sk .skam-sk-poi .i{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#12100F;color:#fff;font-size:12px;flex:none;text-shadow:none}
@media (max-width:600px){.skam-sk .skam-sk-klein{display:none}}

/* Leaflet-Anpassungen */
.skam-sk .leaflet-container{font-family:Inter,system-ui,sans-serif;background:var(--skam-sk-meer)}
.skam-sk .leaflet-control-zoom a,.skam-sk .skam-sk-reset{width:40px;height:40px;line-height:40px;font-size:20px}
.skam-sk .skam-sk-reset{display:block;background:#fff;border:0;border-radius:4px;cursor:pointer;color:#12100F;padding:0}
.skam-sk .leaflet-popup-content-wrapper{border-radius:12px}
.skam-sk .leaflet-popup-content{margin:14px 16px;font:400 .95rem/1.5 Inter,system-ui,sans-serif;color:#12100F}
.skam-sk .leaflet-popup-content h3{font:700 1.15rem/1.2 Oswald,"Arial Narrow",Arial,sans-serif;margin:0 0 .25rem}
.skam-sk .leaflet-popup-content p{margin:.2rem 0 .8rem;color:#5F5749}
.skam-sk .leaflet-container a.leaflet-popup-close-button{width:36px;height:36px;font-size:24px;line-height:34px;color:#12100F}

/* Button */
.skam-sk .skam-sk__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.2rem;border-radius:999px;background:linear-gradient(var(--skam-sk-rot),var(--skam-sk-rot-dunkel));color:#fff;font-weight:600;text-decoration:none}
.skam-sk .skam-sk__btn:hover{background:var(--skam-sk-rot-dunkel);color:#fff}
.skam-sk .skam-sk__btn:focus-visible{outline-color:var(--skam-sk-schwarz)}

/* Liste */
.skam-sk__h2{margin-top:2.5rem}
.skam-sk__tabelle-box{overflow-x:auto;background:var(--skam-sk-flaeche);border:1px solid var(--skam-sk-rand);border-radius:14px}
.skam-sk__tabelle{border-collapse:collapse;width:100%;min-width:620px;margin:0}
.skam-sk__tabelle caption{text-align:left;padding:1rem 1.2rem 0;color:var(--skam-sk-treibholz);font-size:.9rem}
.skam-sk__tabelle th,.skam-sk__tabelle td{text-align:left;padding:.75rem 1.2rem;border:0;border-top:1px solid var(--skam-sk-rand);vertical-align:top;background:transparent}
.skam-sk__tabelle thead th{border-top:0;font-size:.9rem;color:var(--skam-sk-treibholz);font-weight:600}
.skam-sk__tabelle td a{font-weight:600;display:inline-block}
.skam-sk__info{display:block;font-weight:400;font-size:.9rem;color:var(--skam-sk-treibholz)}
.skam-sk__gruppe th{font:700 1.05rem/1.3 Oswald,"Arial Narrow",Arial,sans-serif;padding-top:1.1rem}
.skam-sk__zeigen{display:block;background:none;border:0;padding:.3rem 0;margin:0;color:var(--skam-sk-blau);font:inherit;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.skam-sk__zeigen[hidden]{display:none}
.skam-sk__anderer{max-width:62ch}
.skam-sk__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.skam-sk *{transition:none!important}}
