/* =========================================================
   NUMOTECA · Páginas legais (Termos de Uso e Política de Privacidade)
   Carregado depois de style.css.
   ========================================================= */
.legal-page .nav{background:rgba(1,15,43,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:10px 0}
.legal-head{position:relative;overflow:hidden;color:#fff;padding:150px 0 64px;
  background:radial-gradient(800px 420px at 85% 0%,rgba(255,150,60,.22),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(2,75,105,.8),transparent 60%),linear-gradient(160deg,var(--ink),var(--navy))}
.legal-head .kicker{color:#FFB074;font-family:var(--brand);font-weight:700;letter-spacing:.24em;text-transform:uppercase;font-size:.78rem;margin-bottom:14px}
.legal-head h1{font-size:clamp(2.6rem,5vw,4rem);color:#fff}
.legal-meta{margin-top:16px;color:#AFC0E2;font-size:.95rem}
.legal-meta a{color:var(--gold-1);text-decoration:underline;text-underline-offset:3px}
.legal{width:min(1200px,100% - 40px);margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:60px;padding:56px 0 110px}
.toc{position:sticky;top:90px;align-self:start;max-height:calc(100vh - 110px);overflow:auto;font-size:.9rem}
.toc h2{font-family:var(--sans);font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.toc ol{list-style:none;counter-reset:t;display:grid;gap:1px}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:6px 10px;border-radius:10px;color:var(--soft);line-height:1.35}
.toc a::before{content:counter(t);min-width:18px;color:var(--orange);font-family:var(--disp);font-weight:700}
.toc a:hover{background:var(--tint);color:var(--navy)}
.prose{max-width:72ch;counter-reset:s;font-size:1rem;line-height:1.75}
.prose section{counter-increment:s;margin-bottom:44px}
.prose section>h2{font-size:1.75rem;color:var(--navy);margin-bottom:14px;display:flex;gap:12px;align-items:baseline}
.prose section>h2::before{content:counter(s);font-size:.8em;color:var(--orange);min-width:1.1em}
.prose h3{font-family:var(--sans);font-size:1.05rem;font-weight:800;color:var(--navy);margin:24px 0 6px}
.prose p,.prose li{color:#33405C}
.prose p+p{margin-top:12px}
.prose ul{margin:12px 0 12px 22px;display:grid;gap:7px}
.prose li::marker{color:var(--orange)}
.prose strong{color:var(--navy)}
.prose a{color:var(--royal);text-decoration:underline;text-underline-offset:3px}
.prose code{font-family:ui-monospace,Consolas,monospace;font-size:.86em;background:var(--tint);padding:1px 6px;border-radius:5px;color:var(--navy)}
.summary{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 28px 22px;margin-bottom:52px;box-shadow:var(--shadow)}
.summary h2{font-size:1.4rem;color:var(--navy);margin-bottom:14px}
.summary ul{list-style:none;display:grid;gap:10px}
.summary li{position:relative;padding-left:28px;color:var(--text)}
.summary li::before{content:"";position:absolute;left:0;top:.3em;width:16px;height:16px;border-radius:50%;background:var(--metal);box-shadow:inset 0 0 0 3px rgba(107,42,0,.25)}
.summary .note{margin-top:16px;font-size:.86rem;color:var(--muted)}
.callout{margin:16px 0;padding:16px 20px;background:#FFF3E9;border:1px solid #FFD3B0;border-radius:14px;color:var(--text)}
.callout strong{color:#B54500}
.id-card{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:#fff;margin:14px 0}
.id-card dt{color:var(--muted);font-weight:700}
.id-card dd{color:var(--navy)}
.table-scroll{overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:14px;background:#fff}
.table-scroll table{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.55;min-width:560px}
.table-scroll th,.table-scroll td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--line)}
.table-scroll th{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);background:#F8FAFD}
.table-scroll tr:last-child td{border-bottom:0}
.table-scroll td:first-child{color:var(--navy);font-weight:700}
@media(max-width:900px){
  .legal{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:40px}
  .toc{position:static;max-height:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
}
@media(max-width:600px){
  .legal-head{padding:120px 0 48px}
  .prose section>h2{font-size:1.45rem}
  .id-card{grid-template-columns:1fr;gap:2px}
}
