.privacy-banner[hidden], .privacy-banner [hidden] { display: none !important; }
.privacy-banner { position: fixed; z-index: 90; left: 50%; bottom: max(16px,env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(620px,calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow: auto; box-sizing: border-box; padding: 22px; border: 1px solid #cbd5e1; border-radius: 18px; background: #fff; color: #0f172a; box-shadow: 0 16px 70px #0f172a40; font-family: inherit; }
.privacy-banner h2 { margin: 0 0 9px; font-size: 17px; font-weight: 800; }
.privacy-banner p { margin: 0 0 12px; color: #475569; font-size: 13px; line-height: 1.65; }
.privacy-banner a { color: #9f1239; font-size: 12px; text-decoration: underline; }
.privacy-banner .privacy-current { margin: 10px 0 0; font-size: 12px; }
.privacy-actions { display: flex; gap: 10px; margin-top: 16px; }
.privacy-actions button { flex: 1; padding: 11px 16px; min-height: 44px; border: 1px solid #cbd5e1; border-radius: 10px; background: #f8fafc; color: #0f172a; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.privacy-actions button:hover { background: #e2e8f0; }
.privacy-actions button:focus-visible,.privacy-settings:focus-visible { outline: 3px solid #e11d48; outline-offset: 3px; }
.privacy-settings { border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #475569; padding: 7px 10px; min-height: 36px; font: inherit; font-size: 12px; cursor: pointer; }
@media(max-width:480px) { .privacy-banner { padding: 18px; border-radius: 14px; } .privacy-actions { flex-wrap: wrap; } .privacy-actions .privacy-close { flex-basis: 100%; } }
