/* SCB Abteilungskarten – Frontend
 * Alle Regeln sind unter .scbak gekapselt; Farben/Buttons mit !important gegen Theme-/Elementor-Kit-Überschreibungen abgesichert. */
.scbak{
	--scbak-green:#0E7A3A; --scbak-green-d:#0A5A29; --scbak-red:#E63946; --scbak-red-d:#C62F3B;
	--scbak-paper:#F6F5F0; --scbak-ink:#0B0F0C; --scbak-mut:#5B635D; --scbak-line:#E3E1D8; --scbak-white:#FFFFFF;
	--scbak-radius:16px; --scbak-gap:24px;
	box-sizing:border-box; width:100%; margin:0; padding:0; color:var(--scbak-ink);
	font-family:inherit; font-size:16px; line-height:1.5;
}
.scbak *,.scbak *::before,.scbak *::after{box-sizing:border-box}
.scbak .scbak-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Kopf */
.scbak .scbak__head{margin:0 0 20px}
.scbak .scbak__eyebrow{margin:0 0 6px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--scbak-green)!important}
.scbak .scbak__title{margin:0;font-family:"Oswald","Anton","Arial Narrow",sans-serif;font-weight:700;font-size:clamp(28px,3.2vw,40px);line-height:1.1;letter-spacing:.02em;text-transform:uppercase;color:var(--scbak-ink)!important}
.scbak .scbak__intro{margin:10px 0 0;max-width:68ch;color:var(--scbak-mut)}

/* Raster: Karte links, Karten rechts */
.scbak .scbak__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--scbak-gap);align-items:start}
.scbak.scbak--nur_liste .scbak__grid,.scbak.scbak--ohne-karte .scbak__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.scbak.scbak--nur_liste .scbak__list,.scbak.scbak--ohne-karte .scbak__list{display:contents}
.scbak.scbak--nur_karte .scbak__grid{grid-template-columns:1fr}

/* Karte */
.scbak .scbak__map{position:sticky;top:var(--scbak-sticky-top,110px);height:var(--scbak-map-h,420px);border-radius:var(--scbak-radius);overflow:hidden;background:#E9EEE7;border:1px solid var(--scbak-line)}
.scbak .scbak__canvas{position:absolute;inset:0;z-index:1}
.scbak .scbak__consent{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px;
	background:linear-gradient(135deg,rgba(14,122,58,.08),rgba(14,122,58,.02)),repeating-linear-gradient(45deg,#EEF2EC 0 12px,#E7ECE4 12px 24px)}
.scbak .scbak__consent-ico{width:40px;height:40px;color:var(--scbak-green)}
.scbak .scbak__consent-h{margin:0;font-weight:700;font-size:18px;color:var(--scbak-ink)}
.scbak .scbak__consent-t{margin:0;max-width:40ch;font-size:13.5px;color:var(--scbak-mut)}
.scbak .scbak__consent-t a{color:var(--scbak-green)!important;text-decoration:underline}
.scbak.is-loaded .scbak__consent{display:none}
.scbak .scbak__consent.is-error .scbak__consent-t{color:var(--scbak-red-d)}
.scbak .scbak__consent.is-pulse .scbak__btn--load{box-shadow:0 0 0 6px rgba(14,122,58,.25)}

/* Buttons */
.scbak .scbak__btn,.scbak a.scbak__btn,.scbak button.scbak__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 24px;border:0!important;border-radius:999px!important;
	font-family:inherit;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:background-color .2s,box-shadow .2s;
	background:var(--scbak-green)!important;color:var(--scbak-white)!important}
.scbak .scbak__btn:hover,.scbak .scbak__btn:focus-visible{background:var(--scbak-green-d)!important;color:var(--scbak-white)!important}
.scbak .scbak__btn--primary,.scbak a.scbak__btn--primary{background:var(--scbak-red)!important}
.scbak .scbak__btn--primary:hover,.scbak .scbak__btn--primary:focus-visible{background:var(--scbak-red-d)!important}
.scbak .scbak__btn:focus-visible,.scbak .scbak-card__act:focus-visible{outline:3px solid var(--scbak-ink);outline-offset:2px}

/* Standortkarten */
.scbak .scbak__list{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:14px}
.scbak .scbak-card{margin:0!important;padding:18px 18px 16px;background:var(--scbak-white);border:1px solid var(--scbak-line);border-radius:var(--scbak-radius);transition:border-color .2s,box-shadow .2s}
.scbak .scbak-card::marker{content:none}
.scbak .scbak-card.is-active{border-color:var(--scbak-green);box-shadow:0 0 0 3px rgba(14,122,58,.15)}
.scbak .scbak-card__top{display:flex;align-items:flex-start;gap:12px;margin:0 0 10px}
.scbak .scbak-card__nr{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--scbak-green);color:#fff;font-weight:700;font-size:14px;line-height:1}
.scbak .scbak-card__titles{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding-top:4px}
.scbak .scbak-card__name{margin:0!important;font-family:inherit!important;font-size:17px!important;font-weight:700!important;line-height:1.3!important;text-transform:none!important;letter-spacing:0!important;color:var(--scbak-ink)!important;overflow-wrap:anywhere}
.scbak .scbak-card__chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--scbak-paper);border:1px solid var(--scbak-line);font-size:12px;font-weight:600;color:var(--scbak-green-d)}
.scbak .scbak-card__rows{margin:0;padding:0}
.scbak .scbak-card__row{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;margin:0 0 8px}
.scbak .scbak-card__row dt{margin:0;padding-top:2px;color:var(--scbak-green)}
.scbak .scbak-card__row dt svg{display:block;width:18px;height:18px}
.scbak .scbak-card__row dd{margin:0;font-size:15px;color:var(--scbak-ink);overflow-wrap:anywhere}
.scbak .scbak-card__row--hinweis dd{color:var(--scbak-green-d);font-weight:600}
.scbak .scbak-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--scbak-line)}
.scbak .scbak-card__act,.scbak a.scbak-card__act,.scbak button.scbak-card__act{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:999px!important;border:1.5px solid var(--scbak-green)!important;
	background:transparent!important;color:var(--scbak-green-d)!important;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none!important;cursor:pointer;box-shadow:none!important}
