/* ============================================
   TEMÁTICA DE NAVIDAD - NOVA INFORMÁTICA
   ============================================
   Este archivo agrega decoraciones navideñas
   SIN cambiar los colores ni el estilo base
   Solo agrega elementos decorativos: árboles, 
   adornos, copos de nieve, etc.
   ============================================ */

/* Animaciones de copos de nieve con efecto de viento - más naturales */
@keyframes snowfall {
    0% {
        transform: translateY(-100vh) translateX(0) rotate(0deg);
        opacity: 0.8;
    }
    10% {
        transform: translateY(-80vh) translateX(15px) rotate(36deg);
    }
    20% {
        transform: translateY(-60vh) translateX(-10px) rotate(72deg);
    }
    30% {
        transform: translateY(-40vh) translateX(25px) rotate(108deg);
    }
    40% {
        transform: translateY(-20vh) translateX(-20px) rotate(144deg);
    }
    50% {
        transform: translateY(0vh) translateX(30px) rotate(180deg);
    }
    60% {
        transform: translateY(20vh) translateX(-15px) rotate(216deg);
    }
    70% {
        transform: translateY(40vh) translateX(20px) rotate(252deg);
    }
    80% {
        transform: translateY(60vh) translateX(-25px) rotate(288deg);
    }
    90% {
        transform: translateY(80vh) translateX(10px) rotate(324deg);
    }
    100% {
        transform: translateY(100vh) translateX(5px) rotate(360deg);
        opacity: 0;
    }
}

@keyframes snowfall2 {
    0% {
        transform: translateY(-100vh) translateX(0) rotate(0deg);
        opacity: 0.7;
    }
    12% {
        transform: translateY(-76vh) translateX(-20px) rotate(-43deg);
    }
    25% {
        transform: translateY(-50vh) translateX(18px) rotate(-90deg);
    }
    37% {
        transform: translateY(-25vh) translateX(-15px) rotate(-135deg);
    }
    50% {
        transform: translateY(0vh) translateX(22px) rotate(-180deg);
    }
    62% {
        transform: translateY(25vh) translateX(-18px) rotate(-225deg);
    }
    75% {
        transform: translateY(50vh) translateX(25px) rotate(-270deg);
    }
    87% {
        transform: translateY(75vh) translateX(-12px) rotate(-315deg);
    }
    100% {
        transform: translateY(100vh) translateX(8px) rotate(-360deg);
        opacity: 0;
    }
}

@keyframes snowfall3 {
    0% {
        transform: translateY(-100vh) translateX(0) rotate(0deg);
        opacity: 0.75;
    }
    15% {
        transform: translateY(-70vh) translateX(30px) rotate(54deg);
    }
    30% {
        transform: translateY(-40vh) translateX(-25px) rotate(108deg);
    }
    45% {
        transform: translateY(-10vh) translateX(35px) rotate(162deg);
    }
    60% {
        transform: translateY(20vh) translateX(-30px) rotate(216deg);
    }
    75% {
        transform: translateY(50vh) translateX(28px) rotate(270deg);
    }
    90% {
        transform: translateY(80vh) translateX(-20px) rotate(324deg);
    }
    100% {
        transform: translateY(100vh) translateX(15px) rotate(360deg);
        opacity: 0;
    }
}

@keyframes snowfall4 {
    0% {
        transform: translateY(-100vh) translateX(0) rotate(0deg);
        opacity: 0.65;
    }
    18% {
        transform: translateY(-64vh) translateX(-28px) rotate(-65deg);
    }
    36% {
        transform: translateY(-28vh) translateX(22px) rotate(-130deg);
    }
    54% {
        transform: translateY(8vh) translateX(-24px) rotate(-195deg);
    }
    72% {
        transform: translateY(44vh) translateX(26px) rotate(-260deg);
    }
    90% {
        transform: translateY(80vh) translateX(-18px) rotate(-325deg);
    }
    100% {
        transform: translateY(100vh) translateX(12px) rotate(-360deg);
        opacity: 0;
    }
}

