/*
 * base.css — Reset, tipografia e fundação
 * Saci Digital · v2.0
 */

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

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text1);
  display: flex;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── Headings ─────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--text1);
  line-height: 1.25;
}

/* ── Links ────────────────────────────────────────── */
a { color: var(--teal); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ── Botões reset ─────────────────────────────────── */
button { cursor: pointer; font-family: var(--font-body); }
button:focus-visible {
  outline: 2px solid var(--tealL);
  outline-offset: 2px;
}

/* ── Inputs / selects ─────────────────────────────── */
input, select, textarea {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text1);
}

/* ── Acessibilidade — foco visível ────────────────── */
:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ── Animação global de entrada de página ─────────── */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}

/* ── Utilitários tipográficos ─────────────────────── */
.font-display  { font-family: var(--font-display); }
.font-body     { font-family: var(--font-body); }
.text-1        { color: var(--text1); }
.text-2        { color: var(--text2); }
.text-3        { color: var(--text3); }

/* ── Scrollbar customizada (webkit) ───────────────── */
::-webkit-scrollbar          { width: 6px; height: 6px; }
::-webkit-scrollbar-track    { background: transparent; }
::-webkit-scrollbar-thumb    { background: var(--border); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--text3); }
