/* KI Consent Studio - Cookie-Banner, schlicht Weiß/Grau
 * @copyright Copyright (C) 2026 Bremind.de. Alle Rechte vorbehalten.
 * @license   GNU GPL v2 or later */
.kcs-root{--kcs-accent:#374151;--kcs-text:#1f2937;--kcs-muted:#6b7280;--kcs-line:#e5e7eb;--kcs-soft:#f3f4f6;position:fixed;z-index:2147483000;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--kcs-text);-webkit-font-smoothing:antialiased}
.kcs-root *,.kcs-root *::before,.kcs-root *::after{box-sizing:border-box}
.kcs-panel{background:#fff;border:1px solid var(--kcs-line);border-radius:12px;box-shadow:0 10px 40px rgba(17,24,39,.14);padding:22px 22px 18px;max-height:calc(100vh - 32px);overflow:auto}
.kcs-panel:focus-visible,.kcs-root button:focus-visible,.kcs-root a:focus-visible,.kcs-root input:focus-visible+.kcs-slider{outline:2px solid var(--kcs-accent);outline-offset:2px}

/* Layouts */
.kcs-root.kcs-box,.kcs-root.kcs-center{inset:auto 16px 16px auto}
.kcs-root.kcs-box.kcs-left{inset:auto auto 16px 16px}
.kcs-root.kcs-box .kcs-panel{width:420px;max-width:calc(100vw - 32px)}
.kcs-root.kcs-bar{inset:auto 0 0 0}
.kcs-root.kcs-bar .kcs-panel{border-radius:0;border-width:1px 0 0;max-width:none;padding:18px max(22px,calc((100vw - 1100px)/2))}
.kcs-root.kcs-center{inset:0;display:grid;place-items:center;background:rgba(17,24,39,.35)}
.kcs-root.kcs-center .kcs-panel{width:560px;max-width:calc(100vw - 32px)}

.kcs-title{margin:0 0 8px;font-size:17px;line-height:1.3;font-weight:650;color:var(--kcs-text);font-family:inherit;letter-spacing:0;text-transform:none}
.kcs-text{margin:0 0 10px;color:var(--kcs-text);font-size:14px}
.kcs-links{margin:0 0 14px;display:flex;gap:14px;flex-wrap:wrap;font-size:13px}
.kcs-links a,.kcs-service-link{color:var(--kcs-muted);text-decoration:underline;text-underline-offset:2px}
.kcs-links a:hover,.kcs-service-link:hover{color:var(--kcs-text)}

/* Buttons: Akzeptieren und Ablehnen gleich gewichtet */
.kcs-actions{display:flex;flex-wrap:wrap;gap:8px}
.kcs-btn{flex:1 1 auto;min-height:40px;padding:9px 16px;border-radius:8px;border:1px solid var(--kcs-accent);background:var(--kcs-accent);color:#fff;font:600 14px/1.2 inherit;cursor:pointer;transition:filter .15s}
.kcs-btn:hover{filter:brightness(1.12)}
.kcs-btn.kcs-btn-quiet{background:#fff;color:var(--kcs-text);border-color:#d1d5db}
.kcs-btn.kcs-btn-quiet:hover{background:var(--kcs-soft);filter:none}

/* Einstellungen */
.kcs-settings{display:flex;flex-direction:column;gap:10px}
.kcs-cat{border:1px solid var(--kcs-line);border-radius:10px;padding:12px 14px;background:#fff}
.kcs-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kcs-cat-head strong{font-size:14px;font-weight:600}
.kcs-cat-desc{margin:6px 0 0;color:var(--kcs-muted);font-size:13px}
.kcs-always{font-size:12px;color:var(--kcs-muted)}
.kcs-services{margin-top:8px;font-size:13px}
.kcs-services summary{cursor:pointer;color:var(--kcs-text);font-weight:500}
.kcs-service-name{margin:10px 0 4px;font-weight:600}
.kcs-service{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:0 0 4px;font-size:12.5px}
.kcs-service dt{color:var(--kcs-muted)}
.kcs-service dd{margin:0;word-break:break-word}

/* Schalter */
.kcs-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;margin:0}
.kcs-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.kcs-slider{position:absolute;inset:0;border-radius:22px;background:#d1d5db;transition:background .15s}
.kcs-slider::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.kcs-switch input:checked+.kcs-slider{background:var(--kcs-accent)}
.kcs-switch input:checked+.kcs-slider::after{transform:translateX(18px)}

/* Erneut öffnen */
.kcs-reopen{position:fixed;bottom:16px;z-index:2147482999;width:40px;height:40px;border-radius:50%;border:1px solid #e5e7eb;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M12 3a9 9 0 1 0 9 9 4 4 0 0 1-5-5 4 4 0 0 1-4-4z'/%3e%3ccircle cx='8.5' cy='11.5' r='.8'/%3e%3ccircle cx='12' cy='16' r='.8'/%3e%3ccircle cx='16' cy='13.5' r='.8'/%3e%3c/svg%3e") no-repeat center/22px;box-shadow:0 2px 8px rgba(17,24,39,.12);cursor:pointer;padding:0}
.kcs-reopen.kcs-left{left:16px}
.kcs-reopen.kcs-right{right:16px}
.kcs-reopen:hover{background-color:#f9fafb}

/* Platzhalter für Videos und Karten */
.kcs-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;max-width:100%;padding:24px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb;color:#374151;text-align:center;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.kcs-ph p{margin:0;max-width:460px}
.kcs-ph .kcs-btn{flex:0 0 auto;min-width:160px;background:#374151;border-color:#374151;color:#fff;border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer}
.kcs-ph .kcs-btn.kcs-btn-quiet{background:#fff;color:#1f2937;border:1px solid #d1d5db}

@media (max-width:560px){
	.kcs-root.kcs-box,.kcs-root.kcs-box.kcs-left{inset:auto 8px 8px 8px}
	.kcs-root.kcs-box .kcs-panel{width:auto}
	.kcs-actions{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.kcs-root *{transition:none!important}}
