.privacy-backdrop { position: fixed; inset: 0; z-index: 9000; background: rgba(10, 16, 28, .62); }
.privacy-gate, .privacy-centre { position: fixed; z-index: 9001; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(94vw, 560px); max-height: 88vh; overflow: auto; box-sizing: border-box; padding: 1.5rem; border-radius: 16px; background: #fff; color: #152033; box-shadow: 0 20px 60px rgba(0,0,0,.3); font-family: Inter, Arial, sans-serif; }
.privacy-gate h2, .privacy-centre h2 { margin: 0 0 .8rem; font-size: 1.25rem; }
.privacy-gate p, .privacy-centre p { line-height: 1.5; }
.privacy-links a { color: #174ea6; font-weight: 600; }
.privacy-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.privacy-actions button, .privacy-analytics-choice button, .privacy-open { border: 1px solid #315ca8; border-radius: 8px; padding: .7rem .9rem; background: #fff; color: #173d7a; cursor: pointer; font: inherit; }
.privacy-actions .privacy-primary, .privacy-primary { background: #174ea6; color: #fff; }
.privacy-analytics-choice { border-top: 1px solid #dce3ef; padding-top: 1rem; }
.privacy-checkbox { display: flex; align-items: center; gap: .55rem; margin-top: .65rem; font-weight: 600; }
.privacy-checkbox input { width: 1.15rem; height: 1.15rem; }
.privacy-danger { border-color: #a11 !important; color: #8b0000 !important; }
.privacy-open {
    flex: 0 0 auto;
    padding: .45rem .65rem;
    font-size: .72rem;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: none;
}
.privacy-close { float: right; border: 0; background: none; font-size: 1.6rem; cursor: pointer; }
.privacy-toggle { display: block; margin: 1rem 0; }
.privacy-small { color: #526275; font-size: .88rem; }
.privacy-error { color: #a11; }
@media (max-width: 520px) {
    .privacy-gate, .privacy-centre { padding: 1.15rem; }
    .privacy-open { padding: .42rem .55rem; font-size: .68rem; }
}
