/* ----- RESET E BASE ----- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    font-size: 16px;
    scroll-behavior: smooth;
}
body {
    font-family: var(--font-family);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    color: var(--color-text-primary);
    background-color: var(--color-bg);
    transition: background-color var(--transition-slow), color var(--transition-slow);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   RESET PARA BOTÕES E LINKS (com eventos)
   ============================================ *
/* ---------- RESET BASE ---------- */
button,
a{
  /* Remove decoração e herança padrão */
	background: none;
  text-decoration: none;    /* Remove sublinhado de links */
  color: inherit;           /* Herda a cor do elemento pai */
  font: inherit;            /* Herda a fonte do elemento pai */
  line-height: normal;      /* Evita inconsistências */
  box-sizing: border-box;   /* Inclui padding e border na largura */
  touch-action: manipulation; /* Melhora toque em dispositivos móveis */
}

/* ---------- BOTÕES ---------- */
button {
  /* Remove estilos nativos do botão */
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}

/* ---------- LINKS ---------- */
a {
  /* Links geralmente têm cor azul e sublinhado, removemos */
  color: inherit;
  text-decoration: none;
}

/* ---------- ESTADOS DE INTERAÇÃO (EVENTOS) ---------- */

/* HOVER (mouse em cima) */
button:hover,
a:hover {
  /* Adicione aqui seus estilos de hover, ex: */
  /* opacity: 0.8; */
  /* text-decoration: underline; (para links) */
  cursor: pointer;
}

/* FOCUS (teclado ou clique) – essencial para acessibilidade */
button:focus-visible,
a:focus-visible {
  /* Destaque visível para navegação por teclado */
  outline: 2px solid #005fcc;  /* Azul acessível */
  outline-offset: 2px;
  border-radius: 2px;
}

/* Para navegadores mais antigos que não suportam :focus-visible */
button:focus,
a:focus {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

/* ACTIVE (botão pressionado / link clicado) */
button:active,
a:active {
  /* Efeito de pressionamento, ex: */
  transform: scale(0.98);
  opacity: 0.7;
}

/* VISITED (links já visitados) – mantém a mesma cor */
a:visited {
  color: inherit; /* ou defina uma cor específica, se desejar */
}

/* ---------- ESTILOS ADICIONAIS PARA BOTÕES (opcional) ---------- */
/* Remove o contorno azul no Firefox para botões com `disabled` */
button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Remove o padding interno do botão no Safari */
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}
