/* Stolpmann Consent – Banner, Dialog, Platzhalter. Farben aus dem Theme (Navy/Silber). */
:root{--sc-navy:#26394E;--sc-navy2:#37506E;--sc-ink:#242B34;--sc-soft:#5B6675;--sc-line:#D9DFE7;--sc-mist:#EEF1F6;--sc-brand:#4A6B92;--sc-brand-dark:#37547A;--sc-font:"Source Sans 3","Segoe UI",Arial,sans-serif;--sc-display:"Spectral",Georgia,serif}
.sc-banner[hidden],.sc-modal[hidden]{display:none!important}
.sc-kick{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin:0 0 8px;color:var(--sc-brand)}
.sc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border-radius:10px;border:1px solid var(--sc-line);background:#fff;color:var(--sc-ink);font:600 15px/1.2 var(--sc-font);cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.sc-btn:hover{background:var(--sc-mist)}
.sc-btn-primary{background:linear-gradient(145deg,#F4F7FA 0%,#CDD5DF 48%,#AAB4C2 100%);border-color:transparent;color:var(--sc-brand-dark);box-shadow:0 6px 18px rgba(20,30,45,.18)}
.sc-btn-primary:hover{background:linear-gradient(145deg,#fff 0%,#DCE3EB 48%,#B9C2CF 100%)}
.sc-btn-link{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.sc-btn-link:hover{background:transparent;color:var(--sc-brand)}
:focus-visible.sc-btn,.sc-btn:focus-visible{outline:2px solid var(--sc-brand);outline-offset:3px}

/* Banner (unten, nicht blockierend) */
.sc-banner{position:fixed;left:0;right:0;bottom:0;z-index:9000;padding:16px;font-family:var(--sc-font);pointer-events:none}
.sc-banner-in{pointer-events:auto;max-width:1120px;margin:0 auto;display:flex;gap:28px;align-items:center;justify-content:space-between;padding:26px 30px;border-radius:18px;background:linear-gradient(160deg,var(--sc-navy) 0%,var(--sc-navy2) 100%);color:#fff;box-shadow:0 24px 60px rgba(20,30,45,.35);border:1px solid rgba(255,255,255,.12)}
.sc-banner .sc-kick{color:#C4CCD6}
.sc-banner h2{font:500 22px/1.2 var(--sc-display);margin:0 0 8px;color:#fff}
.sc-banner p{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.82);max-width:66ch}
.sc-banner a{color:#fff}
.sc-banner-actions{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;min-width:200px}
.sc-banner .sc-btn{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff}
.sc-banner .sc-btn:hover{background:rgba(255,255,255,.14)}
.sc-banner .sc-btn-primary{background:linear-gradient(145deg,#F4F7FA 0%,#CDD5DF 48%,#AAB4C2 100%);color:var(--sc-brand-dark);border-color:transparent}
.sc-banner .sc-btn-link{background:transparent;border-color:transparent;color:rgba(255,255,255,.85)}
.sc-banner-open .m-bar{display:none!important}
@media (max-width:760px){.sc-banner{padding:8px}.sc-banner-in{flex-direction:column;align-items:stretch;gap:16px;padding:20px 20px}.sc-banner h2{font-size:19px}.sc-banner p{font-size:14px}.sc-banner-actions{min-width:0}}

/* Einstellungs-Dialog */
.sc-modal{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--sc-font)}
.sc-modal-backdrop{position:absolute;inset:0;background:rgba(20,30,45,.55);backdrop-filter:blur(3px)}
.sc-modal-card{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;color:var(--sc-ink);border-radius:20px;padding:34px 36px 30px;box-shadow:0 30px 80px rgba(20,30,45,.4)}
.sc-modal-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:none;background:transparent;font-size:28px;line-height:1;color:var(--sc-soft);cursor:pointer;border-radius:50%}
.sc-modal-close:hover{background:var(--sc-mist);color:var(--sc-ink)}
.sc-modal h2{font:500 28px/1.15 var(--sc-display);margin:0 0 10px;letter-spacing:-.01em}
.sc-modal-lede{font-size:15px;line-height:1.55;color:var(--sc-soft);margin:0 0 22px}
.sc-cats{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.sc-cat{border:1px solid var(--sc-line);border-radius:14px;padding:16px 18px;background:#fafbfc}
.sc-cat-head{display:flex;align-items:center;gap:14px;cursor:pointer;font-weight:600;font-size:16px}
.sc-cat-label small{font-weight:500;color:var(--sc-soft)}
.sc-cat-desc{margin:8px 0 0 52px;font-size:14px;line-height:1.5;color:var(--sc-soft)}
.sc-switch{position:relative;display:inline-block;width:38px;height:22px;flex:0 0 auto}
.sc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.sc-switch-ui{position:absolute;inset:0;border-radius:22px;background:#C4CCD6;transition:background .2s}
.sc-switch-ui::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.sc-switch input:checked + .sc-switch-ui{background:var(--sc-brand)}
.sc-switch input:checked + .sc-switch-ui::after{transform:translateX(16px)}
.sc-switch input:disabled + .sc-switch-ui{opacity:.6}
.sc-switch input:focus-visible + .sc-switch-ui{outline:2px solid var(--sc-brand);outline-offset:2px}
.sc-modal-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sc-modal-open{overflow:hidden}
@media (max-width:560px){.sc-modal-card{padding:26px 20px 22px}.sc-modal h2{font-size:23px}.sc-cat-desc{margin-left:0}}

/* Platzhalter für blockierte Inhalte (Karte etc.) */
.sc-placeholder{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:28px;background:linear-gradient(160deg,rgba(38,57,78,.96),rgba(55,80,110,.94));color:#fff;font-family:var(--sc-font)}
.sc-ph-title{font:500 22px/1.2 var(--sc-display);margin:0 0 4px}
.sc-ph-text{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.8);max-width:46ch;margin:0 0 12px}
.sc-placeholder .sc-btn-link{color:rgba(255,255,255,.85)}
.sc-placeholder.sc-inline{position:static;border-radius:14px;padding:22px}
