/* ==========================================================================
   legal.css — páginas de Termos de uso e Política de privacidade.
   Usa os tokens do styles.css (cores, fontes, espaços); aqui só o layout
   de documento: faixa escura com o logo no topo, texto corrido no meio.
   ========================================================================== */

.legal-top {
  background: var(--hero-bg);
  color: var(--color-hero-text);
}
.legal-top__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  min-height: 72px;
}
.legal-top .logo { color: var(--color-hero-text); }
.legal-top__back {
  color: var(--color-hero-muted);
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.legal-top__back:hover { color: var(--color-hero-text); }

.legal-head {
  background: var(--hero-bg);
  color: var(--color-hero-text);
  padding-block: var(--space-6) var(--space-8);
}
.legal-head h1 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(34px, 6vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-2);
}
.legal-head__date {
  font-family: var(--font-data);
  font-size: 13px;
  color: var(--color-hero-muted);
  margin: 0;
}

.legal {
  padding-block: var(--space-8) var(--space-12);
}
.legal__doc {
  max-width: 68ch;
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.65;
  color: var(--color-text);
}
.legal__summary {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  padding: var(--space-3);
  margin: 0 0 var(--space-6);
}
.legal__summary p { margin: 0 0 var(--space-1); }
.legal__summary ul { margin: 0; padding-left: 1.2em; }
.legal__summary li + li { margin-top: 4px; }

.legal__toc {
  margin: 0 0 var(--space-6);
  padding: 0 0 var(--space-4);
  border-bottom: 1px solid var(--color-line);
}
.legal__toc ol { margin: 0; padding-left: 1.4em; columns: 2 240px; column-gap: var(--space-4); }
.legal__toc li { break-inside: avoid; margin-bottom: 4px; }
.legal__toc a { color: var(--color-text); }

.legal__doc h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-ink);
  margin: var(--space-6) 0 var(--space-2);
  scroll-margin-top: var(--space-3);
}
.legal__doc h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: var(--color-ink);
  margin: var(--space-3) 0 var(--space-1);
}
.legal__doc p { margin: 0 0 var(--space-2); }
.legal__doc ul { margin: 0 0 var(--space-2); padding-left: 1.2em; }
.legal__doc li + li { margin-top: 6px; }
.legal__doc a { color: var(--color-ink); text-underline-offset: 3px; }
.legal__doc strong { color: var(--color-ink); }

.legal__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  margin: 0 0 var(--space-3);
}
.legal__table th,
.legal__table td {
  text-align: left;
  vertical-align: top;
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid var(--color-line);
}
.legal__table th {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--color-ink);
}
@media (max-width: 640px) {
  .legal__doc { font-size: 17px; }
  .legal__table thead { display: none; }
  .legal__table tr { display: block; padding: 10px 0; border-bottom: 1px solid var(--color-line); }
  .legal__table td { display: block; border: 0; padding: 2px 0; }
  .legal__table td:first-child { font-family: var(--font-display); font-weight: 600; color: var(--color-ink); }
}

.legal-foot {
  background: var(--color-hero);
  color: var(--color-hero-muted);
  font-family: var(--font-data);
  font-size: 13px;
  padding-block: var(--space-4);
}
.legal-foot__inner { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); justify-content: space-between; }
.legal-foot a { color: var(--color-hero-text); }
.legal-foot p { margin: 0; }
