/* Cookie controls share the site's editorial typography and palette. */
.cookie-banner-panel {
  border: 1px solid rgba(167,139,250,.25);
  border-radius: 0;
  background: radial-gradient(ellipse at 100% 0,rgba(167,139,250,.12),transparent 55%), #0b0e16;
  box-shadow: 0 24px 70px rgba(0,0,0,.5);
}
.cookie-banner-glow, .cookie-banner-kicker::after { display: none; }
.cookie-banner-kicker { padding: 24px 26px 0; color: var(--amber); font-weight: 700; letter-spacing: .13em; }
.cookie-banner-body { gap: 22px; padding: 18px 26px 26px; }
.cookie-banner-title { margin: 0 0 12px; color: var(--text); font: 800 clamp(1.5rem,2.5vw,1.9rem)/1.05 var(--body); letter-spacing: -.05em; }
.cookie-banner-text { margin: 0; font-size: .88rem; line-height: 1.7; }
.cookie-banner-link, .theme-home .cookie-banner-link { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
.cookie-banner-actions { gap: 10px; }
.cookie-banner-button { flex: 1 1 140px; min-height: 44px; border: 1px solid rgba(71,240,210,.5); border-radius: 0; background: transparent; color: var(--teal); cursor: pointer; }
.cookie-banner-button:hover, .cookie-banner-button:focus-visible { transform: none; background: rgba(71,240,210,.1); color: var(--text); box-shadow: none; }
.cookie-banner-close, .cookie-settings-button { border-radius: 0; border-color: rgba(200,210,227,.2); background: #0b0e16; cursor: pointer; }
.cookie-banner-close:focus-visible, .cookie-settings-button:focus-visible, .cookie-banner-button:focus-visible, .cookie-banner-link:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
@media (max-width: 700px) {
  .cookie-banner-panel { border-radius: 0; }
  .cookie-banner-kicker { padding: 20px 20px 0; }
  .cookie-banner-body { padding: 16px 20px 20px; }
}