/* Copos de nieve decorativos en el fondo - lluvia suave por toda la pantalla */
body.modo-navidad {
    position: relative;
    overflow-x: hidden;
}

/* Primera columna de copos - izquierda - distribución natural - lluvia pesada */
body.modo-navidad::before {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 8%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 22px;
    color: #FFFFFF;
    text-shadow: 0 0 15px rgba(255, 255, 255, 1), 0 0 25px rgba(255, 255, 255, 1), 0 0 35px rgba(255, 255, 255, 0.9);
    animation: snowfall 8s linear infinite;
    animation-delay: 0s;
}

/* Segundo copo en primera columna */
body.modo-navidad::after {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 5%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 20px;
    color: #FFFFFF;
    text-shadow: 0 0 12px rgba(255, 255, 255, 1), 0 0 22px rgba(255, 255, 255, 1), 0 0 32px rgba(255, 255, 255, 0.9);
    animation: snowfall2 9s linear infinite;
    animation-delay: -2s;
}

/* Tercera columna de copos - centro */
body.modo-navidad .body-content {
    position: relative;
}

body.modo-navidad .body-content::before {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 25%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 24px;
    color: #FFFFFF;
    text-shadow: 0 0 18px rgba(255, 255, 255, 1), 0 0 28px rgba(255, 255, 255, 1), 0 0 38px rgba(255, 255, 255, 1);
    animation: snowfall3 7s linear infinite;
    animation-delay: -1s;
}

/* Cuarta columna de copos - centro-derecha */
body.modo-navidad form::before {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 45%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 21px;
    color: #FFFFFF;
    text-shadow: 0 0 14px rgba(255, 255, 255, 1), 0 0 24px rgba(255, 255, 255, 1), 0 0 34px rgba(255, 255, 255, 0.95);
    animation: snowfall4 8.5s linear infinite;
    animation-delay: -3s;
}

/* Copos adicionales distribuidos naturalmente usando otros selectores */
body.modo-navidad .body-content::after {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 65%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 23px;
    color: #FFFFFF;
    text-shadow: 0 0 16px rgba(255, 255, 255, 1), 0 0 26px rgba(255, 255, 255, 1), 0 0 36px rgba(255, 255, 255, 0.95);
    animation: snowfall 7.5s linear infinite;
    animation-delay: -4s;
}

/* Más copos usando header */
body.modo-navidad .header-custom::before {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 35%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 19px;
    color: #FFFFFF;
    text-shadow: 0 0 13px rgba(255, 255, 255, 1), 0 0 23px rgba(255, 255, 255, 1), 0 0 33px rgba(255, 255, 255, 0.9);
    animation: snowfall2 9.5s linear infinite;
    animation-delay: -0.5s;
}

/* Más copos usando navbar */
body.modo-navidad .navbar-custom::before {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 55%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 25px;
    color: #FFFFFF;
    text-shadow: 0 0 20px rgba(255, 255, 255, 1), 0 0 30px rgba(255, 255, 255, 1), 0 0 40px rgba(255, 255, 255, 1);
    animation: snowfall3 6.5s linear infinite;
    animation-delay: -1.5s;
}

/* Más copos usando form::after */
body.modo-navidad form::after {
    content: '❄';
    position: fixed;
    top: -100px;
    left: 75%;
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 9998;
    font-size: 20px;
    color: #FFFFFF;
    text-shadow: 0 0 12px rgba(255, 255, 255, 1), 0 0 22px rgba(255, 255, 255, 1), 0 0 32px rgba(255, 255, 255, 0.9);
    animation: snowfall4 10s linear infinite;
    animation-delay: -2.5s;
}

/* Árboles de Navidad decorativos en esquinas (movidos a otro selector para no interferir con copos) */
body.modo-navidad .header-custom {
    position: relative;
}

body.modo-navidad .header-custom::after {
    content: '🎄';
    position: fixed;
    top: 20px;
    left: 20px;
    font-size: 40px;
    z-index: 9997;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-float 3s ease-in-out infinite;
    filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));
}

body.modo-navidad .navbar-custom {
    position: relative;
}

