/* Normalización personalizada */

/* Box sizing para todos los elementos */
*, *::before, *::after {
    box-sizing: border-box;
  }
  
  /* Eliminar márgenes y rellenos predeterminados */
  html, body, div, span, applet, object, iframe,
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  a, abbr, acronym, address, big, cite, code,
  del, dfn, em, img, ins, kbd, q, s, samp,
  small, strike, strong, sub, sup, tt, var,
  b, u, i, center,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
  }
  
  /* Configuración de la raíz HTML */
  html {
    font-size: 16px;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
  }
  
  /* Configuración del body */
  body {
    line-height: 1;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  }
  
  /* Corregir la visualización de elementos en bloque para navegadores antiguos */
  article, aside, details, figcaption, figure, 
  footer, header, hgroup, main, menu, nav, section {
    display: block;
  }
  
  /* Eliminar estilos de lista predeterminados */
  ol, ul {
    list-style: none;
  }
  
  /* Restablecer estilos de cita */
  blockquote, q {
    quotes: none;
  }
  
  blockquote:before, blockquote:after,
  q:before, q:after {
    content: '';
    content: none;
  }
  
  /* Configuración de tablas */
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  
  /* Eliminar el subrayado predeterminado de los enlaces */
  a {
    text-decoration: none;
    color: inherit;
  }
  
  /* Hacer que las imágenes sean responsive */
  img {
    max-width: 100%;
    height: auto;
  }
  
  /* Eliminar el resaltado táctil en dispositivos móviles */
  a, button, input, select, textarea {
    -webkit-tap-highlight-color: transparent;
  }
  
  /* Mejorar la legibilidad del texto */
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  /* Corregir el desbordamiento de palabras largas */
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
  
  /* Establecer una altura mínima para el cuerpo */
  html, body {
    min-height: 100%;
  }