/* ============================================================================
   legal.css — páginas jurídicas do Gera Laudo (Termos, Privacidade, Legal)
   Usa os design tokens do app (../design-tokens.css) e a DM Sans vendorizada.

   ⚠ ESPELHAMENTO: esta pasta inteira é IDÊNTICA (byte a byte) em
      Laudo EDA/legal/  e  Laudo Colono/legal/.
      As páginas não citam o app justamente para poderem ser as mesmas.
      Ao alterar, edite os DOIS (tests/igualdade-compartilhados.test.cjs falha).
   ========================================================================= */

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg, #eef2ef);
  color: var(--ink, #172418);
  font-family: 'DM Sans', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 15.5px;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
}

.legal-page {
  max-width: 760px;
  margin: 0 auto;
  padding: 28px 20px 64px;
}

.legal-voltar {
  font-size: 13.5px;
  margin: 0 0 22px;
}
.legal-voltar a { color: var(--ink2, #3d5c46); }

.legal-card {
  background: var(--panel, #fff);
  border: 1px solid var(--border, #d6e3da);
  border-radius: 12px;
  box-shadow: var(--shadow, 0 4px 12px rgba(27,77,54,.10));
  padding: 32px 34px 38px;
}

.legal-marca {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--accent, #2a7a52);
  margin: 0 0 6px;
}

h1 {
  font-size: 26px;
  line-height: 1.25;
  margin: 0 0 6px;
  color: var(--ink, #172418);
}

.legal-sub {
  font-size: 13.5px;
  color: var(--ink3, #7a9882);
  margin: 0 0 26px;
}

h2 {
  font-size: 17px;
  line-height: 1.35;
  margin: 32px 0 10px;
  padding-top: 18px;
  border-top: 1px solid var(--border, #d6e3da);
  color: var(--primary, #1b4d36);
}
.legal-card > h2:first-of-type { border-top: 0; padding-top: 0; }

h3 {
  font-size: 15px;
  margin: 20px 0 6px;
  color: var(--ink2, #3d5c46);
}

p, li { color: var(--ink2, #3d5c46); }
p { margin: 0 0 12px; }
ul { margin: 0 0 12px; padding-left: 22px; }
li { margin-bottom: 6px; }

strong { color: var(--ink, #172418); }

a { color: var(--accent, #2a7a52); }
a:hover { color: var(--primary, #1b4d36); }

.legal-destaque {
  background: var(--accent-l, #e6f4ed);
  border-left: 4px solid var(--accent, #2a7a52);
  border-radius: 0 8px 8px 0;
  padding: 14px 16px;
  margin: 0 0 16px;
}
.legal-destaque p:last-child { margin-bottom: 0; }

dl { margin: 0; }
dt {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ink3, #7a9882);
  margin-top: 16px;
}
dd { margin: 2px 0 0; color: var(--ink, #172418); }

.legal-docs { list-style: none; padding: 0; }
.legal-docs li { margin-bottom: 8px; }

footer.legal-rodape {
  margin-top: 34px;
  padding-top: 16px;
  border-top: 1px solid var(--border, #d6e3da);
  font-size: 12.5px;
  color: var(--ink3, #7a9882);
}

@media (max-width: 560px) {
  body { font-size: 15px; }
  .legal-page { padding: 18px 12px 48px; }
  .legal-card { padding: 22px 18px 28px; border-radius: 10px; }
  h1 { font-size: 22px; }
}
