/* Banner cookie — stesso design system del sito */
#ck-root{ font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; color:#222; }
#ck-root [hidden]{ display:none !important; }
.ck-banner{ position:fixed; z-index:1000; left:16px; right:16px; bottom:16px; max-width:980px; margin:0 auto; background:#fff; border:1px solid #DDD; border-radius:16px; box-shadow:0 8px 28px rgba(0,0,0,.2); padding:22px 56px 22px 24px; display:flex; gap:24px; align-items:center; }
.ck-txt h2{ font-size:17px; font-weight:700; margin:0 0 4px; }
.ck-txt p{ margin:0; font-size:14px; line-height:1.5; color:#3F3F3F; }
.ck-txt a{ text-decoration:underline; text-underline-offset:2px; }
.ck-btns{ display:flex; gap:8px; flex-shrink:0; }
.ck-btns button, .ck-mf button{ height:44px; padding:0 18px; border-radius:8px; border:1px solid #222; background:#fff; color:#222; font:inherit; font-size:14px; font-weight:600; cursor:pointer; white-space:nowrap; }
.ck-btns button:hover, .ck-mf button:hover{ background:#F2F2F2; }
.ck-x, .ck-x2{ position:absolute; top:10px; right:12px; width:34px; height:34px; border:0; background:none; border-radius:9999px; font-size:26px; line-height:1; color:#6A6A6A; cursor:pointer; }
.ck-x:hover, .ck-x2:hover{ background:#F2F2F2; color:#222; }
.ck-veil{ position:fixed; inset:0; z-index:1001; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; padding:16px; }
.ck-modal{ width:100%; max-width:560px; max-height:calc(100vh - 32px); background:#fff; border-radius:16px; box-shadow:0 8px 28px rgba(0,0,0,.28); display:flex; flex-direction:column; }
.ck-mh{ position:relative; padding:18px 56px 14px 24px; border-bottom:1px solid #EBEBEB; }
.ck-mh h2{ margin:0; font-size:20px; font-weight:700; }
.ck-mh .ck-x2{ top:12px; }
.ck-mb{ padding:8px 24px; overflow:auto; }
.ck-intro{ font-size:14px; color:#6A6A6A; margin:12px 0; line-height:1.5; }
.ck-cat{ padding:16px 0; border-top:1px solid #EBEBEB; }
.ck-cat-h{ display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:15px; }
.ck-cat p{ margin:6px 0 0; font-size:13px; color:#3F3F3F; line-height:1.5; }
.ck-cat .ck-svc{ color:#6A6A6A; }
.ck-on{ font-size:12px; font-weight:600; color:#1C8A57; background:#E7F5EE; padding:4px 10px; border-radius:9999px; white-space:nowrap; }
.ck-sw{ position:relative; display:inline-block; width:46px; height:28px; flex-shrink:0; }
.ck-sw input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; z-index:1; }
.ck-tr{ position:absolute; inset:0; background:#B0B0B0; border-radius:9999px; transition:background .15s; }
.ck-tr::after{ content:''; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:9999px; background:#fff; transition:transform .15s; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.ck-sw input:checked + .ck-tr{ background:#222; }
.ck-sw input:checked + .ck-tr::after{ transform:translateX(18px); }
.ck-sw input:focus-visible + .ck-tr{ outline:2px solid #222; outline-offset:2px; }
.ck-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.ck-mf{ display:flex; gap:8px; justify-content:flex-end; padding:16px 24px; border-top:1px solid #EBEBEB; flex-wrap:wrap; }
.ck-fab{ position:fixed; z-index:900; left:16px; bottom:16px; width:44px; height:44px; border-radius:9999px; border:1px solid #DDD; background:#fff; color:#222; box-shadow:0 2px 6px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.1); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.ck-fab:hover{ background:#F7F7F7; }
#ck-root button:focus-visible{ outline:2px solid #222; outline-offset:2px; }
@media (max-width:760px){
  .ck-banner{ flex-direction:column; align-items:stretch; gap:14px; padding:20px 18px 18px; left:8px; right:8px; bottom:8px; }
  .ck-btns{ flex-direction:column; }
  .ck-btns button{ width:100%; }
  .ck-mf button{ flex:1 1 100%; }
}
