/* Full-width dark panel: consent choices receive equal emphasis. */
.cookie-banner[hidden],.cookie-feedback[hidden]{display:none}
.cookie-banner{position:fixed;z-index:100;inset:auto 0 0;background:#111;color:#fff;border-top:1px solid #444;padding:24px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;align-items:center;gap:36px;max-height:80svh;overflow:auto;overscroll-behavior:contain}
.cookie-banner>.cookie-actions{margin-inline-start:auto;flex-shrink:0}.cookie-copy{min-width:0;flex:1;max-width:760px}.cookie-copy h2,.cookie-dialog h2{font-size:20px;line-height:1.3;letter-spacing:-.02em;font-weight:500;margin:0}.cookie-copy p{font-size:14px;color:#c8c8c8;line-height:1.5;margin:9px 0}.cookie-copy nav{display:flex;gap:20px;font-size:13px}.cookie-copy a,.cookie-dialog a{text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:12px;flex-wrap:wrap}.cookie-actions button,.cookie-dialog-heading button{font:500 14px/1.3 var(--site-inter,Inter),Arial,sans-serif;min-height:44px;padding:12px 16px;border:1px solid #999;background:transparent;color:inherit;border-radius:6px;cursor:pointer}.cookie-actions button:hover{background:#303030}.cookie-actions button:disabled{opacity:.6;cursor:wait}.cookie-actions button span{margin-inline:2px}
.cookie-settings-link{font:inherit;background:none;color:inherit;padding:0;border:0;text-decoration:underline;text-underline-offset:3px;min-height:44px}.cookie-settings-link[hidden]{display:none}
.cookie-dialog{color:#fff;background:#111;border:1px solid #555;border-radius:12px;width:min(620px,calc(100% - 24px));max-height:calc(100svh - 32px);padding:28px;overflow:auto}.cookie-dialog::backdrop{background:#0008}.cookie-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.cookie-dialog>p{font-size:14px;line-height:1.5;color:#c8c8c8;margin:20px 0}.cookie-category{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-top:1px solid #555}.cookie-category h3{font-size:16px;font-weight:500;margin:0}.cookie-category p{font-size:14px;line-height:1.5;color:#c8c8c8;margin:8px 0 0}.cookie-category>span{white-space:nowrap;font-size:12px;color:#ccc}.cookie-category input{accent-color:#2368ff;width:24px;height:24px;flex:none}.cookie-feedback{pointer-events:none;position:fixed;top:calc(60px + env(safe-area-inset-top));max-height:20svh;overflow:auto;left:16px;right:16px;padding:16px;background:#111;color:#fff;z-index:101;font-size:14px;border:1px solid #888}.cookie-status:empty{display:none}
.cookie-banner :focus-visible,.cookie-dialog :focus-visible{outline:2px solid #8db3ff;outline-offset:4px}body{padding-bottom:var(--cookie-panel-space,0px)}
.policy-content{max-width:900px}.privacy-page .policy-content h2{font-size:24px;font-weight:500;margin:32px 0 14px}.privacy-page .policy-content p{font-size:16px;line-height:1.7;margin:16px 0;white-space:pre-line;overflow-wrap:anywhere}.privacy-page .policy-content .policy-meta{color:#636363;font-size:14px}
@media(max-width:809px){.cookie-banner{display:block;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.cookie-actions{margin-top:20px;gap:8px}.cookie-banner .cookie-actions button{flex:1;white-space:nowrap}.cookie-banner .cookie-actions button:last-child{flex-basis:100%}.cookie-dialog{padding:20px}.cookie-copy h2{font-size:18px}}
@media(max-width:359px){.cookie-banner .cookie-actions button{flex-basis:100%}}
@media(max-width:359px){.cookie-dialog-heading{gap:12px}.cookie-dialog h2{font-size:18px}.cookie-dialog-heading button{padding-inline:12px}}

/* Animate only once the page has its final fonts and prepared first frame. */
html.page-ready:not(.page-static) .cookie-banner:not([hidden]){animation:cookie-enter 1s cubic-bezier(.22,.61,.36,1) .2s both}
@keyframes cookie-enter{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:809px){.cookie-banner>.cookie-actions{margin-inline-start:0}}
@media(prefers-reduced-motion:reduce){html.page-ready:not(.page-static) .cookie-banner:not([hidden]){animation:none}}

/* Keep a visible native pointer in the modal top layer, even before JS reacts. */
html.has-custom-cursor .cookie-dialog[open],html.has-custom-cursor .cookie-dialog[open] *{cursor:auto!important}
html.has-custom-cursor .cookie-dialog[open] :is(button,a,input,label){cursor:pointer!important}
.cookie-dialog::backdrop{cursor:default!important}

/* Native checkbox semantics, with a 52×44 hit area around the smaller switch. */
.cookie-category input[type="checkbox"]{appearance:none;-webkit-appearance:none;position:relative;display:block;width:52px;height:44px;margin:0;border:0;border-radius:16px;background:transparent;cursor:pointer;flex:none}
.cookie-category input[type="checkbox"]::before{content:"";position:absolute;inset:8px 0;border:1px solid #999;border-radius:999px;background:#292929;transition:background .22s,border-color .22s}
.cookie-category input[type="checkbox"]::after{content:"";position:absolute;top:12px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .22s cubic-bezier(.2,.75,.25,1)}
.cookie-category input[type="checkbox"]:checked::before{background:var(--blue,#2368ff);border-color:var(--blue,#2368ff)}
.cookie-category input[type="checkbox"]:checked::after{transform:translateX(24px)}
@media(prefers-reduced-motion:reduce){.cookie-category input::before,.cookie-category input::after{transition:none}}
@media(forced-colors:active){.cookie-category input[type="checkbox"]{appearance:auto;-webkit-appearance:auto}.cookie-category input::before,.cookie-category input::after{display:none}}
