.cookie-banner[hidden], .cookie-banner [hidden], [data-cookie-settings][hidden] { display: none !important; }
.cookie-banner { position: fixed; z-index: 1000; bottom: 0; left: 0; right: 0; max-height: 85vh; overflow: auto; padding: 22px 24px max(22px, env(safe-area-inset-bottom)); border-top: 1px solid #c7b5ac; background: #fbf6f3; color: #3b2e2d; box-shadow: 0 -8px 32px #3b2e2d12; font-family: "Mulish", system-ui, sans-serif; font-size: 14px; line-height: 1.6; }
.cookie-inner { max-width: 1040px; margin: auto; display: flex; align-items: center; gap: 28px; }
.cookie-copy { flex: 1; }
.cookie-banner h2 { font-family: "Fraunces", Georgia, serif; font-size: 23px; font-weight: 400; line-height: 1.3; margin: 0 0 8px; }
.cookie-banner p { margin: 6px 0 0; }
.cookie-banner a { color: #3b2e2d; text-underline-offset: 3px; }
.cookie-current { font-weight: 600; }
.cookie-actions { display: flex; flex-direction: column; gap: 10px; }
.cookie-actions button { padding: 12px 16px; min-height: 44px; border: 1px solid #89746c; border-radius: 8px; background: #fbf6f3; color: #3b2e2d; font: inherit; font-weight: 600; cursor: pointer; }
.cookie-actions button:hover { background: #eee2db; }
.cookie-banner :focus-visible, [data-cookie-settings]:focus-visible { outline: 2px solid #3b2e2d; outline-offset: 4px; }
.site-legal { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 22px; margin: 28px 0 0; }
.site-legal a, .site-legal button { color: #6e5e59; font: 13px/1.6 "Mulish", system-ui, sans-serif; letter-spacing: 0; text-decoration: underline; text-underline-offset: 4px; background: none; border: 0; padding: 5px 0; cursor: pointer; }
.cookie-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 680px) { .cookie-banner { padding: 18px 20px max(18px, env(safe-area-inset-bottom)); } .cookie-inner { display: block; } .cookie-actions { margin-top: 16px; } }
