/* Cookie banner, shared by every page of the site */
.cookie-banner {
  position: fixed; left: 24px; bottom: 24px; z-index: 100;
  width: min(380px, calc(100vw - 32px)); padding: 20px;
  display: flex; flex-direction: column; gap: 16px;
  background: #fff; color: #050505;
  border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 20px;
  box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.25);
  font: 14px/1.5 "Instrument Sans", system-ui, -apple-system, sans-serif;
  opacity: 0; transform: translateY(12px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.cookie-banner.is-visible { opacity: 1; transform: none; }
.cookie-banner p { margin: 0; color: #4a4a4a; }
.cookie-banner a { color: #050505; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cookie-actions { display: flex; gap: 8px; }
.cookie-actions button { flex: 1; height: 44px; border-radius: 12px; font: 600 14px/1 inherit; font-family: inherit; cursor: pointer; transition: background-color 0.15s ease; }
.cookie-accept { border: 0; background: #050505; color: #fff; }
.cookie-accept:hover { background: #2a2a2a; }
.cookie-decline { border: 1px solid rgba(0, 0, 0, 0.15); background: transparent; color: #050505; }
.cookie-decline:hover { background: #f4f4f4; }

/* A "cookie settings" control inside page text or a footer reads as a link */
button[data-cookie-settings] { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

@media (max-width: 480px) {
  .cookie-banner { left: 16px; right: 16px; bottom: 16px; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .cookie-banner { transition: none; }
}
