/* ================================================
   VORTICE CSS — Reset
   v1.0
   ================================================
   Reset moderno. No opina sobre diseño — solo
   elimina inconsistencias entre browsers y establece
   una base predecible.
   No requiere tokens.css.
   ================================================ */

/* Box model universal */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Eliminar márgenes por defecto */
* {
  margin: 0;
}

/* Tipografía y suavizado */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
  hanging-punctuation: first last;
}

/* Altura mínima y herencia de color */
body {
  min-height: 100vh;
  line-height: 1.5;
  color: inherit;
  background-color: inherit;
}

/* Media — block por defecto, responsivo */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Inputs heredan tipografía del documento */
input, button, textarea, select {
  font: inherit;
  color: inherit;
}

/* Overflow-wrap en texto largo */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/* Balance en headings, pretty en párrafos */
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

/* Listas sin estilo por defecto */
ul, ol {
  list-style: none;
  padding: 0;
}

/* Links sin decoración — se estilizan en base.css */
a {
  color: inherit;
  text-decoration: none;
}

/* Botones sin estilo nativo */
button {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

/* Tablas */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Fieldset */
fieldset {
  border: none;
  padding: 0;
}

/* HR */
hr {
  border: none;
  border-top: 1px solid currentColor;
  opacity: 0.2;
}
