/* Política de Privacidade · documento legal. Usa os tokens de :root de site.css */

.legal-layout{
  display:grid;grid-template-columns:270px minmax(0,1fr);
  gap:clamp(32px,5vw,72px);align-items:start;
}

/* Índice lateral fixo */
.legal-toc{position:sticky;top:104px}
.legal-toc-title{
  font-family:'Space Mono',monospace;font-size:13px;font-weight:700;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--accent);margin-bottom:16px;
}
.legal-toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.legal-toc a{
  display:block;padding:9px 0 9px 16px;margin-left:-1px;
  border-left:1px solid transparent;
  font-size:15.5px;line-height:1.35;color:var(--ink-soft);
  transition:color .2s,border-color .2s;
}
.legal-toc a.sub{padding-left:30px;font-size:14.5px;color:var(--ink-faint)}
.legal-toc a:hover,.legal-toc a:focus-visible{color:var(--accent);border-left-color:var(--accent)}

/* Corpo do documento */
.legal{max-width:760px}
.legal-intro{
  font-size:18px;line-height:1.6;color:var(--ink);margin-bottom:14px;
  padding-bottom:34px;border-bottom:1px solid var(--line);text-wrap:pretty;
}
.legal h2{
  font-size:clamp(22px,2.6vw,28px);margin:46px 0 18px;scroll-margin-top:100px;
  color:var(--ink);
}
.legal h3{
  font-size:18px;color:var(--ink);margin:30px 0 12px;scroll-margin-top:100px;
  font-family:'Space Grotesk',sans-serif;font-weight:600;
}
.legal p{color:var(--ink-soft);font-size:16.5px;line-height:1.7;margin-bottom:16px;text-wrap:pretty}
.legal p strong{color:var(--ink);font-weight:600}
.legal a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.legal a:hover,.legal a:focus-visible{border-bottom-color:var(--accent)}
.legal .btn{margin-top:6px}

/* Listas do documento (seções 3, 4 e 5) */
.legal ul{margin:0 0 16px;padding-left:24px;list-style:none}
.legal ul li{
  position:relative;color:var(--ink-soft);font-size:16.5px;line-height:1.7;margin-bottom:12px;text-wrap:pretty;
}
.legal ul li::before{
  content:"";position:absolute;left:-18px;top:11px;width:7px;height:7px;border-radius:50%;
  background:var(--accent);
}
.legal ul li strong{color:var(--ink);font-weight:600}

.legal-sign{margin-top:40px;color:var(--ink);font-weight:600}

@media(max-width:920px){
  .legal-layout{grid-template-columns:1fr;gap:36px}
  .legal-toc{position:static;top:auto;
    background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:22px 24px}
  .legal-toc ul{border-left:none;columns:2;column-gap:24px}
  .legal-toc a{padding:7px 0;border-left:none}
  .legal-toc a.sub{padding-left:14px}
  .legal-toc a:hover,.legal-toc a:focus-visible{border-left:none}
}
@media(max-width:520px){
  .legal-toc ul{columns:1}
}
