/* Visitu, testo delle informative (privacy-policy, cookie-policy, privacy).
   Dal 2026-10-19 le tre pagine hanno la cornice del sito (intestazione, menu e piè di pagina
   da /css/sito.css, che va caricato prima di questo file): qui c'è solo il testo legale,
   in riquadri bianchi su fondo #EDF6F9. Solo tema chiaro. */

body.page-legal{ background:var(--alt); }
.legal{ width:100%; max-width:52rem; margin:0 auto; padding:clamp(2.5rem, 6vw, 4.5rem) var(--pad) clamp(3rem, 6vw, 5rem); color:var(--text); }
.legal h1{ font-size:clamp(2.1rem, 1.5rem + 2.6vw, 3.1rem); line-height:1.08; letter-spacing:-.025em; margin:0 0 1rem; }
.legal .lead{ font-size:1.15rem; margin:0 0 .6rem; max-width:44rem; }
.legal .date{ display:inline-block; margin:.4rem 0 2.2rem; padding:.3rem .9rem; border-radius:999px;
  background:#fff; border:1px solid var(--line-strong); font-size:.92rem; color:var(--muted); }
.legal section{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1.5rem 1.6rem; margin:0 0 1rem;
  scroll-margin-top:calc(var(--header-h) + 1rem); }
.legal h2{ font-size:1.32rem; line-height:1.25; letter-spacing:-.01em; margin:0 0 .7rem; }
.legal p{ margin:.55rem 0; }
.legal ul{ margin:.6rem 0; padding-inline-start:1.25rem; }
.legal li{ margin:.5rem 0; }
.legal li::marker{ color:var(--primary); }
.legal li b{ color:var(--ink); }
.legal a{ color:var(--primary); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
.legal a:hover{ color:var(--primary-hover); text-decoration-thickness:2px; }
.legal code,.legal .path{ font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.92em;
  background:var(--primary-soft); border-radius:6px; padding:.05rem .4rem; }
.legal .path{ font-family:inherit; font-size:inherit; }

/* Su schermo largo è una tabella; sotto i 40rem ogni riga diventa una scheda con le etichette
   davanti, perché una tabella che scorre di lato nasconde la colonna che spiega. */
.legal .table-wrap{ margin:.8rem 0; border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden; }
.legal table{ border-collapse:collapse; width:100%; font-size:.95rem; }
.legal th,.legal td{ text-align:left; vertical-align:top; padding:.7rem .85rem; border-bottom:1px solid var(--line); }
.legal th{ font-weight:700; color:var(--ink); background:var(--primary-soft); }
.legal tr:last-child td{ border-bottom:0; }
@media (max-width:40rem){
  .legal .table-wrap{ border:0; overflow:visible; }
  .legal thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .legal tr{ display:block; border:1px solid var(--line); border-radius:var(--r-sm); margin:0 0 .6rem; padding:.3rem 0; }
  .legal tr:last-child{ margin-bottom:0; }
  .legal td, .legal tr:last-child td{ display:block; border:0; padding:.3rem .85rem; }
  .legal td::before{ content:attr(data-label); display:block; font-size:.8rem; font-weight:700; color:var(--muted); }
}
