/* Verde Kit Quero — base: fontes, reset e elementos HTML.
   Etapa de estrutura: só o necessário para o conteúdo ficar legível. O layout vem em components.css. */

@font-face { font-family: 'Gambetta'; src: url('/assets/fonts/gambetta-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Gambetta'; src: url('/assets/fonts/gambetta-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Gambetta'; src: url('/assets/fonts/gambetta-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Gambetta'; src: url('/assets/fonts/gambetta-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Switzer'; src: url('/assets/fonts/switzer-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Switzer'; src: url('/assets/fonts/switzer-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font-family: var(--fonte-texto);
  font-size: var(--tam-texto);
  line-height: var(--entrelinha-texto);
  -webkit-font-smoothing: antialiased;
}
img, picture, video, iframe { display: block; max-width: 100%; height: auto; }
h1, h2, h3 { font-family: var(--fonte-titulo); font-weight: 500; line-height: var(--entrelinha-titulo); text-wrap: balance; margin: 0; }
p, figure, blockquote { margin: 0; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }

:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }

.pular-conteudo {
  position: absolute; left: var(--margem-lateral); top: -100px; z-index: 100;
  background: var(--botao-fundo); color: var(--botao-texto); padding: .75rem 1rem; text-decoration: none;
}
.pular-conteudo:focus { top: 1rem; }

.visualmente-oculto {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
