/* Zustimmungsbanner (schwarzwaldit-besucher). Farben aus dem Theme (style.css :root), mit Ersatzwerten. */
.swt-z{position:fixed;left:0;right:0;bottom:0;z-index:100;padding:0 16px 16px;pointer-events:none;font-family:var(--ff,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}
.swt-z[hidden],.swt-z [hidden]{display:none!important}
.swt-z:focus{outline:none}
.swt-z-karte{pointer-events:auto;box-sizing:border-box;max-width:1036px;margin:0 auto;display:flex;gap:26px;align-items:flex-start;
  background:var(--dark,#2a2d31);color:#e7e9ec;border:1px solid #44484e;border-radius:14px;padding:22px 28px;
  box-shadow:0 18px 50px rgba(0,0,0,.35);max-height:calc(100vh - 32px);overflow:auto;animation:swt-z-rein .25s ease-out}
.swt-z:focus-visible .swt-z-karte{box-shadow:0 0 0 3px #dff0ff,0 18px 50px rgba(0,0,0,.35)}
.swt-z-wappen{height:128px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}
.swt-z-inhalt{flex:1;min-width:0}
.swt-z-titel{font-size:20px;line-height:1.25;font-weight:800;letter-spacing:-.01em;color:#fff;margin:2px 0 8px}
.swt-z p{font-size:15px;line-height:1.55;margin:0 0 8px;color:#e7e9ec}
.swt-z .swt-z-klein{font-size:13.5px;color:#c9cdd2}
.swt-z a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.swt-z a:hover{color:#dff0ff}
.swt-z-einstellungen{margin:12px 0 4px;display:grid;gap:10px}
.swt-z-kat{background:rgba(255,255,255,.05);border:1px solid #44484e;border-radius:10px;padding:12px 14px}
.swt-z-kat p{font-size:13.5px;color:#c9cdd2;margin:6px 0 0}
.swt-z-schalter{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:700;color:#fff;font-size:15px}
.swt-z-schalter input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:44px;height:26px;margin:0;border-radius:13px;
  background:#5d6167;border:1px solid #8a8f96;position:relative;cursor:pointer;transition:background .15s}
.swt-z-schalter input::before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.swt-z-schalter input:checked{background:#2f7d4f;border-color:#9fd3b2}
.swt-z-schalter input:checked::before{transform:translateX(18px)}
.swt-z-schalter input:disabled{cursor:not-allowed;opacity:.75}
.swt-z-knoepfe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
/* Alle Knoepfe gleich gross und gleich auffaellig: keine Vorauswahl ueber die Gestaltung. */
.swt-z-knopf{appearance:none;font:inherit;font-size:15px;font-weight:650;min-height:44px;padding:11px 14px;border-radius:8px;cursor:pointer;
  background:var(--ak,#53565a);color:#fff;border:1px solid #8a8f96;width:100%}
.swt-z-knopf:hover{background:var(--ak-l,#6f7379)}
.swt-z-knopf:focus-visible,.swt-z-schalter input:focus-visible,.swt-z a:focus-visible{outline:3px solid #dff0ff;outline-offset:2px}
@keyframes swt-z-rein{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:760px){
  .swt-z{padding:0 8px 8px}
  .swt-z-karte{flex-direction:column;gap:6px;padding:14px 14px 12px;max-height:calc(100vh - 16px)}
  .swt-z-wappen{height:52px}
  .swt-z-titel{font-size:17px;margin-bottom:6px}
  .swt-z p{font-size:14px;line-height:1.45;margin-bottom:6px}
  .swt-z .swt-z-klein{font-size:13px}
  .swt-z-knoepfe{gap:6px;margin-top:10px}
  .swt-z-knopf{font-size:14px;padding:8px 6px;line-height:1.2}
}
@media (max-width:340px){.swt-z-knoepfe{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .swt-z-karte{animation:none}
  .swt-z-schalter input,.swt-z-schalter input::before{transition:none}
}
