/* Cookie consent banner + preferences modal. Self-contained (like auth.css)
   so it doesn't collide with the design session's ownership of styles.css.
   Reuses the app's own tokens (--paper/--ink/--line/etc.) and existing
   .set-row/.tog/.text-button/.primary-nav components for visual consistency. */
.cookie-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 900;
  display: flex;
  justify-content: center;
}
.cookie-banner-card {
  width: min(640px, 100%);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
  padding: 16px 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.cookie-banner-card p { flex: 1 1 320px; margin: 0; color: var(--ink-2); font-size: 12.5px; line-height: 1.5; }
.cookie-banner-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }

.cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 901;
  display: grid;
  place-items: center;
  padding: 20px;
  background: color-mix(in srgb, var(--ink) 45%, transparent);
}
.cookie-modal-card {
  width: min(440px, 100%);
  padding: 26px;
  border-radius: 20px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow);
}
.cookie-modal-card h2 { margin: 0 0 6px; font: 500 22px var(--serif); letter-spacing: -0.02em; }
.cookie-modal-note { margin: 4px 0 18px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.cookie-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }

@media (max-width: 560px) {
  .cookie-banner-card { flex-direction: column; align-items: stretch; }
  .cookie-banner-actions { justify-content: flex-end; }
}
