/* cookie-consent.css — small fixed bottom banner for cookie-consent.js.
   Reuses the site's dark design system (CSS vars from styles.css) and the
   existing .btn / .btn-primary / .btn-ghost / .btn-sm button classes. */

.cc-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:150;
  transform:translateY(110%); opacity:0; pointer-events:none;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s ease;
}
.cc-banner.cc-show{ transform:translateY(0); opacity:1; pointer-events:auto; }

.cc-inner{
  max-width:var(--maxw); margin:0 auto; padding:20px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  border-top:1px solid var(--line2);
  background:rgba(10,15,26,.92);
  backdrop-filter:blur(20px) saturate(155%); -webkit-backdrop-filter:blur(20px) saturate(155%);
  box-shadow:0 -20px 60px rgba(0,0,0,.45);
}

.cc-text{ max-width:640px; }
.cc-title{ font-family:var(--disp); font-weight:800; font-size:14.5px; letter-spacing:-.005em; color:var(--ink); margin-bottom:6px; }
.cc-body{ font-size:13px; line-height:1.6; color:var(--muted); font-weight:500; margin-bottom:8px; }
.cc-link{ font-family:var(--mono); font-size:12.5px; font-weight:600; color:var(--teal); }
.cc-link:hover{ color:#7cf0b8; }

.cc-actions{ display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0; }
.cc-btn{ white-space:nowrap; }

@media (max-width:700px){
  .cc-inner{ padding:18px 20px; flex-direction:column; align-items:stretch; gap:14px; }
  .cc-actions{ justify-content:stretch; }
  .cc-actions .cc-btn{ flex:1; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){
  .cc-banner{ transition:opacity .2s ease; }
}
