/* ---------------------------------------------------------------------------
   mercado-report — paginas legais (Termos de Uso e Politica de Privacidade)

   Deliberadamente diferente da landing: aquela e vitrine e e sempre escura,
   esta e documento formal. Precisa ser lida por qualquer pessoa, inclusive
   fora do produto e no papel — entao fundo claro, uma coluna, e uma folha de
   estilo de impressao no fim do arquivo.

   O que ela compartilha com as outras superficies e a marca (logo, familia
   tipografica) e a escala de arredondamento.
--------------------------------------------------------------------------- */

:root {
  --tinta: #10141C;
  --tinta-70: rgba(16, 20, 28, .72);
  --tinta-50: rgba(16, 20, 28, .52);
  --papel: #FFFFFF;
  --papel-fundo: #F6F7F9;
  --linha: #E3E6EB;
  --azul: #1d4ed8;
  --azul-fundo: #EEF3FE;

  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Inter', system-ui, -apple-system, sans-serif;
  --mono: 'IBM Plex Mono', 'SF Mono', monospace;

  /* Mesma escala da extensao, do backoffice e da landing. */
  --raio: 12px;
  --raio-sm: 8px;

  /* Largura de leitura confortavel. */
  --coluna: 680px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.72;
  color: var(--tinta);
  background: var(--papel-fundo);
  -webkit-font-smoothing: antialiased;
}

/* ---- Header ---- */
header {
  background: var(--papel);
  border-bottom: 1px solid var(--linha);
  padding: 18px 24px;
  position: sticky;
  top: 0;
  z-index: 10;
}
.header-inner {
  max-width: var(--coluna);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.logo {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -.3px;
  color: var(--tinta);
  text-decoration: none;
}
.logo-sufixo { color: var(--azul); font-weight: 400; }

.header-link {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--tinta-50);
  text-decoration: none;
}
.header-link:hover { color: var(--azul); }

/* ---- Documento ---- */
main {
  max-width: var(--coluna);
  margin: 0 auto;
  padding: 48px 24px 72px;
}
article {
  background: var(--papel);
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  padding: 52px 56px 56px;
}

h1 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 34px;
  line-height: 1.18;
  letter-spacing: -.6px;
  margin-bottom: 18px;
}

/* Data de atualizacao visivel no topo, como a especificacao pede. */
.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--tinta-50);
  background: var(--azul-fundo);
  border-radius: var(--raio-sm);
  padding: 12px 16px;
  margin-bottom: 34px;
}
.meta strong { color: var(--tinta-70); font-weight: 600; }

.intro { color: var(--tinta-70); }
.intro p + p { margin-top: 16px; }

hr {
  border: 0;
  border-top: 1px solid var(--linha);
  margin: 34px 0;
}

h2 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -.2px;
  line-height: 1.3;
  margin: 40px 0 14px;
}
h2:first-of-type { margin-top: 0; }

p { margin-bottom: 16px; }
p:last-child { margin-bottom: 0; }

a { color: var(--azul); }
a:hover { text-decoration: none; }

strong { font-weight: 650; }

ul { margin: 0 0 16px 22px; }
li { margin-bottom: 7px; }

code {
  font-family: var(--mono);
  font-size: .88em;
  background: var(--papel-fundo);
  border: 1px solid var(--linha);
  border-radius: 4px;
  padding: 1px 5px;
}

/* ---- Tabela de finalidades (Politica, item 2) ---- */
.tabela-wrap { overflow-x: auto; margin-bottom: 20px; }
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  line-height: 1.55;
}
th, td {
  text-align: left;
  padding: 11px 14px;
  border: 1px solid var(--linha);
  vertical-align: top;
}
th {
  background: var(--papel-fundo);
  font-weight: 650;
  font-size: 13px;
}

/* ---- Rodape com o link cruzado ---- */
footer {
  max-width: var(--coluna);
  margin: 0 auto;
  padding: 0 24px 64px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--tinta-50);
}
footer a { color: var(--tinta-70); text-decoration: none; }
footer a:hover { color: var(--azul); }

/* ---- Telas estreitas ---- */
@media (max-width: 620px) {
  body { font-size: 16px; }
  main { padding: 28px 16px 48px; }
  article { padding: 30px 22px 34px; border-radius: var(--raio-sm); }
  h1 { font-size: 27px; }
  h2 { font-size: 19.5px; margin-top: 32px; }
  header { padding: 14px 16px; }
  footer { padding: 0 16px 40px; }
}

/* ---- Impressao ----
   Documento formal precisa sair bem no papel: sem o header fixo, sem fundo,
   sem borda, e sem quebrar um titulo do conteudo que ele anuncia. */
@media print {
  body { background: #fff; font-size: 11.5pt; line-height: 1.5; }
  header { position: static; border-bottom: 1px solid #ccc; padding: 0 0 10pt; }
  .header-link { display: none; }
  main { padding: 16pt 0 0; max-width: none; }
  article { border: 0; border-radius: 0; padding: 0; }
  .meta { background: none; border: 1px solid #ccc; padding: 8pt 10pt; }
  h2 { break-after: avoid; page-break-after: avoid; }
  a { color: inherit; text-decoration: underline; }
  footer { padding: 16pt 0 0; }
}
