.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:400;
  background:rgba(17,17,17,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid var(--bdr2);box-shadow:0 -10px 40px rgba(0,0,0,.55);
  padding:18px 20px calc(18px + env(safe-area-inset-bottom,0px));
  font-family:'Barlow',sans-serif;
  transform:translateY(101%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  will-change:transform;contain:layout paint}
.cc-banner[hidden]{display:none}
.cc-banner.cc-show{transform:none}
@media(prefers-reduced-motion:reduce){.cc-banner{transition:none}}
.cc-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.cc-copy{min-width:0}
.cc-title{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:1.1px;
  text-transform:uppercase;color:var(--acc);margin:0 0 6px}
.cc-desc{font-size:13.5px;line-height:1.65;color:var(--text);margin:0;max-width:70ch}
.cc-fineprint{font-size:12.5px;color:var(--muted);margin:6px 0 0}
.cc-fineprint a{color:var(--acc);text-decoration:underline;text-underline-offset:2px}
.cc-fineprint a:hover{color:#f2ff8a}
.cc-actions{display:flex;flex-wrap:wrap;gap:9px}
.cc-btn{font-family:'Barlow',sans-serif;font-size:13.5px;font-weight:600;padding:11px 18px;
  border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;
  transition:background var(--ez),border-color var(--ez),color var(--ez),filter var(--ez);min-height:44px}
.cc-btn-ghost{background:var(--s2);border:1px solid var(--s4);color:var(--text)}
.cc-btn-ghost:hover{background:var(--s3);border-color:#4a4a4a}
.cc-btn-primary{background:var(--acc);border:1px solid var(--acc);color:#080808;font-weight:700}
.cc-btn-primary:hover{filter:brightness(1.07)}
.cc-btn:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.cc-btn-primary:focus-visible{outline-color:#fff}
/* Preferences panel */
.cc-panel{max-width:1180px;margin:16px auto 0;border-top:1px solid var(--bdr2);padding-top:14px;
  display:flex;flex-direction:column;gap:12px}
.cc-panel[hidden]{display:none}
.cc-opt{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.cc-opt-text{display:block;min-width:0}
.cc-opt-name{display:block;font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:2px}
.cc-opt-desc{display:block;font-size:12.5px;color:var(--muted);line-height:1.6;max-width:72ch}
.cc-always{flex-shrink:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;
  color:var(--acc);background:var(--acc-14);border-radius:var(--r-pill);padding:6px 12px;align-self:center}
.cc-switch{flex-shrink:0;position:relative;width:52px;height:30px;align-self:center}
.cc-switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.cc-slider{position:absolute;inset:0;background:var(--s4);border:1px solid #4a4a4a;border-radius:var(--r-pill);
  transition:background var(--ez),border-color var(--ez);pointer-events:none}
.cc-slider::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  background:#8a8a8a;transition:transform var(--ez),background var(--ez)}
.cc-switch input:checked+.cc-slider{background:var(--acc-22);border-color:var(--acc)}
.cc-switch input:checked+.cc-slider::after{transform:translateX(22px);background:var(--acc)}
.cc-switch input:focus-visible+.cc-slider{outline:3px solid var(--acc);outline-offset:2px}
.cc-panel-actions{display:flex;justify-content:flex-end}
@media(min-width:820px){
  .cc-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:32px}
  .cc-actions{flex-wrap:nowrap;flex-shrink:0}
}
@media(max-width:819px){
  .cc-banner{padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px));max-height:82vh;overflow-y:auto}
  .cc-actions{flex-direction:column-reverse}
  .cc-btn{width:100%;text-align:center}
  .cc-opt{flex-direction:row;align-items:center}
}
@media(prefers-contrast:more){.cc-banner{background:#000}.cc-desc{color:#fff}}
