/* ------------------------------------------------------------------
   Pagine legali (Privacy Policy / Termini e condizioni)
   Documento long-form, leggibile, coerente col design system J&B.
   ------------------------------------------------------------------ */

.legal-hero{padding-bottom:clamp(1.5rem,3vw,2.25rem)}
.legal-hero h1{max-width:18ch}
.legal-updated{
  margin-top:1.5rem;font-size:.82rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-muted)
}

.legal-section{padding-top:clamp(2rem,4vw,3rem)}

.legal-doc{
  max-width:74ch;margin-inline:auto;background:var(--off-white);
  border:1px solid var(--border);border-top:3px solid var(--gold);
  border-radius:var(--radius,4px);
  padding:clamp(1.6rem,4vw,3.25rem)
}

.legal-intro{
  margin-bottom:clamp(1.75rem,3vw,2.5rem);
  font-size:1.02rem;line-height:1.7;color:var(--text-muted);
  padding-left:1rem;border-left:2px solid var(--gold)
}
.legal-intro p{font-size:inherit;line-height:inherit;color:inherit;margin:0 0 .85rem}
.legal-intro p:last-child{margin-bottom:0}

/* Indice */
.legal-toc{
  background:var(--bg-alt);border:1px solid var(--border);
  padding:1.25rem 1.4rem;margin-bottom:clamp(2rem,4vw,3rem)
}
.legal-toc-title{
  display:block;font-family:var(--font-body);font-weight:600;font-size:.72rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.85rem
}
.legal-toc ol{list-style:none;counter-reset:toc;display:grid;gap:.45rem;margin:0;padding:0}
.legal-toc li{counter-increment:toc;display:flex;gap:.6rem;align-items:baseline}
.legal-toc li::before{
  content:"";flex:0 0 auto;width:6px;height:6px;margin-top:.42rem;
  background:var(--gold);border-radius:50%
}
.legal-toc a{
  font-size:.92rem;line-height:1.45;color:var(--text);
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s
}
.legal-toc a:hover{color:var(--gold-dim);border-bottom-color:var(--gold)}

/* Blocchi */
.legal-block{scroll-margin-top:96px;padding-top:clamp(1.6rem,3vw,2.25rem)}
.legal-block + .legal-block{border-top:1px solid var(--border)}
.legal-block h2{
  font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.25;
  margin-bottom:.9rem;color:var(--text)
}
.legal-block:target h2{color:var(--gold-dim)}

.legal-body p{
  font-size:.97rem;line-height:1.75;color:var(--text-muted);margin-bottom:1rem
}
.legal-body p:last-child{margin-bottom:0}
.legal-body strong{color:var(--text);font-weight:600}
.legal-body ul,.legal-body ol{margin:0 0 1rem 1.15rem;padding:0}
.legal-body li{
  font-size:.97rem;line-height:1.7;color:var(--text-muted);margin-bottom:.45rem
}
.legal-body a{
  color:var(--text);font-weight:500;
  border-bottom:1px solid var(--gold);transition:color .2s,background-color .2s
}
.legal-body a:hover{color:var(--gold-dim)}

@media(max-width:768px){
  .legal-doc{padding:1.35rem 1.15rem}
  .legal-block{scroll-margin-top:80px}
}
