/* ============================================
   EFEITO DE NEVE - NATAL 2024 (OTIMIZADO)
   Versão leve com aceleração GPU
   ============================================ */

/* Overlay de neve - usa will-change para otimização GPU */
.snow-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
}

/* Camada base otimizada com transform (GPU accelerated) */
.snow-layer {
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 200%;
    pointer-events: none;
    will-change: transform;
    background-repeat: repeat;
}

/* Camada 1 - Flocos pequenos */
.snow-layer-1 {
    background-image: 
        radial-gradient(2px 2px at 50px 30px, #fff, transparent),
        radial-gradient(2px 2px at 150px 80px, #fff, transparent),
        radial-gradient(2px 2px at 250px 50px, #fff, transparent),
        radial-gradient(2px 2px at 350px 100px, #fff, transparent),
        radial-gradient(2px 2px at 100px 150px, #fff, transparent),
        radial-gradient(2px 2px at 200px 180px, #fff, transparent),
        radial-gradient(2px 2px at 300px 130px, #fff, transparent),
        radial-gradient(2px 2px at 400px 170px, #fff, transparent);
    background-size: 450px 200px;
    animation: snow-fall 12s linear infinite;
    opacity: 0.7;
}

/* Camada 2 - Flocos médios */
.snow-layer-2 {
    background-image: 
        radial-gradient(3px 3px at 70px 40px, #fff, transparent),
        radial-gradient(4px 4px at 170px 90px, #fff, transparent),
        radial-gradient(3px 3px at 270px 60px, #fff, transparent),
        radial-gradient(4px 4px at 370px 110px, #fff, transparent),
        radial-gradient(3px 3px at 120px 160px, #fff, transparent),
        radial-gradient(4px 4px at 220px 140px, #fff, transparent);
    background-size: 400px 200px;
    animation: snow-fall 8s linear infinite;
    animation-delay: -3s;
    opacity: 0.6;
}

/* Camada 3 - Flocos grandes (opcional - desativada em mobile) */
.snow-layer-3 {
    background-image: 
        radial-gradient(5px 5px at 80px 50px, #fff, transparent),
        radial-gradient(6px 6px at 230px 100px, #fff, transparent),
        radial-gradient(5px 5px at 380px 70px, #fff, transparent),
        radial-gradient(6px 6px at 130px 150px, #fff, transparent);
    background-size: 450px 200px;
    animation: snow-fall 6s linear infinite;
    animation-delay: -1s;
    opacity: 0.5;
}

/* Animação única otimizada - usa transform (GPU accelerated) */
@keyframes snow-fall {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(50%);
    }
}

/* Mobile - desativa camada pesada e reduz velocidade */
@media (max-width: 768px) {
    .snow-layer-3 {
        display: none;
    }
    
    .snow-layer-1 {
        animation-duration: 18s;
    }
    
    .snow-layer-2 {
        animation-duration: 12s;
    }
}

/* Respeita preferência de redução de movimento */
@media (prefers-reduced-motion: reduce) {
    .snow-layer {
        animation: none;
    }
}
