/* InduTech Academy — pagine dei documenti (privacy, termini, cookie, fornitori) */
body.pagina-legale{background:var(--color-bg)}

.leg-in{
  width:100%; max-width:60rem; margin:0 auto; padding:0 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}

/* ---------- barra in alto ---------- */
.leg-testa{
  position:sticky; top:0; z-index:10;
  background:rgba(255,255,255,.9); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--color-border);
  padding:.9rem 0;
}
.leg-testa .brand{margin-bottom:0; font-size:1.1rem}
.leg-testa .brand-mark{width:32px; height:32px}
.leg-torna{font-size:.88rem; font-weight:500; color:var(--color-ink-soft); white-space:nowrap}
.leg-torna:hover{color:var(--color-primary); text-decoration:none}

/* ---------- intestazione ---------- */
.leg-corpo{max-width:60rem; margin:0 auto; padding:3rem 1.5rem 4rem}
.leg-intro{margin-bottom:2rem}
.leg-intro h1{
  font-size:clamp(1.9rem,4vw,2.6rem); font-weight:800; letter-spacing:-.025em;
  color:var(--color-ink); line-height:1.12; margin:.2rem 0 .5rem;
}
.leg-intro p{color:var(--color-ink-soft); font-size:1.05rem}

/* ---------- menu fra i documenti ---------- */
.leg-menu{
  display:flex; flex-wrap:wrap; gap:.5rem;
  padding-bottom:1.8rem; margin-bottom:2.2rem;
  border-bottom:1px solid var(--color-border);
}
.leg-menu a{
  font-size:.88rem; font-weight:500; color:var(--color-ink-soft);
  padding:.5rem 1rem; border:1px solid var(--color-border); border-radius:999px;
  background:var(--color-bg); transition:border-color .18s ease, color .18s ease;
}
.leg-menu a:hover{border-color:var(--color-primary); color:var(--color-primary); text-decoration:none}
.leg-menu a.attiva{
  background:var(--color-primary); border-color:var(--color-primary); color:#fff; font-weight:600;
}

/* ---------- il testo del documento ---------- */
.leg-testo{color:var(--color-ink-soft); font-size:1rem; line-height:1.72; max-width:46rem}
.leg-testo > p:first-of-type{font-size:1.06rem; color:var(--color-ink)}
.leg-testo h2{
  font-size:1.35rem; font-weight:700; letter-spacing:-.015em; color:var(--color-ink);
  margin:2.6rem 0 .8rem; padding-top:1.6rem; border-top:1px solid var(--color-border);
}
.leg-testo h2:first-of-type{border-top:none; padding-top:0; margin-top:1.6rem}
.leg-testo h3{font-size:1.05rem; font-weight:700; color:var(--color-primary); margin:1.8rem 0 .5rem}
.leg-testo p{margin-bottom:1rem}
.leg-testo strong{color:var(--color-ink); font-weight:600}
.leg-testo hr{border:none; border-top:1px solid var(--color-border); margin:2.4rem 0}

.leg-testo ul, .leg-testo ol{margin:0 0 1.2rem 1.2rem}
.leg-testo li{margin-bottom:.5rem}
.leg-testo li::marker{color:var(--color-primary)}

.leg-testo blockquote{
  margin:1.4rem 0; padding:1rem 1.3rem;
  background:var(--color-bg-alt); border-left:3px solid var(--color-primary);
  border-radius:0 10px 10px 0;
}
.leg-testo blockquote p:last-child{margin-bottom:0}

.leg-testo code{
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:.86em; background:var(--color-bg-alt); border:1px solid var(--color-border);
  border-radius:5px; padding:.1em .35em; color:var(--color-primary-dark);
}

/* tabelle: scorrono da sole se lo schermo e' stretto */
.leg-testo table{
  width:100%; border-collapse:collapse; margin:1.4rem 0 1.8rem; font-size:.92rem;
  display:block; overflow-x:auto;
}
.leg-testo thead th{
  background:var(--color-primary-light); color:var(--color-ink);
  font-weight:700; text-align:left; padding:.7rem .9rem;
  border-bottom:2px solid var(--color-primary); font-size:.85rem; white-space:nowrap;
}
.leg-testo tbody td{padding:.7rem .9rem; border-bottom:1px solid var(--color-border); vertical-align:top}
.leg-testo tbody tr:nth-child(even) td{background:#fbfcfe}

/* ---------- piè di pagina ---------- */
.leg-piede{
  border-top:1px solid var(--color-border); background:var(--color-bg-alt);
  padding:1.6rem 0; font-size:.8rem; color:var(--color-muted);
}
.leg-piede .leg-in{flex-wrap:wrap; gap:.6rem 1.5rem}
.leg-piede a{color:var(--color-ink-soft)}
.leg-piede a:hover{color:var(--color-primary)}

@media (max-width:640px){
  .leg-corpo{padding:2.2rem 1.25rem 3rem}
  .leg-in{padding:0 1.25rem}
  .leg-torna{display:none}
  .leg-testa .brand span{font-size:1rem}
  .leg-piede .leg-in{flex-direction:column; align-items:flex-start; text-align:left}
}
