/* ==========================================================================
   RESET: equivalente ao preflight do Tailwind 3.4.17, completo
   Origem: tests/e2e/css/dados/preflight-tailwind-3.4.17.css, gerado por `npm run css:preflight` (tests/e2e/css/extrair-preflight.js)
   a partir do motor real (tests/e2e/css/motor/tailwind.js, so das ferramentas). Este arquivo e a copia dele com o MAPEAMENTO abaixo; para
   atualizar, rode o extrator e reaplique so as trocas. O texto de cada regra e o do motor, nada foi escrito de memoria.

   Mapeamento (e so ele):
     1. `border-color: #e5e7eb` (primeira regra) vira `var(--preflight-borda)`: decisao do dono (plano, secao 9, item 4), reproduzir
        agora e normalizar para um token da marca depois, em PR proprio, fora da migracao.
     2. `color: #9ca3af` do `::placeholder` vira `var(--preflight-placeholder)`: o mesmo tratamento (cinza 400 do Tailwind).
     3. `font-family` do `html` vira `var(--fonte)` (styles.css): e a `fontFamily.sans` da configuracao de tema que o site tinha, com uma fonte de verdade.
     4. Fica de fora `::before, ::after { --tw-content: '' }`: so serve ao utilitario `content-*`, que o site nao usa, e sai com o Tailwind.
   Os valores iniciais das variaveis `--tw-*` (`*, ::before, ::after` e `::backdrop`) ja nao vem do extrator, pelo mesmo motivo.

   Reproduz o preflight INTEIRO, e nao so o que o markup estatico usa: o HTML que vem do CMS (blog, politicas, Sobre) pode trazer
   table, ol, blockquote, code, hr, sub e sup, que a suite visual nunca ve (convencao, secao 7).
   ========================================================================== */

:root {
  /* Constantes do reset (a unica excecao ao "nenhum hex fora do token": a guarda aceita `--preflight-*`). */
  --preflight-borda: #e5e7eb;       /* cor de borda sem cor declarada (so vale para o HTML do CMS) */
  --preflight-placeholder: #9ca3af; /* cor do texto de dica dos campos */
}

*,
::after,
::before {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: var(--preflight-borda);
}
:host,
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  font-family: var(--fonte);
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  line-height: inherit;
}
hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  text-decoration: inherit;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
pre,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -.25em;
}
sup {
  top: -.5em;
}
table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button,
select {
  text-transform: none;
}
button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
:-moz-focusring {
  outline: auto;
}
:-moz-ui-invalid {
  box-shadow: none;
}
progress {
  vertical-align: baseline;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
menu,
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
dialog {
  padding: 0;
}
textarea {
  resize: vertical;
}
input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: var(--preflight-placeholder);
}
[role=button],
button {
  cursor: pointer;
}
:disabled {
  cursor: default;
}
audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
  display: block;
  vertical-align: middle;
}
img,
video {
  max-width: 100%;
  height: auto;
}
[hidden]:where(:not([hidden=until-found])) {
  display: none;
}
