/* ─── COOKIE CONSENT ─── */
.cc-overlay{
  position:fixed;inset:0;z-index:9998;
  background:rgba(0,0,0,.45);
  opacity:0;transition:opacity .3s;
  pointer-events:none;
}
.cc-overlay.visible{opacity:1;pointer-events:all}

.cc-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--card);
  border-top:1px solid var(--border);
  box-shadow:0 -4px 30px rgba(0,0,0,.12);
  padding:2rem 2rem 1.8rem;
  transform:translateY(100%);
  transition:transform .4s ease;
}
.cc-banner.visible{transform:translateY(0)}
.cc-inner{max-width:720px;margin:0 auto}
.cc-title{font-family:var(--fd);font-size:1.2rem;font-weight:400;color:var(--text);margin-bottom:.5rem}
.cc-text{font-size:.82rem;color:var(--muted);line-height:1.7;font-weight:300;margin-bottom:1.2rem}
.cc-text a{color:var(--gold);text-decoration:none}
.cc-text a:hover{color:var(--gold-lt)}
.cc-btns{display:flex;gap:.75rem;flex-wrap:wrap}
.cc-btn{
  padding:.7rem 1.4rem;border-radius:3rem;
  font-family:var(--fb);font-size:.76rem;letter-spacing:.06em;font-weight:500;
  text-transform:uppercase;cursor:pointer;
  border:1px solid var(--border);transition:all .2s;
}
.cc-btn--accept{background:var(--black);color:var(--bg);border-color:var(--black)}
.cc-btn--accept:hover{background:var(--gold);border-color:var(--gold)}
.cc-btn--reject{background:transparent;color:var(--text)}
.cc-btn--reject:hover{border-color:var(--gold);color:var(--gold)}
.cc-btn--settings{background:transparent;color:var(--muted);border-color:transparent;font-weight:300;text-transform:none;letter-spacing:0;font-size:.78rem}
.cc-btn--settings:hover{color:var(--gold)}

.cc-modal{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.cc-modal.visible{opacity:1;pointer-events:all}
.cc-modal-box{
  background:var(--card);
  border:1px solid var(--border);
  box-shadow:0 20px 60px rgba(0,0,0,.2);
  max-width:480px;width:90%;
  padding:2rem;
  max-height:85vh;overflow-y:auto;
}
.cc-modal-title{font-family:var(--fd);font-size:1.3rem;font-weight:400;color:var(--text);margin-bottom:1.2rem}
.cc-cat{padding:1rem 0;border-bottom:1px solid var(--border)}
.cc-cat:last-of-type{border-bottom:none}
.cc-cat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}
.cc-cat-name{font-size:.85rem;font-weight:500;color:var(--text)}
.cc-cat-tag{font-size:.68rem;color:var(--gold);font-weight:400}
.cc-cat-desc{font-size:.78rem;color:var(--muted);font-weight:300;line-height:1.6}
.cc-toggle{position:relative;width:40px;height:22px;flex-shrink:0}
.cc-toggle input{opacity:0;width:0;height:0}
.cc-toggle-slider{
  position:absolute;inset:0;cursor:pointer;
  background:var(--border);border-radius:22px;
  transition:background .2s;
}
.cc-toggle-slider::before{
  content:'';position:absolute;
  width:16px;height:16px;border-radius:50%;
  left:3px;bottom:3px;
  background:var(--card);
  transition:transform .2s;
}
.cc-toggle input:checked + .cc-toggle-slider{background:var(--gold)}
.cc-toggle input:checked + .cc-toggle-slider::before{transform:translateX(18px)}
.cc-toggle input:disabled + .cc-toggle-slider{opacity:.5;cursor:default}
.cc-modal-btns{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}
.cc-modal-btns .cc-btn{font-size:.74rem}
