/* Pagine legali (privacy, condizioni): stessa palette e font del sito,
   nessuno script, nessuna animazione: testo che si apre in un istante. */

:root{
  --bg: #030F22; --bg-2: #041831; --navy: #022D69; --accent: #3E8BE0;
  --white: #F5F8FC; --muted: #8FA3BF; --grey: #8A8A8B;
  --line: rgba(245, 248, 252, 0.09);
  --font-display: 'Clash Display', 'Arial Narrow', sans-serif;
  --font-body: 'Switzer', 'Helvetica Neue', Arial, sans-serif;
}
*{ box-sizing: border-box; margin: 0; padding: 0; }
html{ scroll-behavior: smooth; }
body{
  background: var(--bg); color: var(--white);
  font-family: var(--font-body); font-size: 17px; line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; display: block; }
a{ color: var(--white); text-decoration: underline; text-decoration-color: rgba(245,248,252,0.35); text-underline-offset: 3px; }
a:hover{ text-decoration-color: var(--accent); }
.container{ width: min(1200px, calc(100% - 48px)); margin-inline: auto; }

/* testata semplice */
.lhead{ border-bottom: 1px solid var(--line); }
.lhead .container{ display: flex; align-items: center; justify-content: space-between; height: 84px; }
.lhead img{ height: 39px; width: auto; }
.lhead a{ text-decoration: none; }
.lhead .back{ color: var(--muted); font-size: 14px; letter-spacing: 0.04em; }
.lhead .back:hover{ color: var(--white); }

/* corpo */
.legal{ padding: 64px 0 96px; }
.legal-grid{ display: grid; grid-template-columns: 240px 1fr; gap: 64px; align-items: start; }
.legal-grid > *{ min-width: 0; } /* la colonna del testo non si allarga oltre lo schermo per una tabella larga (2/10/26) */
.legal-toc{ position: sticky; top: 32px; }
.legal-toc .eyebrow{ margin-bottom: 14px; }
.legal .legal-toc ol{ list-style: none; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.legal .legal-toc li{ margin: 0; }
.legal .legal-toc li::marker{ content: none; }
.legal-toc a{ color: var(--muted); font-size: 14px; text-decoration: none; line-height: 1.4; }
.legal-toc a:hover{ color: var(--white); }
.eyebrow{ font-size: 13px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--grey); margin-bottom: 20px; }
.legal h1{
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(34px, 4.6vw, 54px); line-height: 1.06; letter-spacing: -0.01em;
  margin-bottom: 14px;
}
.legal .meta{ color: var(--muted); font-size: 15px; margin-bottom: 44px; }
.legal .meta{ line-height: 1.7; }
.legal .meta .sep::before{ content: " · "; }
.legal h2{
  font-family: var(--font-display); font-weight: 600; font-size: 26px; line-height: 1.15;
  margin: 44px 0 14px; padding-top: 28px; border-top: 1px solid var(--line);
  scroll-margin-top: 24px;
}
.legal h3{ font-family: var(--font-display); font-weight: 600; font-size: 20px; margin: 26px 0 8px; }
.legal p{ margin-bottom: 14px; max-width: 76ch; }
.legal p b{ font-weight: 600; }
.legal ul, .legal ol{ margin: 0 0 16px 22px; max-width: 76ch; }
.legal ul{ list-style: disc; }
.legal ol{ list-style: lower-alpha; }
.legal li{ margin-bottom: 8px; }
.legal li::marker{ color: var(--accent); }
.legal .num{ color: var(--accent); font-weight: 600; margin-right: 6px; }
.legal .ph{ background: rgba(255, 213, 0, 0.22); color: #FFE680; padding: 0 4px; border-radius: 2px; }
.legal table{ border-collapse: collapse; width: 100%; max-width: 76ch; margin: 6px 0 20px; font-size: 15.5px; }
.legal th, .legal td{ text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--line); }
.legal th{ color: var(--muted); font-weight: 500; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.legal .box{ border: 1px solid var(--line); background: var(--bg-2); padding: 20px 22px; margin: 18px 0 22px; max-width: 76ch; }
.legal .box p:last-child{ margin-bottom: 0; }

/* footer */
.lfoot{ border-top: 1px solid var(--line); padding: 28px 0 34px; }
.lfoot .container{ display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--muted); font-size: 13.5px; }
.lfoot a{ color: var(--muted); text-decoration: none; }
.lfoot a:hover{ color: var(--white); }
.lfoot .links a + a::before{ content: " · "; color: var(--muted); }

@media (max-width: 900px){
  .legal-grid{ grid-template-columns: 1fr; gap: 28px; }
  .legal-toc{ position: static; border: 1px solid var(--line); padding: 18px 20px; background: var(--bg-2); }
  .legal{ padding: 40px 0 72px; }
  .legal h2{ font-size: 22px; }
  .legal table{ display: block; overflow-x: auto; }
}

/* tabelle larghe (es. tabella cookie, 2/10/26): scorrono dentro il loro riquadro invece di allargare la pagina */
.legal .scroll{ max-width: 76ch; margin: 6px 0 20px; }
.legal .scroll table{ margin: 0; }
@media (max-width: 640px){
  /* sotto i 640px ogni riga diventa una scheda: etichetta piccola + valore (data-label nelle celle) */
  .legal .scroll thead{ display: none; }
  .legal .scroll table, .legal .scroll tbody, .legal .scroll tr, .legal .scroll td{ display: block; width: 100%; }
  .legal .scroll tr{ border-bottom: 1px solid var(--line); padding: 14px 0; }
  .legal .scroll td{ border: 0; padding: 4px 0; }
  .legal .scroll td::before{ content: attr(data-label); display: block; color: var(--muted); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 2px; }
}