/* Árbol de Navidad en esquina superior derecha - usando form como contenedor */
body.modo-navidad form::after {
    content: '🎄';
    position: fixed;
    top: 20px;
    right: 20px;
    font-size: 40px;
    z-index: 9997;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-float 3s ease-in-out infinite;
    animation-delay: -1.5s;
    filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));
}

/* Animación flotante para árboles */
@keyframes navidad-float {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-10px) rotate(5deg);
    }
}

/* Adornos navideños en el header */
body.modo-navidad .header-custom {
    position: relative;
}

body.modo-navidad .header-custom::after {
    content: '🎁 🎀 🎄';
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 24px;
    z-index: 10;
    pointer-events: none;
    opacity: 0.8;
    white-space: nowrap;
}

/* Adornos en el navbar */
body.modo-navidad .navbar-custom::before {
    content: '✨';
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    font-size: 20px;
    z-index: 10;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-twinkle 2s ease-in-out infinite;
}

body.modo-navidad .navbar-custom::after {
    content: '✨';
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-size: 20px;
    z-index: 10;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-twinkle 2s ease-in-out infinite;
    animation-delay: -1s;
}

/* Animación de brillo para estrellas */
@keyframes navidad-twinkle {
    0%, 100% {
        opacity: 0.3;
        transform: translateY(-50%) scale(1);
    }
    50% {
        opacity: 1;
        transform: translateY(-50%) scale(1.2);
    }
}

/* Adornos en las tarjetas de productos - pino izquierda, regalo derecha */
body.modo-navidad .card-custom::before,
body.modo-navidad .product-card::before {
    content: '🎄';
    position: absolute;
    top: 5px;
    left: 10px;
    font-size: 30px;
    z-index: 5;
    pointer-events: none;
    opacity: 0.6;
    animation: navidad-float 4s ease-in-out infinite;
}

body.modo-navidad .card-custom::after,
body.modo-navidad .product-card::after {
    content: '🎁';
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 28px;
    z-index: 5;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-float 4s ease-in-out infinite;
    animation-delay: -2s;
}

/* Adornos en botones - removido para mantener diseño limpio */

/* Adornos en títulos principales */
body.modo-navidad h1::before {
    content: '🎄 ';
    opacity: 0.8;
}

body.modo-navidad h1::after {
    content: ' 🎄';
    opacity: 0.8;
}

body.modo-navidad h2::before {
    content: '✨ ';
    opacity: 0.7;
}

body.modo-navidad h2::after {
    content: ' ✨';
    opacity: 0.7;
}

/* Luces navideñas decorativas en las esquinas inferiores - usando selectores únicos */
body.modo-navidad .header-custom::before {
    content: '';
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 60px;
    height: 60px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.3) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 9996;
    pointer-events: none;
    animation: navidad-glow 2s ease-in-out infinite;
}

body.modo-navidad .contact-section::before {
    content: '';
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.3) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 9996;
    pointer-events: none;
    animation: navidad-glow 2s ease-in-out infinite;
    animation-delay: -1s;
}

/* Animación de brillo para luces */
@keyframes navidad-glow {
    0%, 100% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 0.6;
        transform: scale(1.2);
    }
}

/* Adornos en el carrusel */
body.modo-navidad .carousel-promociones::before {
    content: '🎄';
    position: absolute;
    top: -20px;
    left: 20px;
    font-size: 35px;
    z-index: 10;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-float 3s ease-in-out infinite;
}

body.modo-navidad .carousel-promociones::after {
    content: '🎄';
    position: absolute;
    top: -20px;
    right: 20px;
    font-size: 35px;
    z-index: 10;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-float 3s ease-in-out infinite;
    animation-delay: -1.5s;
}

/* Adornos en sección de contacto */
body.modo-navidad .contact-section::before {
    content: '🎁 🎄 🎁';
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 28px;
    z-index: 10;
    pointer-events: none;
    opacity: 0.8;
    white-space: nowrap;
}

