.privacy-banner[hidden] { display: none; }
.privacy-banner { position: fixed; bottom: 20px; inset-inline: 20px; z-index: 1100; margin-inline: auto; max-width: 1120px; padding: 24px; display: flex; align-items: center; gap: 28px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--navy); box-shadow: 0 12px 40px rgba(0,0,0,.18); max-height: calc(100dvh - 40px); overflow-y: auto; }
:root body .privacy-banner h2 { font-size: 20px; line-height: 1.3; margin: 0 0 8px; text-align: left; }
:root body .privacy-banner p { font-size: 15px; line-height: 1.5; text-align: left; margin: 0 0 8px; color: var(--text); }
.privacy-banner-copy { flex: 1; }
.privacy-banner-actions { display: flex; gap: 12px; flex-shrink: 0; }
.privacy-choice { padding: 12px 16px; border: 1px solid var(--line); border-radius: 7px; background: var(--soft); color: var(--navy); font: 600 16px var(--font-text); cursor: pointer; }
.privacy-choice:hover { border-color: var(--blue); }
.privacy-settings { border: 0; padding: 0; background: none; color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
[data-theme='dark'] .privacy-banner { background: #142135; }
@media (max-width: 767px) {
    .privacy-banner { bottom: 12px; inset-inline: 12px; padding: 20px; flex-direction: column; align-items: stretch; gap: 12px; }
    .privacy-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .privacy-choice { padding-inline: 8px; }
}
