/* DRIM® — banner e pannello dei consensi cookie, nei colori del brand kit (usa i token del tema se ci sono).
   "Rifiuta" e "Accetta" hanno lo stesso peso; la X equivale a rifiutare (linee guida del Garante, 2021). */
.drim-cc{position:fixed;z-index:99999;inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px;display:flex;justify-content:flex-start;pointer-events:none;font-family:var(--f-text,"Source Sans 3",system-ui,sans-serif)}
.drim-cc__box{pointer-events:auto;position:relative;width:100%;max-width:26rem;background:#fff;color:var(--antracite,#333);border:1px solid var(--salvia-20,#e2e5e2);border-radius:20px;box-shadow:0 18px 44px -12px rgba(63,74,64,.35),0 2px 8px rgba(63,74,64,.1);padding:16px 18px 16px;font-size:.9375rem;line-height:1.5;animation:drim-cc-in .45s cubic-bezier(.16,1,.3,1)}
@keyframes drim-cc-in{from{transform:translateY(16px)}}
.drim-cc__title{margin:0 2.5rem 4px 0;font:800 1.0625rem/1.3 var(--f-display,"Nunito",system-ui,sans-serif);color:var(--notte,#4c584c)}
.drim-cc__text{margin:0 0 12px;color:var(--antracite,#333)}
.drim-cc__text a{color:var(--notte,#4c584c);text-decoration:underline;text-underline-offset:2px}
.drim-cc__x{position:absolute;top:8px;right:8px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--notte,#4c584c);font-size:1.5rem;line-height:1;cursor:pointer}
.drim-cc__x:hover{background:var(--salvia-10,#f0f2f0)}
.drim-cc__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.drim-cc__btn{min-height:44px;padding:8px 14px;border-radius:999px;border:2px solid var(--notte,#4c584c);background:var(--notte,#4c584c);color:#fff;font:800 .9375rem/1.1 var(--f-display,"Nunito",system-ui,sans-serif);cursor:pointer;transition:background-color .2s}
.drim-cc__btn:hover{background:var(--notte-scura,#3f4a40);border-color:var(--notte-scura,#3f4a40)}
.drim-cc__btn--ghost{grid-column:1 / -1;order:3;background:transparent;color:var(--notte,#4c584c);border-color:var(--salvia-40,#c4cbc5);min-height:40px}
.drim-cc__btn--ghost:hover{background:var(--salvia-10,#f0f2f0);border-color:var(--notte,#4c584c)}
.drim-cc__btn:focus-visible,.drim-cc__x:focus-visible,.drim-cc-switch input:focus-visible{outline:3px solid var(--notte,#4c584c);outline-offset:2px}
.drim-cc-dialog{max-width:34rem;width:calc(100% - 24px);max-height:calc(100dvh - 24px);border:0;border-radius:24px;padding:24px;background:#fff;color:var(--antracite,#333);box-shadow:0 24px 70px rgba(33,39,34,.3);font-family:var(--f-text,"Source Sans 3",system-ui,sans-serif)}
.drim-cc-dialog::backdrop{background:rgba(33,39,34,.45)}
.drim-cc-dialog h2{margin:0 0 8px;font:800 1.375rem/1.2 var(--f-display,"Nunito",system-ui,sans-serif);color:var(--notte,#4c584c)}
.drim-cc-dialog__row{padding:14px 0;border-top:1px solid var(--salvia-20,#e2e5e2)}
.drim-cc-dialog__desc{margin:6px 0 0 3.4rem;font-size:.9375rem;color:var(--pietra,#5f5f5f)}
.drim-cc-dialog__id{font-size:.8125rem;color:var(--pietra,#5f5f5f);word-break:break-all}
.drim-cc-switch{display:flex;align-items:center;gap:12px;font-weight:700;cursor:pointer;min-height:44px}
.drim-cc-switch input{appearance:none;-webkit-appearance:none;width:2.75rem;height:1.6rem;border-radius:999px;background:var(--salvia-40,#c4cbc5);position:relative;cursor:pointer;flex:none;margin:0;transition:background .2s}
.drim-cc-switch input::after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.drim-cc-switch input:checked{background:var(--notte,#4c584c)}
.drim-cc-switch input:checked::after{transform:translateX(1.15rem)}
.drim-cc-switch input:disabled{opacity:.6;cursor:not-allowed}
.drim-table-wrap{overflow-x:auto}
.drim-cookie-table{width:100%;border-collapse:collapse;font-size:.9375rem}
.drim-cookie-table th,.drim-cookie-table td{border-bottom:1px solid var(--salvia-20,#e2e5e2);padding:8px 10px;text-align:left;vertical-align:top}
@media (min-width:1024px){.drim-cc{inset:auto 72px 20px auto;justify-content:flex-end}}
@media (prefers-reduced-motion:reduce){.drim-cc__box{animation:none}.drim-cc-switch input,.drim-cc-switch input::after{transition:none}}