/* Adornos en hero section */
body.modo-navidad .hero-section::before {
    content: '✨ 🎄 ✨';
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 32px;
    z-index: 3;
    pointer-events: none;
    opacity: 0.7;
    white-space: nowrap;
    animation: navidad-twinkle 3s ease-in-out infinite;
}

/* Adornos en cards modernas */
body.modo-navidad .modern-card::before {
    content: '🎄';
    position: absolute;
    top: -18px;
    right: 15px;
    font-size: 28px;
    z-index: 5;
    pointer-events: none;
    opacity: 0.6;
    animation: navidad-float 3.5s ease-in-out infinite;
}

/* Adornos en glass cards */
body.modo-navidad .glass-card-futuristic::before {
    content: '✨';
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 24px;
    z-index: 5;
    pointer-events: none;
    opacity: 0.7;
    animation: navidad-twinkle 2s ease-in-out infinite;
}

/* Asegurar que los elementos decorativos no interfieran con la funcionalidad */
body.modo-navidad *::before,
body.modo-navidad *::after {
    pointer-events: none !important;
}

/* Responsive - optimizar para móviles */
@media screen and (max-width: 768px) {
    body.modo-navidad .body-content::before,
    body.modo-navidad .body-content::after {
        font-size: 30px;
        opacity: 0.5;
    }
    
    body.modo-navidad .card-custom::before,
    body.modo-navidad .product-card::before,
    body.modo-navidad .modern-card::before {
        font-size: 20px;
        opacity: 0.4;
    }
    
    body.modo-navidad .card-custom::after,
    body.modo-navidad .product-card::after {
        font-size: 20px;
        opacity: 0.4;
    }
    
    /* Reducir copos de nieve en tablets */
    body.modo-navidad::before,
    body.modo-navidad::after,
    body.modo-navidad .body-content::before,
    body.modo-navidad form::before,
    body.modo-navidad .header-custom::before,
    body.modo-navidad .navbar-custom::before,
    body.modo-navidad form::after {
        font-size: 18px;
        opacity: 0.6;
    }
}

@media screen and (max-width: 576px) {
    /* Optimizar copos de nieve para móviles */
    body.modo-navidad::before,
    body.modo-navidad::after,
    body.modo-navidad .body-content::before,
    body.modo-navidad form::before,
    body.modo-navidad .body-content::after,
    body.modo-navidad .header-custom::before,
    body.modo-navidad .navbar-custom::before,
    body.modo-navidad form::after {
        font-size: 16px;
        opacity: 0.5;
    }
    
    /* Adornos en tarjetas más pequeños en móviles */
    body.modo-navidad .card-custom::before,
    body.modo-navidad .product-card::before {
        font-size: 18px;
        opacity: 0.5;
        top: 3px;
        left: 5px;
    }
    
    body.modo-navidad .card-custom::after,
    body.modo-navidad .product-card::after {
        font-size: 16px;
        opacity: 0.5;
        top: 3px;
        right: 5px;
    }
    
    /* Ocultar adornos en títulos en móviles para mejor legibilidad */
    body.modo-navidad h1::before,
    body.modo-navidad h1::after,
    body.modo-navidad h2::before,
    body.modo-navidad h2::after {
        content: '';
    }
    
    /* Reducir tamaño de árboles en esquinas */
    body.modo-navidad .header-custom::after,
    body.modo-navidad form::after {
        font-size: 30px;
        opacity: 0.5;
    }
    
    /* Adornos en header y navbar más pequeños */
    body.modo-navidad .header-custom::after {
        font-size: 16px;
        opacity: 0.4;
    }
    
    body.modo-navidad .navbar-custom::before,
    body.modo-navidad .navbar-custom::after {
        font-size: 14px;
        opacity: 0.4;
    }
    
    /* Ocultar algunos adornos en carrusel para mejor rendimiento */
    body.modo-navidad .carousel-promociones::before,
    body.modo-navidad .carousel-promociones::after {
        display: none;
    }
    
    /* Luces navideñas más pequeñas */
    body.modo-navidad .header-custom::before,
    body.modo-navidad .contact-section::before {
        width: 40px;
        height: 40px;
    }
}
