/* ==========================================================
   pedronovo.com · BASE
   Regras gerais: página, texto, links, acessibilidade.
   ========================================================== */

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--serifa);
  font-size: var(--t-texto);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img { display: block; max-width: 100%; height: auto; }

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transicao);
}

/* Todo o texto em máquina */
.maquina {
  font-family: var(--maquina);
  font-size: var(--t-meta);
  line-height: 1.6;
}

/* Link de ação (ver tudo →, ver mais →) */
.ligacao {
  font-family: var(--maquina);
  font-size: var(--t-meta);
  color: var(--ferrugem);
  white-space: nowrap;
}
.ligacao:hover { text-decoration: underline; text-underline-offset: 0.25em; }

/* Foco visível para quem navega por teclado */
:focus-visible {
  outline: 1px solid var(--ferrugem);
  outline-offset: 3px;
}

/* Saltar para o conteúdo (acessibilidade) */
.saltar {
  position: absolute;
  left: var(--margem);
  top: -3rem;
  font-family: var(--maquina);
  font-size: var(--t-meta);
  background: var(--tinta);
  color: var(--papel);
  padding: 0.4rem 0.8rem;
}
.saltar:focus { top: 0.5rem; }

/* Texto só para leitores de ecrã */
.so-leitor {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
