/* ==========================================================
   Cookie-Consent — kniffr CI (dunkel/violett, Sora/Inter)
   DSGVO + §25 TDDDG. Self-contained (eigene Hex, kein :root nötig).
   ========================================================== */
.kfr-cc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.18);z-index:99998;opacity:0;transition:opacity .3s ease;pointer-events:none}
.kfr-cc-overlay.active{opacity:1}

.kfr-cc-banner{position:fixed;bottom:0;left:0;right:0;z-index:99999;background:#0B0B12;border-top:1px solid rgba(255,255,255,.09);
  box-shadow:0 -10px 40px rgba(0,0,0,.5);padding:24px;transform:translateY(110%);transition:transform .4s cubic-bezier(.22,1,.36,1);
  font-family:'Inter',system-ui,sans-serif;color:#F4F4F7}
.kfr-cc-banner.visible{transform:translateY(0)}
.kfr-cc-inner{max-width:1000px;margin:0 auto}

.kfr-cc-title{font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:#F4F4F7;margin-bottom:8px}
.kfr-cc-text{font-size:.9rem;line-height:1.6;color:#A6A6B6;margin-bottom:18px}
.kfr-cc-text a{color:#9E84FF;text-decoration:underline}
.kfr-cc-text a:hover{color:#F4F4F7}
.kfr-cc-text small{color:#8A8A99;font-size:.78rem}

.kfr-cc-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.kfr-cc-btn{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:12px 26px;
  font-family:'Inter',system-ui,sans-serif;font-size:.9rem;font-weight:600;border-radius:100px;cursor:pointer;
  border:1px solid rgba(255,255,255,.16);transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s;text-align:center}
.kfr-cc-btn:hover{transform:translateY(-2px)}
.kfr-cc-btn-accept{background:linear-gradient(150deg,#7C5CFF,#5436D6);color:#fff;border-color:transparent;box-shadow:0 6px 24px rgba(124,92,255,.35)}
.kfr-cc-btn-accept:hover{box-shadow:0 10px 32px rgba(124,92,255,.55)}
.kfr-cc-btn-reject{background:rgba(255,255,255,.05);color:#F4F4F7}
.kfr-cc-btn-reject:hover{background:rgba(255,255,255,.09)}
.kfr-cc-btn-settings{background:transparent;color:#A6A6B6;min-width:140px}
.kfr-cc-btn-settings:hover{color:#F4F4F7}

.kfr-cc-details{display:none;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}
.kfr-cc-details.open{display:block}
.kfr-cc-cat{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.kfr-cc-cat:last-of-type{border-bottom:none}
.kfr-cc-cat-info{flex:1}
.kfr-cc-cat-label{font-family:'Sora',system-ui,sans-serif;font-weight:600;font-size:.9rem;color:#F4F4F7;margin-bottom:3px}
.kfr-cc-cat-desc{font-size:.82rem;color:#8A8A99;line-height:1.5}
.kfr-cc-badge{display:inline-block;font-size:.68rem;color:#9E84FF;background:rgba(124,92,255,.14);padding:2px 8px;border-radius:6px;margin-left:6px;font-weight:500;font-family:'Inter',sans-serif}

.kfr-cc-toggle{position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px}
.kfr-cc-toggle input{opacity:0;width:0;height:0;position:absolute}
.kfr-cc-slider{position:absolute;inset:0;background:rgba(255,255,255,.16);border-radius:24px;cursor:pointer;transition:background .25s}
.kfr-cc-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .25s}
.kfr-cc-toggle input:checked+.kfr-cc-slider{background:#7C5CFF}
.kfr-cc-toggle input:checked+.kfr-cc-slider::before{transform:translateX(20px)}
.kfr-cc-toggle input:disabled+.kfr-cc-slider{opacity:.5;cursor:not-allowed}

.kfr-cc-detail-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}

@media (max-width:640px){
  .kfr-cc-banner{padding:20px 16px}
  .kfr-cc-buttons,.kfr-cc-detail-buttons{flex-direction:column}
  .kfr-cc-btn{width:100%;min-width:0}
}
@media (prefers-reduced-motion:reduce){
  .kfr-cc-banner,.kfr-cc-overlay,.kfr-cc-btn{transition:none}
}
