/* ==========================================================================
 * RESET BÁSICO (seguro p/ Bootstrap + tema por variáveis)
 * Caminho: static/css/core/base/reset.css
 * Objetivo: normalizar sem quebrar componentes do Bootstrap e sem sobrescrever
 * cores do tema; o body herda as cores do base.css via --bs-body-*
 * ========================================================================== */

/* 1) Box sizing e tipografia base */
*, *::before, *::after { box-sizing: border-box; }
html { height: 100%; -webkit-text-size-adjust: 100%; }
html:focus-within { scroll-behavior: smooth; }

/* 2) Body usa as VARS do tema (definidas em base.css) */
body {
  min-height: 100vh;
  margin: 0;
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

/* 3) Remoção de margens padrões em elementos tipográficos comuns */
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd { margin: 0; }

/* 4) Listas sem estilo quando declaradas como listas semânticas controladas */
ul[role="list"], ol[role="list"] { list-style: none; margin: 0; padding: 0; }

/* 5) Links: deixamos para o Bootstrap/tema cuidar das cores */
a { text-decoration: none; }
a:hover { text-decoration: none; }

/* 6) Imagens e mídia responsivas por padrão */
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img { height: auto; }

/* 7) Formulários herdam fonte e cor; não mexemos em background/bordas */
input, button, textarea, select { font: inherit; color: inherit; }

/* 8) Tabelas básicas sem colapsar visuais do Bootstrap */
table { border-collapse: collapse; border-spacing: 0; }

/* 9) Remove padding/margem nativa em elementos HTML antigos (compat) */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  vertical-align: baseline;
}

/* 10) Acessibilidade: respeita usuários com motion reduzido */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
