.privacy-banner, .privacy-dialog { color:var(--ink); background:var(--surface,var(--white)); border:1px solid var(--line-strong); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow-l,var(--shadow)); font:inherit; }
.privacy-banner { position:fixed; z-index:1000; inset:auto 16px 16px; max-height:calc(100dvh - 32px); overflow:auto; display:flex; align-items:center; gap:24px; }
.privacy-banner[hidden], .privacy-status[hidden] { display:none; }
.privacy-banner p, .privacy-dialog p { font-size:15px; color:var(--ink-soft); margin:8px 0 16px; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.privacy-dialog { width:min(640px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; }
.privacy-dialog::backdrop { background:rgb(0 0 0 / .55); }
.privacy-dialog h2 { font-size:24px; margin-bottom:16px; }
.privacy-dialog label { display:flex; gap:10px; align-items:flex-start; font-weight:600; }
.privacy-dialog input { width:20px; height:20px; flex:none; accent-color:var(--accent,var(--emerald)); margin:3px 0; }
.privacy-dialog .privacy-status { padding:12px; background:var(--mist); border-radius:var(--radius-sm); }
.site-footer .privacy-footer-button { color:inherit; background:none; border:0; padding:0; font:inherit; text-align:start; text-decoration:underline; cursor:pointer; }
@media(max-width:800px) { .privacy-banner { display:block; padding:18px; } .privacy-actions .btn { flex:1 1 180px; } }
