/* COOKIE BANNER + SETTINGS DIALOG (A9) === */
.ck{position:fixed;left:var(--gut);right:var(--gut);bottom:16px;z-index:80;max-width:700px;margin-left:auto;background:var(--chalk);border:1px solid var(--graphite);box-shadow:0 20px 40px -20px color-mix(in srgb,var(--text-color) 60%,transparent);padding:1.1rem 1.2rem;font-size:.9rem}
.ck[hidden]{display:none}
.ck.show{animation:ckIn .36s ease-out both}
@keyframes ckIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.ck h2{font-size:1.3rem;margin:0 0 .3rem}
.ck p{margin:0 0 .8rem}
.ck .row{margin-top:0;gap:.5rem}
.gpc{font-size:.82rem;color:var(--ok);font-weight:700}
dialog.ckd{border:1px solid var(--graphite);background:var(--chalk);color:var(--graphite);padding:clamp(18px,3vw,30px);width:min(540px,calc(100vw - 32px));border-radius:var(--r)}
dialog.ckd::backdrop{background:color-mix(in srgb,var(--text-color) 45%,transparent)}
.ck-r{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--rule)}
.ck-r p{margin:.2rem 0 0;font-size:.85rem;color:var(--ink2)}
.sw{position:relative;width:46px;height:26px;flex:none}
.sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}
.sw span{position:absolute;inset:0;border:1px solid var(--graphite);border-radius:20px;background:var(--white);transition:background .25s;pointer-events:none}
.sw span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--graphite);transition:transform .25s var(--ease)}
.sw input:checked+span{background:var(--sang);border-color:var(--sang)}
.sw input:checked+span::after{transform:translateX(20px);background:var(--white)}
.sw input:focus-visible+span{outline:2px solid var(--sang);outline-offset:3px}
.sw input:disabled+span{opacity:.55}

