.cookie-consent-banner{position:relative;box-sizing:border-box;width:min(940px,calc(100% - 32px));margin:16px auto;background:#fff;border:1px solid var(--line);box-shadow:0 6px 28px #00000014;border-radius:8px;padding:20px 24px;display:flex;align-items:center;gap:24px;letter-spacing:0}
.cookie-consent-banner[hidden]{display:none}
.cookie-consent-copy{min-width:0;flex:1}
.cookie-consent-copy h2{font-size:18px;line-height:1.35;margin:0 0 8px}
.cookie-consent-copy p{font-size:13px;line-height:1.5;margin:0;color:var(--muted)}
.cookie-consent-copy a,.cookie-consent-policy a{color:var(--violet);text-decoration:underline;text-underline-offset:3px}
.cookie-consent-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cookie-consent-banner .cookie-consent-actions{max-width:380px;justify-content:flex-end;flex-shrink:0}
.cookie-consent-actions .button{min-height:44px;font-size:14px;justify-content:center;padding:10px 14px}
.cookie-consent-banner .button{white-space:nowrap}
.cookie-consent-dialog{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border-radius:8px;border:1px solid var(--line);color:var(--ink);background:#fff;letter-spacing:0}
.cookie-consent-dialog::backdrop{background:#0007}
.cookie-consent-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.cookie-consent-heading h2{font-size:28px;line-height:1.25;margin:0}
.cookie-consent-heading .icon{width:44px;height:44px;flex:0 0 44px}
.cookie-consent-heading svg{width:20px;height:20px}
.cookie-consent-dialog>p{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 16px}
.cookie-consent-dialog .cookie-consent-option{display:flex;flex-direction:row;align-items:center;gap:12px;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;margin:0;cursor:pointer;text-align:left}
.cookie-consent-option>span{flex:1;min-width:0}
.cookie-consent-option strong{font-size:16px;line-height:1.4}
.cookie-consent-option small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:5px}
.cookie-consent-dialog .cookie-consent-option input{box-sizing:border-box;width:20px;height:20px;min-height:20px;max-height:20px;padding:0;margin:12px;flex:0 0 20px;accent-color:var(--violet);cursor:pointer}
.cookie-consent-policy{font-size:13px;line-height:1.5;margin:8px 0 22px}
.cookie-consent-revisit{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px!important}
.cookie-consent-revisit svg{width:18px;height:18px}
.cookie-consent-storage-note{display:block;font-size:12px;line-height:1.5;color:var(--muted)}
.cookie-consent-storage-note:empty{display:none}
.cookie-consent-banner button:focus-visible,.cookie-consent-dialog button:focus-visible,.cookie-consent-dialog input:focus-visible,.cookie-consent-revisit:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
body:has(dialog[open]) .cookie-consent-banner{visibility:hidden}
@media(max-width:760px){
 .cookie-consent-banner{display:block;padding:16px 18px}
 .cookie-consent-banner .cookie-consent-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;margin-top:14px}
 .cookie-consent-banner .cookie-consent-actions .button{width:100%;min-width:0;padding:10px 8px}
 .cookie-consent-banner .cookie-consent-actions .button:last-child{grid-column:1/-1}
 .cookie-consent-dialog{padding:20px}
 .cookie-consent-heading h2{font-size:24px}
 .cookie-consent-dialog .cookie-consent-actions{display:grid;grid-template-columns:1fr}
 .cookie-consent-dialog .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.cookie-consent-banner *,.cookie-consent-dialog *{transition:none!important}}
