/* style.css — Reset moderno e acessível
   - Remove margens/paddings padrão
   - Define box-sizing em border-box
   - Normaliza elementos de mídia e formulários
   - Mantém boas práticas de acessibilidade (focus-visible)
   Uso: inclua antes dos seus estilos */
/* 1. Box-sizing e reset básico */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* 2. Dimensões base */
html, body {
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 3. Fonte base — herde do sistema (pode ser substituída depois) */
html {
  font-size: 100%; /* 16px padrão na maioria dos browsers */
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}

/* 4. Corpo */
body {
  min-height: 100%;
  background: transparent;
  color: inherit;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  text-rendering: optimizeLegibility;
}

/* 5. Links, botões e elementos interativos */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

button,
input,
select,
textarea {
  font: inherit; /* garante mesma fonte do body */
  color: inherit;
  background: none;
  border: none;
  outline: none;
}

/* manter comportamento de foco acessível */
:focus {
  outline: none;
}
:focus:not(:focus-visible) { /* remove outline para dispositivos apontadores quando suportado */
  outline: none;
}
:focus-visible { /* mostra outline quando foco por teclado */
  outline: 3px solid Highlight;
  outline-offset: 2px;
}

/* 6. Lists e headings */
ul,
ol {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* 7. Tabelas */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 8. Imagens, vídeos, canvases e iframes */
img,
picture,
video,
canvas,
svg,
iframe {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 9. Form controls - normalizações adicionais */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* 10. Placeholders */
::-webkit-input-placeholder { opacity: 0.6; }
:-ms-input-placeholder { opacity: 0.6; }
::placeholder { opacity: 0.6; }

/* 11. Desabilitados */
[disabled],
:disabled {
  cursor: default;
  opacity: 0.6;
  pointer-events: none;
}

/* 12. Helpers úteis */
.hidden { display: none !important; }
.visually-hidden { /* acessível: esconde visualmente mas mantém para leitores de tela */
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* 13. Default container sizing */
img, svg { vertical-align: middle; }

/* 14. Media queries base (opcionais) */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001s !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- FIM do reset ---------- */
/* A partir daqui adicione seus estilos específicos de projeto. */
