/**
 * Páginas legais (/privacidade e /termos).
 *
 * Reaproveita os mesmos tokens do roadmap para não criar uma segunda paleta:
 * papel claro, tinta escura e o violeta da marca nos destaques. Coluna estreita
 * porque é texto corrido para leitura, não layout de marketing.
 */
.mix-legal-route,
.mix-legal-route body {
  background-color: var(--landing-paper, #fdfdfb) !important;
}

.mix-legal-page {
  --legal-paper: var(--landing-paper, #fdfdfb);
  --legal-ink: var(--landing-ink, #151517);
  --legal-muted: var(--landing-muted, #5d5d68);
  --legal-violet: var(--landing-cobalt, #7839ee);
  --legal-border: var(--landing-border, rgba(21, 21, 23, .13));
  min-width: 0;
  color: var(--legal-ink);
  background: var(--legal-paper);
  font-family: Inter, Arial, sans-serif;
}

.mix-legal-page *,
.mix-legal-page *::before,
.mix-legal-page *::after {
  box-sizing: border-box;
}

.mix-legal-shell {
  /* 68ch mantém a linha na faixa confortável de leitura em telas grandes. */
  width: min(68ch, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(96px, 12vw, 152px) 0 clamp(72px, 9vw, 112px);
}

.mix-legal-header {
  padding-bottom: 28px;
  border-bottom: 1px solid var(--legal-border);
}

.mix-legal-eyebrow {
  margin: 0 0 14px;
  color: var(--legal-violet);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.mix-legal-page h1 {
  margin: 0;
  font-size: clamp(2.1rem, 5vw, 3.1rem);
  font-weight: 780;
  line-height: 1.06;
  letter-spacing: -0.02em;
}

.mix-legal-lead {
  margin: 18px 0 0;
  color: var(--legal-muted);
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.6;
}

.mix-legal-updated {
  margin: 22px 0 0;
  color: var(--legal-muted);
  font-size: 0.86rem;
}

.mix-legal-section {
  margin-top: 44px;
}

.mix-legal-page h2 {
  margin: 0 0 14px;
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  font-weight: 720;
  line-height: 1.3;
}

.mix-legal-section p {
  margin: 0 0 14px;
  color: var(--legal-muted);
  font-size: 1rem;
  line-height: 1.68;
}

.mix-legal-section p:last-child {
  margin-bottom: 0;
}

.mix-legal-section strong {
  color: var(--legal-ink);
  font-weight: 650;
}

.mix-legal-page a {
  color: var(--legal-violet);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mix-legal-page a:hover {
  text-decoration-thickness: 2px;
}

.mix-legal-page a:focus-visible {
  outline: 3px solid var(--legal-violet);
  outline-offset: 3px;
  border-radius: 4px;
}

.mix-legal-back {
  margin-top: 56px;
  padding-top: 28px;
  border-top: 1px solid var(--legal-border);
}

.mix-legal-back a {
  /* 44px de alvo: o mínimo confortável para toque. */
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 620;
  text-decoration: none;
}

.mix-legal-back a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 620px) {
  .mix-legal-shell {
    width: min(100%, calc(100% - 32px));
    padding-top: clamp(84px, 22vw, 110px);
  }

  .mix-legal-section {
    margin-top: 36px;
  }
}
