/* DealzScout — Cookie-Banner & Modal (TDDDG-konform)
   Granulare Kategorien, „Alle ablehnen" und „Alle akzeptieren" gleichwertig. */

#cc-banner{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
  width:min(680px,calc(100% - 32px));z-index:9000;
  background:rgba(12,12,20,0.95);backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,0.08);border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,0.6);
  padding:22px 24px;color:#f0f0f5;font-family:'Inter',sans-serif;
  opacity:0;visibility:hidden;transform:translateX(-50%) translateY(20px);
  transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1),visibility .35s
}
#cc-banner.cc-show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

#cc-banner h3{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-size:1.05rem;font-weight:700;margin:0 0 6px;color:#f0f0f5
}
#cc-banner p{
  font-size:.86rem;line-height:1.55;color:rgba(240,240,245,0.7);margin:0 0 14px
}
#cc-banner p a{color:#00d2be;text-decoration:underline}

.cc-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.cc-btn{
  font-family:inherit;font-size:.86rem;font-weight:600;
  padding:11px 18px;border-radius:10px;cursor:pointer;border:1px solid transparent;
  transition:all .2s ease;letter-spacing:.01em
}
.cc-btn-secondary{background:transparent;color:rgba(240,240,245,0.85);border-color:rgba(255,255,255,0.12)}
.cc-btn-secondary:hover{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.2)}
.cc-btn-primary{background:linear-gradient(135deg,#00d2be,#42A5F5);color:#06060b;border:none}
.cc-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}

@media(max-width:520px){
  #cc-banner{padding:18px;bottom:12px;width:calc(100% - 24px)}
  .cc-actions{justify-content:stretch}
  .cc-btn{flex:1 1 calc(50% - 5px)}
}

/* Modal */
#cc-modal-bg{
  position:fixed;inset:0;z-index:9100;
  background:rgba(0,0,0,0.7);backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;padding:16px
}
#cc-modal-bg.cc-show{display:flex;animation:cc-fade .25s ease}
@keyframes cc-fade{from{opacity:0}to{opacity:1}}

#cc-modal{
  background:#0c0c14;border:1px solid rgba(255,255,255,0.08);border-radius:18px;
  max-width:560px;width:100%;max-height:88vh;display:flex;flex-direction:column;
  overflow:hidden;color:#f0f0f5;font-family:'Inter',sans-serif;
  box-shadow:0 32px 100px rgba(0,0,0,0.7)
}
.cc-modal-head{padding:22px 24px 16px;border-bottom:1px solid rgba(255,255,255,0.06)}
.cc-modal-head h3{font-family:'Space Grotesk','Inter',sans-serif;font-size:1.2rem;font-weight:700;margin:0 0 6px}
.cc-modal-head p{font-size:.86rem;color:rgba(240,240,245,0.6);margin:0;line-height:1.5}
.cc-modal-body{padding:18px 24px;overflow-y:auto;flex:1}

.cc-cat{
  border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:14px 16px;
  margin-bottom:10px;background:rgba(255,255,255,0.02)
}
.cc-cat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.cc-cat-title{font-weight:600;font-size:.95rem;color:#f0f0f5}
.cc-cat-desc{font-size:.82rem;color:rgba(240,240,245,0.6);margin-top:6px;line-height:1.5}

/* Toggle Switch */
.cc-toggle{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}
.cc-toggle input{opacity:0;width:0;height:0}
.cc-toggle-slider{
  position:absolute;cursor:pointer;inset:0;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.12);
  border-radius:34px;transition:.25s
}
.cc-toggle-slider:before{
  position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;
  background:#f0f0f5;border-radius:50%;transition:.25s
}
.cc-toggle input:checked + .cc-toggle-slider{
  background:linear-gradient(135deg,#00d2be,#42A5F5);border-color:transparent
}
.cc-toggle input:checked + .cc-toggle-slider:before{transform:translateX(20px)}
.cc-toggle input:disabled + .cc-toggle-slider{
  background:rgba(0,210,190,0.4);cursor:not-allowed;border-color:transparent
}

.cc-modal-foot{
  padding:16px 24px;border-top:1px solid rgba(255,255,255,0.06);
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center
}
.cc-modal-foot .cc-btn{padding:10px 16px;font-size:.84rem}
.cc-modal-foot-left,.cc-modal-foot-right{display:flex;gap:8px;flex-wrap:wrap}

/* Re-Open Trigger im Footer */
.cc-reopen{
  background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;
  padding:0;text-decoration:none;
}
.cc-reopen:hover{text-decoration:underline}
