/* Cookie panels follow the header's dark pill surfaces and button transitions. */
.consent-banner,.consent-dialog{
 background:#171717;color:var(--ink);border:1px solid #303030;border-radius:3px;
 padding:24px;font:14px/1.6 'Helvetica Neue',Helvetica,Arial,sans-serif;
 width:min(420px,calc(100vw - 2 * var(--gutter)));max-height:calc(100dvh - 36px);overflow:auto;
}
.consent-banner{
 position:fixed;z-index:45;inset:auto var(--gutter) 18px auto;
 display:grid;grid-template-columns:minmax(0,1fr);gap:12px;
}
.consent-banner h2,.consent-dialog h2{
 font-family:inherit;font-size:19px;font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:0 0 8px;
}
.consent-banner p,.consent-dialog p{font-size:14px;line-height:1.5;margin:0}
.consent-banner p,.consent-dialog>p:not(.consent-current){color:#ccc}
.consent-banner a,.consent-policy{text-decoration:none;color:var(--ink)}
.consent-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:#303030;border-radius:3px;overflow:hidden}
.consent-banner .consent-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.consent-actions button{
 min-height:44px;border:0;padding:12px 10px;
 font-size:14px;font-weight:600;line-height:1.3;border-radius:0;background-color:#222;color:var(--ink);
 background-image:none;
}
.consent-actions button.interaction-secondary:is(:focus-visible,:active){background-color:#d0d0d0;color:#111}
@media(hover:hover){
 .consent-actions button.interaction-secondary:hover{background-color:#d0d0d0;color:#111}
}
.consent-dialog{inset:auto var(--gutter) 18px auto;margin:0}
.consent-dialog::backdrop{background:rgb(0 0 0/.55)}
.consent-dialog p+p,.consent-dialog .consent-actions{margin-top:10px}
.consent-current{font-weight:600;color:var(--ink)}
.consent-message:empty{display:none}
.consent-message{grid-column:1/-1}
.consent-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:#ccc}
.consent-dialog .consent-meta{margin-top:10px}
.consent-policy{display:inline-flex;align-items:center;margin:0;min-height:32px;font-size:12px}
.consent-settings-link{font-size:inherit;text-decoration:none;min-height:44px}
@media(max-width:700px){
 .consent-banner,.consent-dialog{width:calc(100vw - 24px);padding:20px;max-height:calc(100dvh - 24px);inset:auto 12px 12px auto}
 .footer-bottom{flex-wrap:wrap;gap:12px}
}
@media(prefers-reduced-motion:reduce){.consent-actions button{transition:none}}
@media print{.consent-banner,.consent-dialog{display:none!important}}

/* The initial consent prompt clears the existing phone navigation pill. */
@media screen and (max-width:1023px){
 .consent-banner,.consent-dialog{overscroll-behavior:contain;overflow-wrap:anywhere}
 .consent-policy{min-height:44px}
}
@media screen and (max-width:700px){
 .consent-banner,.consent-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}
@media screen and (max-width:599px){
 .consent-banner{bottom:calc(76px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 88px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 .consent-dialog{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}
/* Short zoomed viewports keep the initial prompt in the document's scroll flow. */
@media screen and (max-width:767px) and (max-height:500px){
 .consent-banner{position:relative;inset:auto;margin:12px;width:calc(100% - 24px);max-height:none;overflow:visible;z-index:auto}
}
