/* ==========================================================================
   ZenitPT — legal.css
   Stili per le pagine legali (pp.html, tos.html). Richiede style.css.
   ========================================================================== */

.legal-nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 24px;
  background:rgba(10,10,10,0.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.legal-nav__logo{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-weight:700;font-size:21px;
  letter-spacing:-0.02em;text-decoration:none;color:var(--text);
}
.legal-nav__logo img{width:28px;height:28px;border-radius:8px;display:block;}
.legal-nav__back{
  font-size:13px;letter-spacing:0.04em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;
}
.legal-nav__back:hover{color:var(--accent);}

.legal{
  max-width:820px;margin:0 auto;
  padding:72px 24px 96px;
}
.legal h1{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(32px,5vw,48px);line-height:1.08;letter-spacing:-0.03em;
  margin:0 0 18px;
}
.legal__intro{
  font-size:17px;line-height:1.65;color:var(--muted);
  margin:0 0 8px;max-width:64ch;text-wrap:pretty;
}
.legal__date{font-size:14px;color:var(--muted-2);margin:0 0 48px;}

.legal h2{
  font-family:var(--font-display);font-weight:700;
  font-size:22px;line-height:1.25;letter-spacing:-0.01em;
  margin:56px 0 16px;padding-top:28px;
  border-top:1px solid var(--line);
  scroll-margin-top:96px;
}
.legal h3{
  font-family:var(--font-display);font-weight:600;
  font-size:16px;margin:28px 0 10px;color:var(--text);
}
.legal p,.legal li{
  font-size:15.5px;line-height:1.72;color:#d6d6d6;
  text-wrap:pretty;
}
.legal p{margin:0 0 16px;max-width:72ch;}
.legal ul{margin:0 0 18px;padding-left:22px;display:flex;flex-direction:column;gap:11px;max-width:72ch;}
.legal li::marker{color:var(--accent);}
.legal strong{color:var(--text);font-weight:600;}
.legal a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(0,229,113,0.35);}
.legal a:hover{border-bottom-color:var(--accent);}

.legal__toc{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:26px 28px;margin:0 0 8px;
}
.legal__toc-title{
  font-size:12px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:16px;
}
.legal__toc ol{
  margin:0;padding-left:20px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px 28px;
}
.legal__toc li{font-size:14.5px;line-height:1.5;}
.legal__toc a{border-bottom:none;color:#d6d6d6;}
.legal__toc a:hover{color:var(--accent);}

.legal__box{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:24px 26px;margin:32px 0;
}
.legal__box p:last-child{margin-bottom:0;}

.legal__flag{
  background:rgba(255,196,0,0.08);
  border:1px solid rgba(255,196,0,0.3);
  border-radius:16px;padding:22px 26px;margin:0 0 44px;
}
.legal__flag-title{
  font-family:var(--font-display);font-weight:700;font-size:15px;
  color:#ffc400;margin-bottom:10px;
}
.legal__flag p,.legal__flag li{font-size:14.5px;color:#cfcfcf;}
.legal__flag p:last-child{margin-bottom:0;}

.todo{
  background:rgba(255,196,0,0.16);
  color:#ffd75e;
  padding:1px 6px;border-radius:5px;
  font-size:0.94em;font-weight:600;
}

.legal-footer{
  border-top:1px solid var(--line);
  padding:32px 24px 48px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 26px;
  font-size:14px;color:var(--muted-2);
}
.legal-footer a{color:var(--muted-2);text-decoration:none;}
.legal-footer a:hover{color:var(--text);}

@media (max-width:640px){
  .legal{padding:48px 20px 72px;}
  .legal h2{font-size:20px;margin-top:44px;}
}
