/* Public-only cookie information: same tokens, type and action primitives as the site. */
.public-shell .cookie-notice {
    position:fixed; z-index:90; inset:auto auto max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
    width:min(470px,calc(100% - 40px)); max-height:calc(100dvh - 40px); overflow:auto;
    padding:28px; background:var(--gk-bg-surface); border:1px solid var(--gk-border);
    border-radius:var(--gk-radius-lg); box-shadow:var(--gk-shadow-raised);
}
.cookie-notice[hidden],.cookie-storage-note[hidden] { display:none; }
.cookie-heading { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.cookie-symbol { display:grid; place-items:center; width:36px; height:36px; color:var(--gk-action-primary); background:var(--gk-bg-soft); border-radius:var(--gk-radius-md); }
.cookie-heading .p-kicker,.cookie-dialog-heading .p-kicker { margin:0; }
.cookie-notice h2,.cookie-dialog h2 { font-size:clamp(24px,4vw,30px); line-height:1.2; letter-spacing:-.04em; margin:0 0 14px; }
.cookie-notice>p,.cookie-dialog>p,.cookie-category>p,.cookie-inventory dd { font-size:13px; line-height:1.8; }
.cookie-notice>p>a { color:var(--gk-action-primary); text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.public-shell .cookie-dialog {
    width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:32px;
    overscroll-behavior:contain; overflow:auto;
}
.cookie-dialog::backdrop { background:var(--gk-overlay); }
.cookie-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.cookie-close { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid var(--gk-border-strong); border-radius:var(--gk-radius-action); color:var(--gk-text-primary); background:var(--gk-bg-surface); }
.cookie-close:hover { background:var(--gk-bg-soft); }
.cookie-category { margin-top:24px; padding:20px; border:1px solid var(--gk-border); border-radius:var(--gk-radius-md); background:var(--gk-bg-soft); }
.cookie-category label { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:14px; }
.cookie-category input:disabled { opacity:1; cursor:default; }
.cookie-category>p { margin-top:12px; }
.cookie-inventory { display:grid; grid-template-columns:minmax(0,1fr); margin:24px 0 0; }
.cookie-inventory dt { margin-top:18px; font:500 12px/1.7 var(--gk-font-mono); overflow-wrap:anywhere; }
.cookie-inventory dt:first-child { margin-top:0; }
.cookie-inventory dd { margin:6px 0 0; color:var(--gk-text-secondary); }
.cookie-storage-note { margin-top:20px; color:var(--gk-text-secondary); }
.public-footer-bottom .cookie-settings-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:480px) {
    .public-shell .cookie-notice { inset-inline:12px; bottom:max(12px,env(safe-area-inset-bottom)); width:auto; padding:22px; max-height:calc(100dvh - 24px); }
    .public-shell .cookie-dialog { padding:22px; }
    .cookie-notice .cookie-actions { align-items:stretch; flex-direction:column; }
    .cookie-category { padding:16px; }
}
