/* ============================================================
   VelvetTicino — Le pagine /legali/*
   ------------------------------------------------------------
   Veste le otto pagine statiche in legali/<slug>/index.html,
   generate da backend/genera-legali.php. NON è
   assets/css/legal.css, che è di Design e veste le pagine
   istituzionali storiche (terms, privacy, cookie-policy): quelle
   hanno un impianto diverso e vanno lasciate in pace.

   Un documento contrattuale si legge, non si sfoglia: misura di
   riga contenuta, interlinea larga, gerarchia evidente. E deve
   restare leggibile stampato, perché la stampa qui è il PDF.
   ============================================================ */

body.vt-legal-page{
  background:var(--vt-bg);
  color:var(--vt-text);
  font-family:var(--vt-sans);
  font-weight:300;
  line-height:1.7;
  margin:0;
}

.vt-legal-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(24px,5vw,56px) clamp(18px,4vw,40px) 80px;
}

/* ---------- Testata ---------- */
.vt-legal-back{
  display:inline-block;margin-bottom:22px;
  font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--vt-gold);text-decoration:none;
}
.vt-legal-back:hover{color:var(--vt-sand);}
.vt-legal-head h1{
  font-family:var(--vt-display);font-weight:500;
  font-size:clamp(1.7rem,3.4vw,2.5rem);
  color:var(--vt-white);margin:0 0 10px;line-height:1.15;
}
.vt-legal-sub{margin:0;color:var(--vt-text-soft);font-size:1rem;max-width:62ch;}
.vt-legal-meta{
  margin:0;color:var(--vt-text-mute);
  font-size:.92rem;letter-spacing:.03em;
}
.vt-legal-impronta{
  margin:6px 0 0;color:var(--vt-text-faint);font-size:.86rem;
}
.vt-legal-impronta code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.82rem;letter-spacing:.02em;
}
.vt-legal-avviso{
  margin:18px 0 0;padding:12px 16px;
  border:1px solid var(--vt-line-gold);border-radius:var(--vt-r-sm);
  background:rgba(201,164,92,.08);color:var(--vt-text);font-size:.9rem;
}
.vt-legal-azioni{margin:22px 0 0;}

/* ---------- Elenco dei documenti ---------- */
.vt-legal-elenco{list-style:none;padding:0;margin:32px 0 0;max-width:760px;}
.vt-legal-elenco li{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--vt-line);
}
.vt-legal-elenco a{
  color:var(--vt-white);text-decoration:none;
  font-size:1.05rem;font-weight:400;
}
.vt-legal-elenco a:hover{color:var(--vt-gold);}
.vt-legal-elenco .vt-legal-meta{white-space:nowrap;font-size:.86rem;}

/* ---------- Corpo: indice a lato, testo a destra ---------- */
.vt-legal-corpo{
  display:grid;grid-template-columns:250px minmax(0,1fr);
  gap:clamp(24px,4vw,56px);
  margin-top:34px;align-items:start;
}
.vt-legal-indice{
  position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;
  border-left:1px solid var(--vt-line);padding-left:18px;
}
.vt-legal-indice b{
  display:block;font-size:.80rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--vt-text-faint);margin-bottom:12px;
}
.vt-legal-indice ul{list-style:none;padding:0;margin:0;}
.vt-legal-indice li{margin:0 0 7px;}
.vt-legal-indice li.liv-3{padding-left:14px;}
.vt-legal-indice a{
  color:var(--vt-text-soft);text-decoration:none;font-size:.92rem;line-height:1.45;
}
.vt-legal-indice a:hover{color:var(--vt-gold);}

/* ---------- Il testo ---------- */
.vt-legal-testo{max-width:76ch;font-size:1rem;color:var(--vt-text-soft);}
.vt-legal-testo h2{
  font-family:var(--vt-display);font-weight:500;
  font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--vt-white);
  margin:44px 0 14px;line-height:1.2;
  padding-top:10px;border-top:1px solid var(--vt-line);
}
.vt-legal-testo h2:first-child{margin-top:0;border-top:0;padding-top:0;}
/* Nei documenti il livello di sezione e' il "##", che qui diventa
   h3: e' quello che deve pesare, non l'h2 del titolo. */
.vt-legal-testo h3{
  font-family:var(--vt-display);font-weight:500;
  font-size:clamp(1.2rem,1.9vw,1.45rem);color:var(--vt-white);
  margin:40px 0 12px;line-height:1.25;
  padding-top:14px;border-top:1px solid var(--vt-line);
}
.vt-legal-testo h3:first-child{margin-top:0;border-top:0;padding-top:0;}
.vt-legal-testo h4{
  font-family:var(--vt-sans);font-weight:500;
  font-size:1rem;color:var(--vt-white);margin:24px 0 8px;
}
.vt-legal-testo p{margin:0 0 15px;}
.vt-legal-testo strong{color:var(--vt-white);font-weight:500;}
.vt-legal-testo em{color:var(--vt-text);font-style:italic;}
.vt-legal-testo ul,.vt-legal-testo ol{margin:0 0 16px;padding-left:22px;}
.vt-legal-testo li{margin:0 0 7px;}
.vt-legal-testo li::marker{color:var(--vt-gold);}
.vt-legal-testo hr{border:0;border-top:1px solid var(--vt-line);margin:34px 0;}
.vt-legal-testo blockquote{
  margin:20px 0;padding:14px 18px;
  border-left:2px solid var(--vt-gold);
  background:rgba(248,246,242,.03);
}
.vt-legal-testo blockquote p{margin:0;color:var(--vt-text);}

