/* Stile condiviso delle pagine legali (privacy / termini / cookie).
   Token allineati all'app; tema scuro di default, .light per il chiaro
   (stessa logica di index.html, impostata dallo script inline in <head>). */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/poppins-600.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/poppins-700.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/poppins-800.woff2') format('woff2')}
:root{
  --bg:#0d1830; --card:#16274a; --text:#e8eef9; --muted:#96a8cc;
  --accent:#6B99E8; --accent-ink:#0b1a36; --border:#2c4270;
}
html.light{
  --bg:#f5f7fb; --card:#ffffff; --text:#152a4f; --muted:#5a6b8e;
  --accent:#1B3B6F; --accent-ink:#ffffff; --border:#ccd7e9;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--text);
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  line-height:1.7; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:760px; margin:0 auto; padding:24px 20px 96px}

/* header con marchio testuale + link di ritorno */
.legal-top{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 0; margin-bottom:8px; border-bottom:1px solid var(--border);
  position:sticky; top:0; background:var(--bg); z-index:2;
}
.brand{font-size:20px; font-weight:800; letter-spacing:-.02em; text-decoration:none; color:var(--text)}
.brand span{color:var(--accent)}
.back{font-size:14px; font-weight:600; color:var(--accent); text-decoration:none; white-space:nowrap}
/* la freccia non esiste nel subset di Poppins: cade su un font di sistema e
   risulta piu' bassa del testo, quindi la disegniamo qui e la rialziamo */
.back::before{content:"\2190"; margin-right:6px; position:relative; top:-1px}
.back:hover{text-decoration:underline}

h1{font-size:clamp(1.6rem,4vw,2.2rem); line-height:1.2; letter-spacing:-.02em; margin:28px 0 6px; text-wrap:balance}
.updated{color:var(--muted); font-size:13px; margin:0 0 8px}
h2{font-size:1.15rem; margin:34px 0 8px; letter-spacing:-.01em; text-wrap:balance}
h3{font-size:1rem; margin:22px 0 6px}
p,li{color:var(--text)}
p{margin:10px 0}
a{color:var(--accent)}
ul,ol{margin:10px 0; padding-left:22px}
li{margin:6px 0}
strong{font-weight:700}

/* riquadro dati del titolare / note evidenziate */
.box{
  background:var(--card); border:1px solid var(--border); border-radius:14px;
  padding:16px 18px; margin:16px 0;
}
.box.warn{border-color:var(--accent)}
.box p{margin:6px 0}
.muted{color:var(--muted)}
.small{font-size:13px}

/* tabella responsabili/dati */
.table-scroll{overflow-x:auto; margin:14px 0}
table{border-collapse:collapse; width:100%; min-width:520px; font-size:14px}
th,td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--border); vertical-align:top}
th{color:var(--muted); font-weight:600; white-space:nowrap}

.toc{background:var(--card); border:1px solid var(--border); border-radius:14px; padding:14px 18px; margin:18px 0}
.toc ol{margin:6px 0}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

.legal-foot{
  margin-top:44px; padding-top:18px; border-top:1px solid var(--border);
  color:var(--muted); font-size:13px; display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center;
}
.legal-foot a{font-weight:600}

@media (max-width:520px){
  .brand{font-size:18px}
  .legal-top{position:static}
}
