/* Privacy controls, kept separate from the approved homepage layout. */
[hidden]{display:none!important}
:is(.consent-banner,.consent-dialog,.consent-status){--ink:#202020;--line:#dedbd6;--red:#cf142c}
.consent-actions .btn{padding:12px 18px;border-radius:8px;font-weight:700}
:is(.consent-banner,.consent-dialog) .textlink{text-decoration:underline;text-underline-offset:3px}
.consent-dialog .small{margin:14px 0}
.footer-bottom{flex-wrap:wrap}
.footer-bottom .privacy-settings-button{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;text-underline-offset:3px}
.consent-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:80;max-width:1140px;margin:auto;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 40px rgba(0,0,0,.2);max-height:70svh;overflow:auto}
.consent-banner h2{font-size:22px;margin-bottom:10px;letter-spacing:-.02em;line-height:1.25}
.consent-banner p{font-size:14px;line-height:1.6;margin-bottom:10px}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.consent-banner .consent-actions{display:grid;grid-template-columns:1fr;min-width:190px}
.consent-actions .btn{background:#fff;color:var(--ink);border:1px solid #777;box-shadow:none;min-height:44px;font-size:14px;text-align:center;cursor:pointer}
.consent-actions .btn:hover{background:#f4f2ef}
.consent-actions .textlink{background:transparent;border:0;font:inherit;cursor:pointer;padding:8px 0;font-size:14px;text-decoration:underline}
.consent-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:min(620px,calc(100vw - 32px));max-height:85svh;overflow:auto;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 12px 45px rgba(0,0,0,.24);z-index:100}
.consent-dialog[open]{display:block}
.consent-dialog::backdrop{background:rgba(20,20,20,.5)}
.consent-dialog h2{font-size:26px;padding-right:30px;margin-bottom:18px;line-height:1.25}
.consent-dialog p,.consent-dialog .consent-category>span{font-size:14px;line-height:1.7}
.consent-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border:0;background:transparent;font-size:30px;cursor:pointer;color:var(--ink)}
.consent-category{padding:18px 0;margin:0;border-top:1px solid var(--line)}
.consent-category>strong{display:block;font-size:16px;margin-bottom:7px}
.consent-category>span{display:block;color:#5b5c60}
.consent-checkbox{display:flex;gap:12px;align-items:center;font-size:16px;margin-bottom:10px;cursor:pointer}
.consent-checkbox input{width:21px;height:21px;flex:0 0 auto;accent-color:var(--red)}
.consent-dialog .analytics-availability{padding:12px;background:#f5f2ef;border-radius:8px;margin-top:14px;margin-bottom:0}
.consent-status{position:fixed;bottom:20px;left:20px;z-index:75;max-width:450px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 16px #0001;font-size:13px;line-height:1.5}
@media(max-width:760px){.consent-banner{left:12px;right:12px;bottom:76px;padding:20px;grid-template-columns:1fr;gap:16px}.consent-banner .consent-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0}.consent-banner .consent-actions .textlink{grid-column:1 / -1}.consent-dialog{padding:24px}.consent-status{left:12px;right:12px;bottom:76px;max-width:none}}
@media(max-width:380px){.consent-banner .consent-actions{grid-template-columns:1fr}.consent-actions .btn{width:100%}}

