:root {
  --cookie-bg: #111827; /* dark slate */
  --cookie-fg: #ffffff;
  --cookie-accent: #10b981; /* emerald */
  --cookie-muted: #6b7280; /* gray-500 */
  --cookie-link: #60a5fa; /* blue-400 */
  --cookie-shadow: 0 10px 25px rgba(0,0,0,.25);
  --cookie-radius: 16px;
}

.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  padding: 16px;
  display: none;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

.cookie-card {
  margin: 0 auto;
  max-width: 960px;
  background: var(--cookie-bg);
  color: var(--cookie-fg);
  border-radius: var(--cookie-radius);
  box-shadow: var(--cookie-shadow);
  padding: 16px;
}

.cookie-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: center;
}

.cookie-title { font-size: 1.125rem; font-weight: 700; margin: 0 0 4px 0; }
.cookie-text { margin: 0; line-height: 1.45; color: var(--cookie-fg); }
.cookie-text a { color: var(--cookie-link); text-decoration: underline; }

.cookie-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.cookie-btn { appearance: none; border: 0; border-radius: 999px; padding: 10px 16px; font-weight: 700; cursor: pointer; line-height: 1; }
.cookie-btn--primary { background: var(--cookie-accent); color: #06281f; }
.cookie-btn--ghost { background: transparent; color: var(--cookie-fg); outline: 2px solid #ffffff33; }
.cookie-btn:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; }
.cookie-close { background: transparent; border: none; color: var(--cookie-muted); cursor: pointer; font-size: 14px; padding: 8px; border-radius: 8px; }
.cookie-close:hover { color: #9ca3af; }

@media (min-width: 720px) { .cookie-row { grid-template-columns: 1fr auto; } }

@media (prefers-reduced-motion: no-preference) {
  .cookie-card { transition: transform .35s ease, opacity .35s ease; }
  .cookie-card[data-enter] { transform: translateY(24px); opacity: 0; }
  .cookie-card[data-show] { transform: translateY(0); opacity: 1; }
}