/* ============================================================
   GABARITOU 2.0 — Base & Tipografia
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

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

html {
  font-size: var(--fs-md);
  scroll-behavior: smooth;
}

/* Escalonamento de texto pela acessibilidade */
html[data-fontsize="90"]  { font-size: 0.84375rem; }
html[data-fontsize="100"] { font-size: 0.9375rem;  }
html[data-fontsize="110"] { font-size: 1.03125rem; }
html[data-fontsize="120"] { font-size: 1.125rem;   }
html[data-fontsize="130"] { font-size: 1.21875rem; }

body {
  font-family: var(--font-base);
  background: var(--bg-page);
  color: var(--txt-primary);
  line-height: 1.6;
  transition: background var(--transition), color var(--transition);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--clr-blue); text-decoration: none; }
a:hover { text-decoration: underline; }

h1,h2,h3,h4,h5,h6 {
  line-height: 1.3;
  font-weight: 700;
  color: var(--txt-primary);
}
h1 { font-size: var(--fs-2xl); }
h2 { font-size: var(--fs-xl);  }
h3 { font-size: var(--fs-lg);  }

p { color: var(--txt-secondary); }

ul, ol { list-style: none; }

img, svg { display: block; max-width: 100%; }

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

/* Focus visível para acessibilidade de teclado */
:focus-visible {
  outline: 2px solid var(--clr-green);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}
