#visions-cookie-ui { --cookie-ink:#0b0b0c; --cookie-paper:#f4f1ea; font-family:var(--sans,'Helvetica Neue',Arial,sans-serif); color:var(--cookie-ink); color-scheme:light; }
#visions-cookie-ui [hidden] { display:none!important; }
.cookie-notice { position:fixed; z-index:1000; bottom:20px; left:20px; right:20px; margin:0 auto; max-width:1180px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:24px; padding:24px 60px 24px 28px; background:#f4f1ea; border:1px solid #0b0b0c; box-shadow:0 8px 40px #0003; }
.cookie-notice h2 { margin:0 0 8px; font:400 30px/1.05 var(--serif,Georgia,serif); letter-spacing:-.02em; }
.cookie-notice p { margin:0; max-width:70ch; font-size:15px; line-height:1.45; }
#visions-cookie-ui a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; gap:10px; flex-wrap:wrap; }
.cookie-actions button { appearance:none; border:1px solid #0b0b0c; border-radius:0; min-height:44px; padding:11px 16px; font:inherit; font-size:15px; line-height:1.25; color:#0b0b0c; background:#f4f1ea; cursor:pointer; white-space:nowrap; }
.cookie-actions button:hover { background:#dcb4ff; }
.cookie-actions button:focus-visible,.cookie-text-link:focus-visible,.cookie-footer-link:focus-visible,.cookie-close:focus-visible,.cookie-dismiss:focus-visible { outline:2px solid #23408e; outline-offset:4px; }
.cookie-text-link { appearance:none; color:inherit; background:none; border:0; font:inherit; font-size:14px; text-decoration:underline; text-underline-offset:3px; padding:8px 0 0; cursor:pointer; }
.cookie-footer-link { appearance:none; border:0; color:inherit; background:none; padding:0; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cookie-dialog { position:fixed; inset:0; width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:36px; border:1px solid #0b0b0c; border-radius:0; background:#f4f1ea; color:#0b0b0c; overflow:auto; }
.cookie-dialog::backdrop { background:#000a; }
.cookie-dialog h2 { font:400 44px/1.05 var(--serif,Georgia,serif); margin:12px 0 24px; letter-spacing:-.02em; }
.cookie-dialog h3 { font-size:19px; line-height:1.3; margin:24px 0 8px; }
.cookie-dialog h3 span { font-size:13px; font-weight:400; margin-left:8px; }
.cookie-dialog h3 label { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; }
.cookie-dialog input[type="checkbox"] { width:20px; height:20px; margin:0; accent-color:#23408e; flex-shrink:0; }
.cookie-dialog input:focus-visible { outline:2px solid #23408e; outline-offset:4px; }
.cookie-dialog p { font-size:16px; line-height:1.5; margin:0 0 16px; }
.cookie-dialog .cookie-eyebrow { font-size:13px; margin:0; }
.cookie-dialog .cookie-actions { margin-top:24px; }
.cookie-close,.cookie-dismiss { position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; background:none; color:inherit; font-size:30px; cursor:pointer; }
.cookie-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:760px) { .cookie-notice { left:12px; right:12px; bottom:12px; padding:20px; gap:16px; grid-template-columns:1fr; max-height:calc(100dvh - 24px); overflow:auto; } .cookie-notice h2 { padding-right:34px; } .cookie-dismiss { top:8px; right:6px; } .cookie-actions { display:grid; grid-template-columns:1fr 1fr; } .cookie-actions button { white-space:normal; } .cookie-dialog { padding:28px 24px; } }
