/* ===== AROROPIOLOGÍA - RESET STYLES ===== */
/* Archivo: public_html/assets/css/reset.css */
/* Versión: 2.0 - Optimizado para sistema tipográfico dedicado */
/* Nota: Las fuentes se manejan completamente en typography.css */

/* ===== RESET UNIVERSAL MEJORADO ===== */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    
    /* Optimizaciones de renderizado para todos los elementos */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ===== CONFIGURACIÓN HTML Y BODY ===== */
html {
    height: 100%;
    /* ← REMOVIDO: font-family, font-size, line-height - delegado a typography.css */
    
    /* Configuración de viewport y scroll */
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    
    /* Mejoras de renderizado */
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    
    /* Scroll behavior global */
    scroll-behavior: smooth;
}

body {
    height: 100%;
    /* ← REMOVIDO: font-family, font-size, line-height - delegado a typography.css */
    
    /* Configuraciones esenciales de renderizado */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    
    /* Optimizaciones para dispositivos táctiles */
    touch-action: manipulation;
    
    /* Prevenir scroll bounce en iOS */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: none;
    
    /* Configuración de dirección de texto (preparado para RTL) */
    direction: ltr;
    text-align: left;
}

/* ===== ELEMENTOS DE ENLACE ===== */
a {
    text-decoration: none;
    color: inherit;
    
    /* Optimizaciones de accesibilidad */
    -webkit-tap-highlight-color: transparent;
    outline-offset: 2px;
    
    /* Transición suave para estados hover/focus */
    transition: color 0.2s ease, opacity 0.2s ease;
}

a:focus-visible {
    outline: 2px solid currentColor;
}

/* ===== ELEMENTOS DE FORMULARIO ===== */
button,
input,
select,
textarea {
    /* ← REMOVIDO: font-family, font-size - ahora inherit automáticamente de typography.css */
    border: none;
    background: none;
    outline: none;
    
    /* Configuraciones de accesibilidad */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    /* Optimizaciones táctiles */
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    
    /* Reset de estilos del navegador */
    border-radius: 0;
    box-shadow: none;
}

button {
    cursor: pointer;
    
    /* Reset específico para botones */
    background: transparent;
    border: 0;
    padding: 0;
    
    /* Optimizaciones de interacción */
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

input,
textarea {
    /* Reset de estilos específicos de input */
    margin: 0;
    vertical-align: baseline;
    
    /* Configuraciones de texto */
    resize: none;
    outline: none;
    
    /* iOS Safari fixes */
    -webkit-border-radius: 0;
    border-radius: 0;
}

/* Placeholder styling reset */
input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: inherit;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    opacity: 1;
    color: inherit;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;
    color: inherit;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    opacity: 1;
    color: inherit;
}

/* ===== LISTAS ===== */
ul,
ol {
    list-style: none;
    
    /* Reset de espaciado */
    margin: 0;
    padding: 0;
}

li {
    margin: 0;
    padding: 0;
}

/* ===== ELEMENTOS DE MEDIA ===== */
img,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
    
    /* Optimizaciones de renderizado */
    vertical-align: middle;
    border: 0;
    
    /* Prevenir problemas de spacing */
    display: block;
}

img {
    /* Optimizaciones específicas para imágenes */
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    
    /* Rendering optimizations */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* ===== ELEMENTOS DE TABLA ===== */
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

th,
td {
    padding: 0;
    margin: 0;
    border: 0;
    vertical-align: top;
}

/* ===== ELEMENTOS DE CONTENIDO ===== */
h1, h2, h3, h4, h5, h6 {
    /* ← REMOVIDO: font-size, font-weight, line-height - delegado a typography.css */
    margin: 0;
    padding: 0;
    
    /* Configuraciones de renderizado */
    font-variant-ligatures: common-ligatures;
    text-rendering: optimizeLegibility;
}

p,
blockquote,
pre,
address {
    margin: 0;
    padding: 0;
}

/* ===== ELEMENTOS DE FORMATO ===== */
b,
strong {
    font-weight: bolder;
}

i,
em {
    font-style: italic;
}

small {
    /* ← REMOVIDO: font-size - delegado a typography.css */
}

sub,
sup {
    /* ← REMOVIDO: font-size - delegado a typography.css */
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* ===== ELEMENTOS DE CÓDIGO ===== */
code,
kbd,
pre,
samp {
    /* ← REMOVIDO: font-family - delegado a typography.css */
    
    /* Configuraciones específicas de código */
    white-space: pre;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* ===== ELEMENTOS DE SELECCIÓN ===== */
select {
    /* Reset específico para selects */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    background-image: none;
    cursor: pointer;
}

/* ===== ELEMENTOS DE MEDIA INTERACTIVOS ===== */
audio,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

/* ===== ELEMENTOS HTML5 SEMÁNTICOS ===== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

/* ===== ELEMENTOS DE TEMPLATE ===== */
template,
[hidden] {
    display: none;
}

/* ===== OPTIMIZACIONES DE ACCESIBILIDAD ===== */
/* Reducir movimiento para usuarios sensibles */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Configuraciones para alto contraste (e-ink) */
@media (prefers-contrast: high) {
    *,
    *::before,
    *::after {
        /* Mejorar legibilidad en dispositivos e-ink */
        text-shadow: none;
        box-shadow: none;
    }
    
    img {
        /* Optimizar imágenes para e-ink */
        filter: contrast(1.2) brightness(1.1);
    }
}

/* ===== CONFIGURACIONES DE IMPRESIÓN ===== */
@media print {
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    a,
    a:visited {
        text-decoration: underline;
    }
    
    img {
        page-break-inside: avoid;
    }
    
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
    }
    
    p,
    blockquote {
        page-break-inside: avoid;
    }
}

/* ===== WEBKIT SPECIFIC RESETS ===== */
/* Safari y Chrome específicos */
input[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

/* ===== FIREFOX SPECIFIC RESETS ===== */
/* Firefox específicos */
input[type="number"] {
    -moz-appearance: textfield;
}

input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/* ===== SCROLLBAR RESET ===== */
/* Reset de scrollbars para consistencia */
* {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

*::-webkit-scrollbar {
    width: 0;
    height: 0;
    background: transparent;
}

/* ===== SELECTION RESET ===== */
/* Reset de selección de texto */
::selection {
    background: transparent;
}

::-moz-selection {
    background: transparent;
}

/* ===== LEGACY SUPPORT ===== */
/* Soporte para navegadores muy antiguos */
.no-js * {
    /* Fallbacks para JavaScript deshabilitado */
    animation: none !important;
    transition: none !important;
}

/* IE specific resets */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    img {
        width: auto\9; /* IE8-9 */
    }
}