/* =====================================================================
   Página de Política de Privacidade — tipografia de leitura longa,
   reaproveitando os tokens de cor/raio/sombra do style.css.
   ===================================================================== */

.legal-hero{
  background:linear-gradient(180deg, var(--navy-900) 0%, var(--navy) 100%);
  color:#fff; padding:56px 0 40px;
}
.legal-hero .chip{ margin-bottom:16px; }
.legal-hero h1{ font-size:clamp(28px,4vw,38px); margin:0 0 12px; letter-spacing:-.3px; }
.legal-hero p{ color:#C9D8F0; max-width:62ch; font-size:15.5px; line-height:1.6; }
.legal-hero p strong{ color:#fff; }
.legal-hero .legal-meta{
  margin-top:22px; display:flex; gap:18px; flex-wrap:wrap; font-size:13px; color:#9FB4DC;
}
.legal-meta b{ color:#fff; }

.legal-corpo{ padding:48px 0 80px; }
.legal-grid{
  display:grid; grid-template-columns:230px minmax(0,1fr); gap:44px; align-items:start;
}
@media (max-width:860px){ .legal-grid{ grid-template-columns:1fr; } }

.legal-sumario{
  position:sticky; top:22px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r); padding:18px 18px 20px;
}
.legal-sumario h5{
  margin:0 0 10px; font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--muted); font-weight:750;
}
.legal-sumario ol{ margin:0; padding:0; list-style:none; counter-reset:sum; }
.legal-sumario li{ counter-increment:sum; margin-bottom:2px; }
.legal-sumario a{
  display:flex; gap:9px; padding:7px 8px; border-radius:9px; font-size:13px;
  color:var(--ink-2); text-decoration:none; line-height:1.35; transition:background var(--t);
}
.legal-sumario a:hover{ background:var(--navy-soft); color:var(--navy); text-decoration:none; }
.legal-sumario a::before{
  content:counter(sum); flex:none; width:19px; height:19px; border-radius:6px;
  background:var(--slate-soft); color:var(--slate); font-size:10.5px; font-weight:750;
  display:grid; place-items:center;
}

.legal article{ max-width:74ch; }
.legal section{ margin-bottom:40px; scroll-margin-top:20px; }
.legal section:last-child{ margin-bottom:0; }
.legal h2{
  font-size:20px; color:var(--navy); margin:0 0 14px; padding-bottom:10px;
  border-bottom:2px solid var(--line-2); display:flex; align-items:center; gap:10px;
}
.legal h2 .num{
  flex:none; width:30px; height:30px; border-radius:9px; background:var(--navy-soft);
  color:var(--navy); font-size:13px; font-weight:800; display:grid; place-items:center;
}
.legal h3{ font-size:15px; color:var(--ink); margin:22px 0 8px; }
.legal p{ color:var(--ink-2); line-height:1.72; margin:0 0 14px; font-size:14.5px; }
.legal ul, .legal ol{ margin:0 0 14px; padding-left:22px; color:var(--ink-2); line-height:1.7; font-size:14.5px; }
.legal li{ margin-bottom:7px; }
.legal strong{ color:var(--ink); }
.legal a{ color:var(--blue); font-weight:600; }

.legal .aviso{
  display:flex; gap:12px; padding:16px 18px; border-radius:var(--r);
  background:var(--green-soft); border:1px solid #D3ECC7; margin:18px 0;
}
.legal .aviso svg{ flex:none; width:22px; height:22px; color:var(--green-700); margin-top:1px; }
.legal .aviso p{ margin:0; color:#2F5A1F; font-size:13.8px; }
.legal .aviso p strong{ color:#2F5A1F; }

.legal .aviso--azul{ background:var(--navy-soft); border-color:#CBDCF6; }
.legal .aviso--azul svg{ color:var(--navy); }
.legal .aviso--azul p{ color:var(--navy-800); }
.legal .aviso--azul p strong{ color:var(--navy-800); }

.legal table{ width:100%; border-collapse:collapse; margin:6px 0 20px; font-size:13.6px; }
.legal th, .legal td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line-2); vertical-align:top; }
.legal thead th{
  color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.04em;
  font-weight:750; border-bottom:2px solid var(--line);
}
.legal tbody tr:last-child td{ border-bottom:none; }
.legal td:first-child, .legal th:first-child{ font-weight:650; color:var(--ink); white-space:nowrap; }

.legal .direitos{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin:6px 0 20px;
}
.legal .direito{
  border:1px solid var(--line); border-radius:var(--r); padding:14px 15px; background:var(--card);
}
.legal .direito b{ display:block; font-size:13.5px; color:var(--navy); margin-bottom:4px; }
.legal .direito span{ font-size:12.8px; color:var(--muted); line-height:1.5; }

.legal .contato-card{
  display:flex; flex-wrap:wrap; gap:14px 30px; padding:20px 22px; border-radius:var(--r-lg);
  background:var(--navy); color:#fff; margin-top:8px;
}
.legal .contato-card div{ min-width:160px; }
.legal .contato-card h5{ margin:0 0 4px; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#9FB4DC; }
.legal .contato-card a, .legal .contato-card span{ color:#fff; font-weight:650; font-size:14px; text-decoration:none; }

.legal .fontes{ font-size:12.5px; color:var(--muted); border-top:1px solid var(--line-2); padding-top:16px; margin-top:8px; }
.legal .fontes a{ color:var(--muted); text-decoration:underline; font-weight:500; }
.legal .fontes li{ margin-bottom:5px; }
.legal .fontes p{ margin:0 0 8px; }
.legal .fontes ul{ list-style:none; padding:0; margin:0; }
