/* Stile comune delle pagine legali (privacy, cookie, note legali). Stessi colori e caratteri di index.html. */
:root{
  --cipria:#FBEBEF;--cipria-2:#FDF4F6;--petalo:#F4CCD6;
  --rosa:#B0305F;--rosa-deep:#8C1F48;--prugna:#3B1F2C;--malva:#7C5A68;--line:#F0D9DF;
  --f-display:"Bricolage Grotesque",system-ui,sans-serif;
  --f-body:"Figtree",system-ui,sans-serif;
  --gutter:clamp(20px,4vw,40px);
  --ease:cubic-bezier(.22,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--prugna);font-family:var(--f-body);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--rosa-deep);text-underline-offset:3px}
a:hover{color:var(--rosa)}
:focus-visible{outline:2.5px solid var(--rosa);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}

.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100% - var(--gutter)*2,1100px);margin-inline:auto;min-height:68px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--prugna)}
.brand__mark{width:20px;height:20px;border-radius:4px;background:var(--rosa);transform:rotate(45deg);box-shadow:inset 0 0 0 5px var(--rosa),inset 0 0 0 7px #fff}
.brand__name{font-family:var(--f-display);font-weight:700;font-size:1.35rem;letter-spacing:-.03em;white-space:nowrap}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--prugna);color:var(--prugna);text-decoration:none;font-weight:600;font-size:.95rem;transition:background-color .3s,color .3s,border-color .3s}
.back:hover{background:var(--rosa);border-color:var(--rosa);color:#fff}

.hero{background:var(--cipria-2);padding:clamp(48px,7vw,88px) 0 clamp(36px,5vw,56px)}
.wrap{width:min(100% - var(--gutter)*2,780px);margin-inline:auto}
h1,h2,h3{font-family:var(--f-display);font-weight:650;letter-spacing:-.02em;line-height:1.1;margin:0}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.hero p{margin:14px 0 0;color:var(--malva)}
.doc{padding:clamp(40px,6vw,72px) 0 clamp(64px,8vw,96px)}
.doc h2{font-size:clamp(1.4rem,2.6vw,1.75rem);margin:48px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.doc h2:first-child{margin-top:0;padding-top:0;border-top:0}
.doc h3{font-size:1.15rem;margin:26px 0 8px}
.doc p{margin:0 0 14px}
.doc ul{margin:0 0 16px;padding-left:1.3em}
.doc li{margin-bottom:6px}
.doc li::marker{color:var(--rosa)}
.lead{font-size:1.12rem}
.box{margin:20px 0;padding:20px 22px;border-radius:20px;background:var(--cipria-2);border:1px solid var(--line)}
.box p:last-child{margin-bottom:0}
.facts{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:0;margin:0 0 16px;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.facts dt,.facts dd{margin:0;padding:12px 16px;border-top:1px solid var(--line)}
.facts dt{font-weight:600;background:var(--cipria-2)}
.facts dt:first-of-type,.facts dt:first-of-type + dd{border-top:0}
.table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:.95rem}
.table th,.table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.table th{background:var(--cipria-2);font-weight:600}
.table-wrap{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);border-radius:18px}
.table-wrap .table{margin:0}
.table-wrap tr:last-child td{border-bottom:0}
mark.todo{background:#FFF1B8;color:#5C4400;padding:1px 6px;border-radius:6px;font-weight:600}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--rosa);color:#fff;font:600 1rem var(--f-body);cursor:pointer;transition:background-color .3s}
.btn:hover{background:var(--rosa-deep)}
.status{font-weight:600}

.foot{border-top:1px solid var(--line);padding:28px 0 40px;font-size:.9rem;color:var(--malva)}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.foot a{color:inherit;text-decoration:none}
.foot a:hover,.foot a[aria-current="page"]{color:var(--rosa-deep)}

@media (max-width:640px){
  body{font-size:1rem}
  .brand__name{font-size:1.15rem}
  .back{padding:0 14px}
  .facts{grid-template-columns:1fr}
  .facts dd{border-top:0;padding-top:0}
}