/* Tabelle: scorrono da sole, senza trascinarsi dietro la pagina. */
.vt-legal-tabella{overflow-x:auto;margin:0 0 20px;}
.vt-legal-tabella table{border-collapse:collapse;width:100%;min-width:420px;font-size:.9rem;}
.vt-legal-tabella th,.vt-legal-tabella td{
  border:1px solid var(--vt-line);padding:9px 12px;text-align:left;vertical-align:top;
}
.vt-legal-tabella th{color:var(--vt-white);font-weight:500;background:rgba(248,246,242,.04);}

/* ---------- Testo non ancora licenziato ---------- */
.vt-legal-attesa{
  margin-top:34px;padding:clamp(20px,3vw,32px);
  border:1px solid var(--vt-line-gold);border-radius:var(--vt-r-lg);
  background:rgba(201,164,92,.06);max-width:70ch;
}
.vt-legal-attesa h2{
  font-family:var(--vt-display);font-weight:500;font-size:1.54rem;
  color:var(--vt-white);margin:0 0 12px;
}
.vt-legal-attesa p{margin:0 0 12px;color:var(--vt-text-soft);}
.vt-legal-attesa a{color:var(--vt-gold);}

/* ---------- Piede e navigazione fra documenti ---------- */
.vt-legal-altri,.vt-legal-versioni{
  margin-top:48px;padding-top:22px;border-top:1px solid var(--vt-line);
}
.vt-legal-altri b,.vt-legal-versioni b{
  display:block;font-size:.80rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--vt-text-faint);margin-bottom:12px;
}
.vt-legal-altri ul,.vt-legal-versioni ul{
  list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px;
}
.vt-legal-altri a,.vt-legal-versioni a{color:var(--vt-text-soft);text-decoration:none;font-size:.94rem;}
.vt-legal-altri a:hover,.vt-legal-versioni a:hover{color:var(--vt-gold);}
.vt-legal-foot{margin-top:40px;color:var(--vt-text-faint);font-size:.86rem;}
.vt-legal-entita{margin-top:40px;color:var(--vt-text-faint);font-size:.86rem;}

/* ---------- Telefono ---------- */
@media (max-width:900px){
  .vt-legal-corpo{grid-template-columns:1fr;}
  .vt-legal-indice{
    position:static;max-height:none;border-left:0;padding-left:0;
    border-bottom:1px solid var(--vt-line);padding-bottom:18px;
  }
  .vt-legal-elenco li{flex-direction:column;gap:4px;}
}

/* ============================================================
   Stampa e PDF
   ------------------------------------------------------------
   La resa stampata È il PDF: inchiostro nero su bianco, niente
   navigazione, e i titoli che non restano orfani in fondo a una
   pagina. Versione e data sopravvivono alla stampa, perché un
   contratto stampato senza versione non dice quale contratto sia.
   ============================================================ */
@media print{
  body.vt-legal-page{background:#fff;color:#111;font-size:10.5pt;line-height:1.55;}
  .vt-legal-wrap{max-width:none;padding:0;}
  .vt-legal-back,.vt-legal-azioni,.vt-legal-altri,.vt-legal-versioni,.vt-legal-indice{display:none;}
  .vt-legal-head h1{color:#000;font-size:19pt;}
  .vt-legal-meta,.vt-legal-impronta{color:#444;}
  .vt-legal-corpo{display:block;}
  .vt-legal-testo{max-width:none;color:#111;}
  .vt-legal-testo h2{color:#000;font-size:13pt;border-top:1px solid #bbb;
    break-after:avoid;page-break-after:avoid;margin-top:20pt;}
  .vt-legal-testo h3{color:#000;font-size:12pt;border-top:1px solid #bbb;
    break-after:avoid;page-break-after:avoid;margin-top:16pt;}
  .vt-legal-testo h4{color:#000;break-after:avoid;page-break-after:avoid;}
  .vt-legal-testo strong{color:#000;}
  .vt-legal-testo li::marker{color:#111;}
  .vt-legal-testo p,.vt-legal-testo li{break-inside:avoid;page-break-inside:avoid;}
  .vt-legal-tabella{overflow:visible;}
  .vt-legal-tabella table{min-width:0;font-size:9pt;}
  .vt-legal-tabella th,.vt-legal-tabella td{border:1px solid #999;}
  .vt-legal-tabella th{background:#eee;color:#000;}
  .vt-legal-testo blockquote{border-left:2px solid #999;background:#f4f4f4;}
  .vt-legal-foot{color:#555;border-top:1px solid #bbb;padding-top:8pt;}
  a{color:#111;text-decoration:none;}
  @page{margin:18mm 16mm;}
}
