.privacy-banner[hidden] { display: none; }
.privacy-banner { position: fixed; z-index: 1000; left: 20px; bottom: 20px; width: min(490px, calc(100vw - 40px)); padding: 22px; background: #fff; color: #161817; border: 1px solid #d6dbd8; border-radius: 14px; box-shadow: 0 8px 36px #16181718; }
.privacy-banner strong { font-size: 16px; }
.privacy-banner p, .privacy-dialog p { font-size: 13px; line-height: 1.6; margin: 9px 0 15px; }
.privacy-banner a { text-decoration: underline; }
.privacy-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.privacy-actions button { flex: 1; min-height: 44px; padding: 10px 12px; border: 1px solid #c5ceca; border-radius: 6px; background: #f7f8f6; color: #161817; font: inherit; font-size: 12px; cursor: pointer; }
.privacy-actions button:hover { background: #edf2f0; }
.privacy-actions button:focus-visible, .privacy-dialog input:focus-visible { outline: 2px solid #1454eb; outline-offset: 3px; }
.privacy-dialog { width: min(500px, calc(100vw - 32px)); max-height: 85dvh; padding: 26px; border: 1px solid #d6dbd8; border-radius: 14px; color: #161817; }
.privacy-dialog::backdrop { background: #16181766; }
.privacy-dialog h2 { font-size: 27px; }
.privacy-dialog label { display: flex; gap: 12px; padding: 14px 0; align-items: flex-start; border-top: 1px solid #e5e9e6; }
.privacy-dialog input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: #1454eb; }
.privacy-dialog small { display: block; font-size: 12px; line-height: 1.6; margin-top: 4px; color: #526057; }
.privacy-dialog .privacy-actions { margin-top: 18px; }
.privacy-status { color: #9d342b; }
.privacy-settings-link { border: 0; padding: 0; background: none; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; }
@media (max-width: 600px) { .privacy-banner { bottom: 84px; padding: 16px; } }
