.privacy-banner[hidden] { display: none; }
.privacy-banner { position: fixed; z-index: 1000; right: 1rem; bottom: 1rem; left: 1rem; max-width: 48rem; margin: 0 auto; padding: 1.25rem; border: 1px solid #bed0df; border-radius: .75rem; background: #fff; color: #0b253c; box-shadow: 0 12px 36px rgba(0,0,0,.22); }
.privacy-banner__content { display: grid; gap: .75rem; }
.privacy-banner__title { margin: 0; font-size: 1.1rem; font-weight: 700; }
.privacy-banner p { margin: 0; }
.privacy-banner a { color: #135d78; text-decoration: underline; }
.privacy-banner__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.privacy-banner__actions button { min-height: 2.75rem; padding: .5rem 1rem; border: 1px solid #123b58; border-radius: .5rem; cursor: pointer; font: inherit; font-weight: 600; }
.privacy-banner__actions [data-privacy-reject] { background: #fff; color: #123b58; }
.privacy-banner__actions [data-privacy-accept] { background: #123b58; color: #fff; }
.privacy-banner__actions button:focus-visible, [data-privacy-settings]:focus-visible { outline: 3px solid #111827; outline-offset: 2px; }
@media (max-width: 480px) { .privacy-banner { max-height: calc(100vh - 2rem); overflow-y: auto; } .privacy-banner__actions button { width: 100%; } }
