.cookie-banner {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 100;
  width: min(560px, calc(100% - 32px));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: end;
  padding: 24px;
  border: 1px solid var(--color-accent, #5980a6);
  background: color-mix(in srgb, var(--color-bg, #f2f2f3) 94%, transparent);
  color: var(--color-text, #1d2d3d);
  box-shadow: 0 18px 50px color-mix(in srgb, #000 22%, transparent);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .28s ease, transform .28s ease;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.cookie-banner.is-visible { opacity: 1; transform: translateY(0); }
.cookie-banner__kicker { margin: 0 0 8px; color: var(--color-accent-700, #416180); font: 11px/1.3 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.cookie-banner h2 { margin: 0 0 8px; font: 700 25px/1 "Barlow Condensed", system-ui, sans-serif; text-transform: uppercase; }
.cookie-banner__copy > p:last-child { margin: 0; color: var(--color-neutral-700, #536273); font-size: 14px; line-height: 1.45; }
.cookie-banner a { color: var(--color-accent-700, #416180); }
.cookie-banner__actions { display: flex; flex-direction: column; gap: 8px; min-width: 142px; }
.cookie-banner__button { min-height: 40px; padding: 0 13px; border: 1px solid var(--color-accent, #5980a6); cursor: pointer; font: 600 11px/1 "JetBrains Mono", ui-monospace, monospace; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.cookie-banner__button:hover { transform: translateY(-1px); }
.cookie-banner__button--primary { background: var(--color-accent, #5980a6); color: var(--color-bg, #f2f2f3); }
.cookie-banner__button--primary:hover { background: var(--color-accent-700, #416180); }
.cookie-banner__button--secondary { background: transparent; color: var(--color-text, #1d2d3d); }
.cookie-banner__button--secondary:hover { background: color-mix(in srgb, var(--color-text, #1d2d3d) 8%, transparent); }
@media (max-width: 640px) {
  .cookie-banner { right: 12px; bottom: 12px; width: calc(100% - 24px); grid-template-columns: 1fr; gap: 16px; padding: 20px; }
  .cookie-banner__actions { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .cookie-banner, .cookie-banner__button { transition: none; } }
