.consent {
  --c-bg: rgba(255,255,255,.92); --c-fg: #1d1d1f; --c-muted: #6e6e73; --c-line: rgba(0,0,0,.1);
  --c-ink: #1d1d1f; --c-on-ink: #fff; --c-ghost: rgba(0,0,0,.25);
  position: fixed; z-index: 1000; left: 16px; right: 16px; bottom: 16px;
  max-width: 440px; margin-left: auto;
  padding: 20px 20px 16px; border-radius: 20px;
  background: var(--c-bg); color: var(--c-fg);
  border: 1px solid var(--c-line);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  -webkit-backdrop-filter: blur(24px) saturate(1.6); backdrop-filter: blur(24px) saturate(1.6);
  font: 14px/1.5 'Inter', system-ui, sans-serif;
  animation: consent-in .35s ease-out;
}
:root[data-theme="dark"] .consent {
  --c-bg: rgba(28,28,30,.92); --c-fg: #f5f5f7; --c-muted: #a1a1a6; --c-line: rgba(255,255,255,.12);
  --c-ink: #f5f5f7; --c-on-ink: #000; --c-ghost: rgba(255,255,255,.3);
}
@keyframes consent-in { from { opacity: 0; transform: translateY(12px) } }
@media (prefers-reduced-motion: reduce) { .consent { animation: none } }
.consent h2 { margin: 0 0 6px; font-size: 16px; font-weight: 600; letter-spacing: -.01em }
.consent p { margin: 0 0 14px; color: var(--c-muted) }
.consent a { color: var(--c-fg); text-decoration: underline; text-underline-offset: 2px }
.consent__prefs { margin: 0 0 14px; border-top: 1px solid var(--c-line) }
.consent__prefs[hidden] { display: none }
.consent__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--c-line); cursor: pointer }
.consent__row strong { display: block; font-weight: 600 }
.consent__row small { display: block; color: var(--c-muted); font-size: 12.5px }
.consent__row input { width: 20px; height: 20px; accent-color: var(--c-ink); flex: none }
.consent__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end }
.consent__btn {
  appearance: none; border: 1px solid var(--c-ink); background: var(--c-ink); color: var(--c-on-ink);
  font: 500 13.5px/1 'Inter', system-ui, sans-serif; padding: 10px 16px; border-radius: 999px; cursor: pointer;
}
.consent__btn--ghost { background: transparent; color: var(--c-fg); border-color: var(--c-ghost) }
.consent__btn:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px }
@media (max-width: 420px) { .consent__btn { flex: 1 1 auto } }
