/* Digital Dept — cookie banner, preferences panel, legal pages */
.ddc,.ddc *{box-sizing:border-box;cursor:inherit}
.ddc{font-family:'Archivo',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.ddc a{color:#0FA98C;text-decoration:underline;text-underline-offset:2px}
.ddc-kicker{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0FA98C;margin-bottom:10px}
.ddc-txt{font-size:14.5px;line-height:1.55}
.ddc-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid currentColor;color:inherit;opacity:.55;transition:opacity .2s}
.ddc-x:hover,.ddc-x:focus-visible{opacity:1}

/* buttons: "Rifiuta" and "Accetta" share size, weight and contrast (equal prominence) */
.ddc-btn{font-family:'Archivo',sans-serif;font-size:15px;font-weight:700;line-height:1;padding:15px 22px;border-radius:100px;border:1.5px solid transparent;transition:transform .2s,background .2s,color .2s,border-color .2s;white-space:nowrap}
.ddc-btn:hover{transform:translateY(-1px)}
.ddc-btn:focus-visible,.ddc-x:focus-visible,.ddc-switch input:focus-visible+span,.ddc-details summary:focus-visible{outline:2px solid #0FA98C;outline-offset:3px}
.ddc-btn-solid{background:#F2EEE7;color:#131211}
.ddc-btn-solid.ddc-btn-accent{background:#0FA98C;color:#0E0D0C}
.ddc-btn-ghost{background:transparent;color:#F2EEE7;border-color:rgba(242,238,231,.35)}
.ddc-btn-line{background:#fff;color:#131211;border-color:rgba(19,18,17,.22)}
.ddc-btn-line.ddc-btn-accent{background:#0FA98C;border-color:#0FA98C;color:#0E0D0C}

/* banner */
.ddc-banner{position:fixed;z-index:170;left:clamp(12px,2.4vw,32px);bottom:clamp(12px,2.4vw,32px);width:min(560px,calc(100vw - 24px));background:#0E0D0C;color:#F2EEE7;border:1px solid rgba(242,238,231,.14);border-radius:20px;padding:26px 26px 24px;box-shadow:0 24px 60px -20px rgba(0,0,0,.55);opacity:0;transform:translateY(24px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.ddc-banner.is-in{opacity:1;transform:none}
.ddc-banner .ddc-title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0 44px 10px 0}
.ddc-banner .ddc-txt{color:#cfc7bb;margin:0}
.ddc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ddc-actions .ddc-btn-solid{flex:1 1 0;min-width:120px}

/* preferences panel */
html.ddc-lock{overflow:hidden}
.ddc-overlay{position:fixed;inset:0;z-index:180;background:rgba(14,13,12,.55);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s ease}
.ddc-overlay.is-in{opacity:1}
.ddc-modal{position:relative;width:min(720px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;background:#F2EEE7;color:#131211;border-radius:22px;padding:clamp(24px,4vw,40px);box-shadow:0 30px 80px -24px rgba(0,0,0,.5);transform:translateY(16px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ddc-overlay.is-in .ddc-modal{transform:none}
.ddc-ptitle{font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0 48px 12px 0}
.ddc-modal .ddc-txt{color:#57524D;margin:0}
.ddc-cats{margin-top:22px}
.ddc-cat{border-top:1px solid rgba(19,18,17,.14);padding:18px 0}
.ddc-cat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.ddc-cat-title{font-size:18px;font-weight:800;letter-spacing:-.01em}
.ddc-cat-desc{font-size:14px;color:#57524D;line-height:1.55;margin:6px 0 0}
.ddc-always{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#0FA98C;white-space:nowrap;padding-top:4px}
.ddc-switch{position:relative;flex:none;width:50px;height:28px;margin-top:2px}
.ddc-switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;z-index:1}
.ddc-switch span{position:absolute;inset:0;border-radius:100px;background:rgba(19,18,17,.22);transition:background .2s}
.ddc-switch span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.ddc-switch input:checked+span{background:#0FA98C}
.ddc-switch input:checked+span::after{transform:translateX(22px)}
.ddc-details{margin-top:10px}
.ddc-details summary{font-family:'Space Mono',monospace;font-size:12px;color:#57524D;list-style:none;display:inline-flex;gap:8px;align-items:center}
.ddc-details summary::-webkit-details-marker{display:none}
.ddc-details summary::before{content:"+";color:#0FA98C;font-weight:700}
.ddc-details[open] summary::before{content:"\2212"}
.ddc-last{font-family:'Space Mono',monospace;font-size:11.5px;color:#948C82;margin:6px 0 0}
.ddc-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(19,18,17,.14)}
.ddc-foot .ddc-btn{flex:1 1 0;min-width:150px}

/* tables (panel + cookie policy) */
.ddc-table,.ddl-table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.45;margin-top:12px}
.ddc-table th,.ddl-table th{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#948C82;font-weight:400;text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid rgba(19,18,17,.14)}
.ddc-table td,.ddl-table td{padding:10px 10px 10px 0;border-bottom:1px solid rgba(19,18,17,.08);vertical-align:top;color:#57524D}
.ddc-table code,.ddl-table code{font-family:'Space Mono',monospace;font-size:12px;color:#131211;white-space:nowrap}

@media (max-width:640px){
  .ddc-banner{left:10px;right:10px;bottom:10px;width:auto;padding:22px 18px 18px;border-radius:18px}
  .ddc-banner .ddc-title{font-size:19px}
  .ddc-banner .ddc-txt{font-size:13.5px}
  .ddc-actions .ddc-btn-ghost{flex:1 1 100%}
  .ddc-overlay{padding:0;align-items:flex-end}
  .ddc-modal{border-radius:22px 22px 0 0;max-height:92vh;max-height:92dvh}
  .ddc-foot .ddc-btn{flex:1 1 100%}
  .ddc-table thead,.ddl-table thead{display:none}
  .ddc-table tr,.ddl-table tr{display:block;padding:10px 0;border-bottom:1px solid rgba(19,18,17,.1)}
  .ddc-table td,.ddl-table td{display:block;border:0;padding:2px 0}
  .ddc-table td::before,.ddl-table td::before{content:attr(data-l);display:block;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#948C82}
}
@media (prefers-reduced-motion:reduce){.ddc-banner,.ddc-overlay,.ddc-modal,.ddc-btn,.ddc-switch span::after{transition:none}}

/* legal pages (privacy / cookie policy) */
.ddl{padding:150px clamp(20px,4vw,56px) clamp(80px,11vh,140px);background:#F2EEE7;color:#131211}
.ddl-wrap{max-width:900px;margin:0 auto}
.ddl-crumb{display:flex;align-items:center;gap:10px;font-family:'Space Mono',monospace;font-size:12px;color:#948C82;margin-bottom:34px}
.ddl-crumb a{color:#948C82}
.ddl h1{font-size:clamp(38px,6vw,84px);line-height:.98;letter-spacing:-.03em;font-weight:800}
.ddl-lead{font-size:17px;color:#57524D;line-height:1.6;margin-top:22px;max-width:62ch}
.ddl-updated{font-family:'Space Mono',monospace;font-size:12px;color:#948C82;margin-top:18px}
.ddl-sec{padding:clamp(22px,3vw,34px) 0;border-top:1px solid rgba(19,18,17,.14)}
.ddl-sec:first-of-type{margin-top:clamp(30px,4vw,50px)}
.ddl-n{font-family:'Space Mono',monospace;font-size:12px;color:#0FA98C;margin-bottom:10px}
.ddl h2{font-size:clamp(20px,2.4vw,28px);font-weight:800;letter-spacing:-.02em}
.ddl h3{font-size:17px;font-weight:800;margin-top:18px}
.ddl p,.ddl li{font-size:16px;color:#57524D;line-height:1.65}
.ddl p{margin-top:12px}
.ddl ul{margin:12px 0 0 1.2em}
.ddl li{margin-top:6px}
.ddl strong{color:#131211}
.ddl a{color:#0FA98C;text-decoration:underline;text-underline-offset:2px}
.ddl-scroll{overflow-x:auto}
.ddl-btn{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-family:'Archivo',sans-serif;font-size:15px;font-weight:700;padding:14px 22px;border-radius:100px;background:#131211;color:#F2EEE7 !important;text-decoration:none !important;border:0}
.ddl-btn:hover{background:#0FA98C;color:#0E0D0C !important}
