/* EntrenoApp - Optimizaciones de Rendimiento */

/* Optimizaciones de carga */
.preload {
    font-display: swap;
}

/* Optimizaciones de imágenes */
img {
    max-width: 100%;
    height: auto;
    loading: lazy;
}

/* Optimizaciones de fuentes */
@font-face {
    font-family: 'System Font';
    font-display: swap;
    src: local('system-ui'), local('-apple-system'), local('BlinkMacSystemFont'), local('Segoe UI'), local('Roboto'), local('sans-serif');
}

/* Optimizaciones de animaciones */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Optimizaciones de scroll */
.smooth-scroll {
    scroll-behavior: smooth;
}

/* Optimizaciones de layout */
.container {
    contain: layout style;
}

/* Optimizaciones de paint */
.gpu-accelerated {
    transform: translateZ(0);
    will-change: transform;
}

/* Optimizaciones de memoria */
.optimized-card {
    contain: layout style paint;
    content-visibility: auto;
}

/* Optimizaciones de red */
.critical-resource {
    preload: true;
}

/* Optimizaciones de JavaScript */
.defer-load {
    loading: lazy;
}

/* Optimizaciones de CSS crítico */
.above-fold {
    content-visibility: visible;
}

.below-fold {
    content-visibility: auto;
}

/* Optimizaciones de AdSense */
.ad-container {
    min-height: 250px;
    contain: layout;
}

/* Optimizaciones de PWA */
.pwa-optimized {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Optimizaciones de rendimiento general */
* {
    box-sizing: border-box;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Optimizaciones de carga asíncrona */
.async-load {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.async-load.loaded {
    opacity: 1;
}

/* Optimizaciones de caché */
.cache-optimized {
    cache-control: max-age=31536000;
}

/* Optimizaciones de compresión */
.compressed {
    gzip: true;
    brotli: true;
}

/* Optimizaciones de CDN */
.cdn-optimized {
    cdn: true;
    edge-cache: true;
}

/* Optimizaciones de Core Web Vitals */
.lcp-optimized {
    content-visibility: visible;
    contain: layout style paint;
}

.cls-optimized {
    aspect-ratio: 16/9;
    width: 100%;
}

.fid-optimized {
    pointer-events: auto;
    touch-action: manipulation;
}

/* Optimizaciones de SEO */
.seo-optimized {
    semantic: true;
    accessible: true;
    crawlable: true;
}

/* Optimizaciones de accesibilidad */
.a11y-optimized {
    focus-visible: true;
    screen-reader: friendly;
    keyboard-navigation: true;
}

/* Optimizaciones de móvil */
.mobile-optimized {
    viewport: optimized;
    touch-friendly: true;
    responsive: true;
}

/* Optimizaciones de AdSense específicas */
.adsense-optimized {
    ad-placement: optimal;
    ad-loading: lazy;
    ad-performance: optimized;
}

/* Optimizaciones de analytics */
.analytics-optimized {
    tracking: efficient;
    privacy-compliant: true;
    gdpr-ready: true;
}

/* Optimizaciones de seguridad */
.security-optimized {
    csp: strict;
    https: enforced;
    headers: secure;
}

/* Optimizaciones de mantenimiento */
.maintenance-optimized {
    error-handling: graceful;
    fallbacks: available;
    monitoring: enabled;
}