.scbak .scbak-card__act:hover{background:var(--scbak-green)!important;color:#fff!important}

.scbak .scbak__cta{margin:24px 0 0;display:flex;justify-content:flex-start}

/* Kartenmarker */
.scbak .scbak-pin{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--scbak-green);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.scbak .scbak-pin span{transform:rotate(45deg);color:#fff;font:700 13px/1 system-ui,sans-serif}
.scbak .scbak-pin.is-active{background:var(--scbak-red)}
/* Info-Blase (seit 1.0.1 mit fester Mindestbreite und Platz für das Schließ-Kreuz;
   !important schützt vor seitenweiten Leaflet-Regeln anderer Plugins/Themes) */
.scbak .leaflet-popup{margin-bottom:24px}
.scbak .leaflet-popup-content-wrapper{padding:0!important;border-radius:12px!important;background:var(--scbak-white)!important;color:var(--scbak-ink)!important;box-shadow:0 6px 22px rgba(0,0,0,.22)!important;overflow:visible}
.scbak .leaflet-popup-tip{background:var(--scbak-white)!important;box-shadow:0 3px 14px rgba(0,0,0,.2)!important}
.scbak .leaflet-popup-content{box-sizing:border-box!important;min-width:220px!important;max-width:300px!important;width:auto!important;margin:14px 38px 14px 16px!important;
	font-family:inherit!important;font-size:14px!important;line-height:1.45!important;color:var(--scbak-ink)!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
.scbak .leaflet-popup-content strong{display:block;margin:0 0 4px;font-size:15px;font-weight:700;line-height:1.3;color:var(--scbak-ink)!important}
.scbak .leaflet-popup-content a{display:inline-block;margin-top:8px;color:var(--scbak-green-d)!important;font-weight:700;text-decoration:underline!important;text-underline-offset:2px}
.scbak .leaflet-popup-content a:hover{color:var(--scbak-green)!important}
.scbak .leaflet-container{font-family:inherit}
/* Ruhigere Kartenfarben passend zum Vereinsdesign */
.scbak .leaflet-tile-pane{filter:saturate(.45) contrast(.96) brightness(1.03)}
.scbak .leaflet-container a.leaflet-popup-close-button{top:6px!important;right:6px!important;width:28px!important;height:28px!important;border-radius:50%!important;font:18px/28px Arial,sans-serif!important;color:var(--scbak-mut)!important;background:transparent!important;padding:0!important}
.scbak .leaflet-container a.leaflet-popup-close-button:hover{background:var(--scbak-paper)!important;color:var(--scbak-ink)!important}
.scbak .leaflet-control-attribution{font-size:10px}

/* Redaktionshinweis */
.scbak-notice{margin:12px 0;padding:12px 16px;border:1.5px dashed #0E7A3A;border-radius:12px;background:#F6F5F0;color:#0B0F0C;font-size:14px;line-height:1.5}
.scbak-notice a{color:#0A5A29!important;font-weight:700;text-decoration:underline!important}
.scbak-notice span{color:#5B635D}

/* Tablet */
@media (max-width:1024px){
	.scbak{--scbak-gap:18px}
	.scbak .scbak__grid{grid-template-columns:1fr}
	.scbak .scbak__map{position:relative;top:auto;height:min(var(--scbak-map-h,420px),56vh)}
	.scbak .scbak__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
	.scbak .scbak__grid--eins .scbak__list{grid-template-columns:1fr}
}
/* Smartphone */
@media (max-width:767px){
	.scbak .scbak__list{grid-template-columns:1fr}
	.scbak.scbak--nur_liste .scbak__grid,.scbak.scbak--ohne-karte .scbak__grid{grid-template-columns:1fr}
	.scbak .scbak__map{height:320px;border-radius:12px}
	.scbak .leaflet-popup-content{min-width:200px!important;max-width:min(280px,calc(100vw - 72px))!important;margin:12px 36px 12px 14px!important;font-size:13.5px!important}
	.scbak .scbak-card{padding:16px 14px 14px;border-radius:12px}
	.scbak .scbak__cta .scbak__btn{width:100%}
	.scbak .scbak__consent{padding:16px}
}
/* Querformat Smartphone */
@media (max-height:500px) and (orientation:landscape){
	.scbak .scbak__map{height:260px}
}
@media (prefers-reduced-motion:reduce){
	.scbak *{transition:none!important}
}
