*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; }

body {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.55;
  color: var(--texto);
  background: var(--fundo);
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font-family: inherit; font-size: inherit; }

/* Foco visível pelo teclado (Tab), sem depender do azul padrão do navegador */
:focus-visible { outline: 2px solid var(--cor-primaria); outline-offset: 2px; }

/* Caixinhas de marcar no estilo da marca, não no cinza cru do navegador */
input[type="checkbox"] { accent-color: var(--cor-primaria); width: 16px; height: 16px; }

h1, h2, h3, h4, h5 {
  font-family: var(--font-titulo);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  line-height: 1.25;
}
h2 { font-size: 18px; }
h3 { font-size: 16px; }

p { margin: 0 0 10px; }

a { color: var(--cor-primaria-texto); text-decoration: none; }
a:hover { text-decoration: underline; }

code {
  font-family: ui-monospace, Consolas, monospace;
  font-size: 13px;
  background: var(--fundo);
  border: 1px solid var(--borda);
  border-radius: 6px;
  padding: 1px 6px;
  word-break: break-all;
}

th {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--texto-suave);
  text-align: left;
}

.texto-apoio { color: var(--texto-suave); }
