/* Holiday Falling Icons Animation - Premium 4K Quality */
.tp-holiday-icons-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
}

.tp-falling-icon {
    position: absolute;
    top: -100px;
    font-size: 48px;
    opacity: 0;
    pointer-events: none;
    animation: fall linear forwards;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5),
                 0 0 20px rgba(255, 255, 255, 0.3);
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

/* High quality icon rendering */
.tp-falling-icon i {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: inherit;
    display: block;
}

/* Individual icon animations with rotation */
@keyframes fall {
    0% {
        transform: translateY(-100px) rotate(0deg) scale(0);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
        transform: translateY(0) rotate(45deg) scale(1);
    }
    90% {
        opacity: 0.8;
        transform: translateY(calc(100vh - 50px)) rotate(355deg) scale(1);
    }
    100% {
        transform: translateY(100vh) rotate(360deg) scale(0.8);
        opacity: 0;
    }
}

/* Swinging animation for more realistic effect */
@keyframes swing {
    0%, 100% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(15px);
    }
    75% {
        transform: translateX(-15px);
    }
}

/* Icon color variations - Holiday themed */
.tp-falling-icon.color-red {
    color: #e74c3c;
}

.tp-falling-icon.color-green {
    color: #27ae60;
}

.tp-falling-icon.color-gold {
    color: #f39c12;
}

.tp-falling-icon.color-silver {
    color: #95a5a6;
}

.tp-falling-icon.color-blue {
    color: #3498db;
}

.tp-falling-icon.color-brown {
    color: #6d4c41;
}

/* Premium glow effects */
.tp-falling-icon.glow-red {
    text-shadow: 0 0 15px rgba(231, 76, 60, 0.8),
                 0 0 30px rgba(231, 76, 60, 0.5),
                 0 0 45px rgba(231, 76, 60, 0.3);
}

.tp-falling-icon.glow-green {
    text-shadow: 0 0 15px rgba(39, 174, 96, 0.8),
                 0 0 30px rgba(39, 174, 96, 0.5),
                 0 0 45px rgba(39, 174, 96, 0.3);
}

.tp-falling-icon.glow-gold {
    text-shadow: 0 0 15px rgba(243, 156, 18, 0.8),
                 0 0 30px rgba(243, 156, 18, 0.5),
                 0 0 45px rgba(243, 156, 18, 0.3);
}

/* Slower fall for larger icons */
.tp-falling-icon.size-large {
    font-size: 64px;
    animation-duration: 12s;
}

.tp-falling-icon.size-medium {
    font-size: 48px;
    animation-duration: 10s;
}

.tp-falling-icon.size-small {
    font-size: 32px;
    animation-duration: 8s;
}

/* Performance optimization */
.tp-falling-icon {
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Disable on mobile to preserve performance */
@media (max-width: 768px) {
    .tp-holiday-icons-container {
        display: none;
    }
}

/* Reduce animation on low-power devices */
@media (prefers-reduced-motion: reduce) {
    .tp-falling-icon {
        animation: none;
        display: none;
    }
}
