/* Scoped additions: the existing page and navigation styles stay intact. */
.footer-legal > a, .footer-legal > button { display: inline-flex; align-items: center; min-height: 44px; }
.cookie-dialog { --cookie-top: calc(116px + env(safe-area-inset-top)); --cookie-bottom: calc(24px + env(safe-area-inset-bottom)); position: fixed; inset: var(--cookie-top) 0 var(--cookie-bottom); margin: auto; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(24px, 4vw, 42px); width: min(680px, calc(100% - 32px)); max-height: calc(100dvh - var(--cookie-top) - var(--cookie-bottom)); overflow: auto; overscroll-behavior: contain; overflow-wrap: anywhere; }
.cookie-dialog::backdrop { background: rgb(19 47 45 / 55%); }
.cookie-dialog h2 { font-size: clamp(28px, 5vw, 40px); }
.cookie-close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--sage); color: var(--forest); font-size: 28px; }
.cookie-essential, .cookie-category { display: flex; gap: 16px; padding: 18px; margin-bottom: 16px; background: var(--sage); border-radius: var(--radius); }
.cookie-essential { display: block; }
.cookie-essential p { margin: 8px 0 0; }
.cookie-category { align-items: flex-start; cursor: pointer; }
.cookie-category input { width: 22px; height: 22px; flex: 0 0 auto; margin-top: 3px; accent-color: var(--forest); }
.cookie-category span span { display: block; margin-top: 6px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cookie-actions .button { white-space: normal; text-align: center; }
.cookie-status:empty { display: none; }
.cookie-status { border-left: 3px solid var(--terracotta); padding-left: 12px; }
.cookie-links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-block: 4px 20px; }
.cookie-links a, .cookie-policy-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.cookie-external-note { color: var(--muted); font-size: 14px; }
.cookie-policy-link { margin-top: 8px; }
.cookie-banner { position: fixed; z-index: 42; bottom: 20px; left: 50%; transform: translateX(-50%); width: min(900px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.cookie-banner p { margin: 8px 0 16px; }
@media (max-width: 74.999em) {
  .cookie-dialog { --cookie-top: calc(92px + env(safe-area-inset-top)); --cookie-bottom: calc(104px + env(safe-area-inset-bottom)); }
  .cookie-banner { bottom: calc(104px + env(safe-area-inset-bottom)); max-height: calc(100dvh - 196px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding: 18px; }
}
@media (max-width: 480px) { .cookie-actions .button { width: 100%; } }
