/* Pagine legali (informativa-privacy.html, termini-servizio.html): testo lungo, leggibile e stampabile. */
.doc{ max-width: 760px; margin: 0 auto; padding: var(--s-12) var(--s-6) var(--s-16); line-height: 1.65; }
.doc h1{ font-size: var(--fs-4xl); font-weight: 800; margin: 0 0 var(--s-2); line-height: 1.2; }
.doc .updated{ color: var(--text-muted); font-size: var(--fs-sm); margin-bottom: var(--s-8); }
.note{ background: var(--surface-1); border: 1px solid var(--border); border-left: 3px solid var(--primary); border-radius: var(--r-sm); padding: var(--s-4) var(--s-5); font-size: var(--fs-md); margin-bottom: var(--s-8); }
.note ul{ margin: 6px 0 0; }
.doc h2{ font-size: var(--fs-xl); font-weight: 700; margin: var(--s-10) 0 var(--s-3); scroll-margin-top: 64px; }
.doc p, .doc li{ font-size: 0.9375rem; color: var(--text); }
.doc p{ margin: 0 0 var(--s-3); }
.doc ul, .doc ol{ margin: 0 0 var(--s-3); padding-left: 22px; }
.doc li{ margin-bottom: 6px; }
.doc code{ font-size: 0.85em; background: var(--surface-2); padding: 1px 5px; border-radius: var(--r-xs); }
.toc{ font-size: var(--fs-md); columns: 2; column-gap: 28px; margin: 0 0 var(--s-2); }
.clauses{ border: 1px solid var(--border); border-radius: var(--r-sm); padding: var(--s-4) var(--s-5); margin-top: var(--s-6); }
@media (max-width: 640px){
  .toc{ columns: 1; }
  .doc h1{ font-size: var(--fs-3xl); }
  .doc{ padding: var(--s-8) var(--s-4) var(--s-12); }
}
@media print{
  .topbar{ display: none; }
  .doc p, .doc li, .note{ color: #000; }
  .note, .clauses{ background: #fff; border-color: #999; }
}
.doc .clauses__text{ margin: 0; }
