/* Consent UI only: the approved editorial layout is untouched. */
[hidden] { display:none !important; }
.privacy-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:22px; }
.privacy-links a,.privacy-links button,.privacy-notice { color:var(--parchment); font:400 13px/1.65 var(--sans); }
.privacy-links button { border:0; background:none; padding:0; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.privacy-notice { max-width:880px; margin-top:18px; }
.privacy-notice summary { cursor:pointer; }
.privacy-notice[open] { border-top:1px solid var(--muted); padding-top:24px; }
.privacy-notice h3 { font:500 19px/1.35 var(--sans); margin:28px 0 10px; }
.privacy-notice p,.privacy-notice li { font-size:14px; margin:10px 0; line-height:1.75; }
.privacy-notice ul { padding-left:22px; }
.privacy-notice a { color:inherit; text-decoration:underline; overflow-wrap:anywhere; }
.privacy-notice code { font-size:12px; overflow-wrap:anywhere; }
.consent-banner { position:fixed; z-index:1300; bottom:18px; left:24px; right:24px; max-width:1120px; margin:0 auto; display:flex; align-items:center; gap:32px; padding:24px 28px; color:var(--warm); background:var(--parchment); border:1px solid var(--stone); box-shadow:0 8px 36px #231e1529; max-height:calc(100dvh - 100px); overflow-y:auto; }
.consent-copy { flex:1; }
.consent-banner h2,.consent-dialog h2 { margin:0 0 8px; font:500 28px/1.1 var(--serif); }
.consent-banner p,.consent-banner a,.consent-dialog { font:400 14px/1.6 var(--sans); }
.consent-banner p { margin:0 0 6px; }
.consent-banner a,.consent-dialog a { color:var(--teal-d); text-decoration:underline; text-underline-offset:3px; }
.consent-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px; }
.consent-banner .consent-actions { flex:0 1 355px; }
.consent-actions button { flex:1 1 135px; min-height:44px; padding:10px 14px; border:1px solid var(--teal-d); color:var(--parchment); background:var(--teal-d); font:500 13px/1.3 var(--sans); cursor:pointer; }
.consent-actions button:hover { background:var(--teal); }
.consent-actions .consent-text-button { flex-basis:100%; padding:0; min-height:30px; color:var(--teal-d); border-color:transparent; background:transparent; text-decoration:underline; text-underline-offset:3px; }
.consent-dialog { margin:auto; width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow-y:auto; padding:36px; border:1px solid var(--stone); color:var(--warm); background:var(--parchment); box-shadow:0 16px 70px #231e1540; }
.consent-dialog::backdrop { background:#231e1570; }
.consent-dialog h2 { padding-right:30px; font-size:34px; }
.consent-dialog p { margin:12px 0; }
.consent-close { position:absolute; top:12px; right:12px; width:44px; height:44px; border:0; background:transparent; color:var(--warm); cursor:pointer; font:400 27px/1 var(--sans); }
.consent-category { margin-top:18px; padding-top:18px; border-top:1px solid var(--stone); }
.consent-category label { display:flex; align-items:center; gap:12px; cursor:pointer; min-height:44px; }
.consent-category input { width:20px; height:20px; accent-color:var(--teal-d); }
.consent-dialog .consent-actions { margin-top:22px; }
.consent-status { color:var(--teal-d); font-size:13px; }
.consent-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:680px) {
 .consent-banner { left:12px; right:12px; bottom:12px; padding:18px; gap:14px; flex-direction:column; align-items:stretch; }
 .consent-banner .consent-actions { flex:0 0 auto; }
 .consent-banner .consent-actions button:not(.consent-text-button) { flex:1 1 calc(50% - 5px); min-width:0; font-size:12px; padding:10px 8px; }
 .consent-banner h2 { font-size:25px; }
 .consent-banner p,.consent-banner a { font-size:13px; }
 .consent-dialog { padding:28px 22px; }
 .consent-dialog h2 { font-size:29px; }
}
