/* Termos de Uso e Política de Privacidade no visual novo (docs/identidade-visual.md).
   Cabeçalho, rodapé e banner de cookies vêm do motos.css (body.mt); aqui só o fundo creme e o cartão branco de leitura.
   Contrastes: tinta #0b1730 e #3a4458 sobre branco (17,8:1 e 9,8:1); links marinho #0a2342 sobre branco (15,8:1). */

.mt-legal { background: #fff; }

.mt-legal .legal-page {
  background: var(--mt-cream);
  padding: 56px 0 88px;
}

/* Cartão de leitura: ~70 caracteres por linha (Inter 17 px) */
.mt-legal .legal-content {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--mt-line);
  border-radius: 22px;
  padding: 48px 56px 56px;
  box-shadow: 0 20px 40px rgba(10, 35, 66, 0.1);
  font-family: var(--mt-inter);
  font-size: 17px;
  line-height: 1.7;
  color: #3a4458;
}

.mt-legal .legal-content .eyebrow {
  display: block;
  margin: 0 0 12px;
  font-family: var(--mt-inter);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--mt-red);
}

.mt-legal .legal-content h1 {
  margin: 0 0 16px;
  font-size: clamp(28px, 4.2vw, 40px);
  line-height: 1.1;
  letter-spacing: -1px;
  color: var(--mt-navy);
}

/* Data de atualização: destaque discreto */
.mt-legal .legal-content .legal-meta {
  display: inline-block;
  margin: 0 0 28px;
  padding: 7px 14px;
  background: var(--mt-cream);
  border: 1px solid var(--mt-line);
  border-radius: 999px;
  font-family: var(--mt-inter);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--mt-muted);
}

/* Índice */
.mt-legal .legal-toc {
  margin: 0 0 40px;
  padding: 20px 24px;
  background: var(--mt-cream);
  border: 1px solid var(--mt-line);
  border-radius: 14px;
}
.mt-legal .legal-toc-titulo {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--mt-muted);
}
.mt-legal .legal-toc ol { margin: 0; padding: 0; list-style: none; }
.mt-legal .legal-toc li { margin: 0; }
.mt-legal .legal-toc a { display: block; padding: 6px 0; font-size: 15.5px; font-weight: 600; line-height: 1.4; }

/* Texto */
.mt-legal .legal-content h2 {
  margin: 44px 0 12px;
  padding-top: 4px;
  font-size: clamp(21px, 3vw, 26px);
  line-height: 1.2;
  letter-spacing: -0.5px;
  color: var(--mt-navy);
  scroll-margin-top: 88px;
}
.mt-legal .legal-content p { margin: 0 0 14px; color: #3a4458; }
.mt-legal .legal-content ul,
.mt-legal .legal-content ol.legal-lista { margin: 0 0 14px; padding-left: 22px; color: #3a4458; }
.mt-legal .legal-content li { margin-bottom: 8px; }
.mt-legal .legal-content strong { color: var(--mt-ink); }
.mt-legal .legal-content a { color: var(--mt-navy); text-decoration: underline; text-underline-offset: 3px; }
.mt-legal .legal-content a:hover { color: var(--mt-red); }
.mt-legal .legal-content a:focus-visible { outline: 3px solid var(--mt-navy); outline-offset: 2px; border-radius: 2px; }
.mt-legal .legal-content .legal-toc a { text-decoration: none; }
.mt-legal .legal-content .legal-toc a:hover { text-decoration: underline; }

@media (max-width: 640px) {
  .mt-legal .legal-page { padding: 24px 0 56px; }
  .mt-legal .legal-page .mt-wrap { padding: 0 12px; }
  .mt-legal .legal-content { padding: 28px 20px 36px; border-radius: 16px; font-size: 16px; line-height: 1.65; }
  .mt-legal .legal-toc { padding: 14px 16px; }
  .mt-legal .legal-toc a { padding: 9px 0; } /* alvo de toque maior */
  .mt-legal .legal-content h2 { margin-top: 36px; scroll-margin-top: 76px; }
}

@media print {
  .mt-legal .mt-header, .mt-legal .mt-footer, .mt-legal .legal-toc, .mt-legal .cookie-banner, .mt-legal .whatsapp-float { display: none !important; }
  .mt-legal, .mt-legal .legal-page { background: #fff; }
  .mt-legal .legal-page { padding: 0; }
  .mt-legal .legal-page .mt-wrap { max-width: none; padding: 0; }
  .mt-legal .legal-content { max-width: none; border: 0; box-shadow: none; border-radius: 0; padding: 0; font-size: 11.5pt; line-height: 1.5; color: #000; }
  .mt-legal .legal-content p, .mt-legal .legal-content ul, .mt-legal .legal-content li { color: #000; }
  .mt-legal .legal-content h2 { break-after: avoid; margin-top: 18pt; }
  .mt-legal .legal-content p, .mt-legal .legal-content li { orphans: 3; widows: 3; }
  .mt-legal .legal-content a { color: #000; }
  .mt-legal .legal-content a[href^="http"]::after, .mt-legal .legal-content a[href^="mailto"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
}
