.cookie-consent[hidden] { display: none; }
.cookie-consent { position: fixed; inset: auto 0 0; z-index: 1000; pointer-events: none; }
.cookie-consent__backdrop { display: none; }
.cookie-consent__dialog { position: relative; width: 100%; max-height: min(100vh, 42rem); overflow-y: auto; border-top: 1px solid #cbd5e1; background: #fff; box-shadow: 0 -10px 28px rgb(15 23 42 / 0.14); color: #0f172a; pointer-events: auto; }
.cookie-consent__inner { width: min(100%, 75rem); margin: 0 auto; padding: 1.5rem max(1rem, env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
.cookie-consent__dialog h2 { margin: 0 0 .5rem; font-size: 1.35rem; line-height: 1.3; letter-spacing: 0; }
.cookie-consent__dialog p { margin: 0 0 .75rem; color: #475569; line-height: 1.55; }
.cookie-consent__eyebrow { color: #c23f1d !important; font-size: .75rem; font-weight: 700; letter-spacing: .08em; }
.cookie-consent__policy a { color: #9a3117; font-weight: 600; }
.cookie-consent__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.cookie-consent__button { min-height: 2.75rem; border-radius: 6px; padding: .65rem 1rem; font: inherit; font-weight: 650; cursor: pointer; }
.cookie-consent__button--primary { border: 1px solid #c23f1d; background: #c23f1d; color: #fff; }
.cookie-consent__button--primary:hover { background: #9a3117; }
.cookie-consent__button--secondary { border: 1px solid #64748b; background: #fff; color: #1e293b; }
.cookie-consent__button--secondary:hover { background: #f1f5f9; }
.cookie-consent__button:focus-visible, .cookie-consent__category input:focus-visible { outline: 3px solid #e0be57; outline-offset: 2px; }
.cookie-consent__categories { display: grid; gap: .5rem; margin: 1.25rem 0 0; border: 0; padding: 0; }
.cookie-consent__category { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid #e2e8f0; border-radius: 6px; padding: .85rem 1rem; }
.cookie-consent__category strong, .cookie-consent__category small { display: block; }
.cookie-consent__category small { margin-top: .2rem; color: #64748b; line-height: 1.4; }
.cookie-consent__category input { width: 1.15rem; height: 1.15rem; accent-color: #c23f1d; }
@media (min-width: 48rem) {
  .cookie-consent__inner { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .cookie-consent__banner-inner { display: flex; align-items: center; gap: 2rem; }
  .cookie-consent__copy { flex: 1 1 auto; }
  .cookie-consent__banner-inner .cookie-consent__actions { flex: 0 0 auto; margin-top: 0; justify-content: flex-end; }
}
@media (max-width: 35rem) { .cookie-consent__actions { display: grid; grid-template-columns: 1fr; } .cookie-consent__button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .cookie-consent * { scroll-behavior: auto !important; transition: none !important; } }
