/* Temas festivos: decoraciones automáticas por fecha (clases asignadas desde festive_themes.css_class) */

/* === SNOWFLAKES (Navidad) === */
.theme-christmas .snowflake {
    position: fixed;
    top: -10px;
    color: #fff;
    font-size: 1.2rem;
    animation: snowfall linear infinite;
    opacity: 0.7;
    z-index: 999;
    pointer-events: none;
}

@keyframes snowfall {
    0% { transform: translateY(-10px) rotate(0deg); opacity: 0.8; }
    100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }
}

/* === HEARTS (San Valentín) === */
.theme-valentines .heart {
    position: fixed;
    bottom: -20px;
    color: #E63946;
    font-size: 1rem;
    animation: floatUp linear infinite;
    opacity: 0.6;
    z-index: 999;
    pointer-events: none;
}

@keyframes floatUp {
    0% { transform: translateY(0) scale(1); opacity: 0.6; }
    50% { opacity: 0.8; }
    100% { transform: translateY(-100vh) scale(0.5); opacity: 0; }
}

/* === FLOWERS (Día de la Madre) === */
.theme-mothers .petal {
    position: fixed;
    top: -20px;
    font-size: 1.5rem;
    animation: petalFall linear infinite;
    opacity: 0.7;
    z-index: 999;
    pointer-events: none;
}

@keyframes petalFall {
    0% { transform: translateY(-20px) rotate(0deg) translateX(0); opacity: 0.7; }
    50% { transform: translateY(50vh) rotate(180deg) translateX(30px); }
    100% { transform: translateY(100vh) rotate(360deg) translateX(-20px); opacity: 0; }
}

/* === CONFETTI (Carnaval, Fundación) === */
.theme-carnaval .confetti,
.theme-ciudad .confetti {
    position: fixed;
    top: -10px;
    width: 8px;
    height: 12px;
    animation: confettiFall linear infinite;
    z-index: 999;
    pointer-events: none;
}

@keyframes confettiFall {
    0% { transform: translateY(-10px) rotate(0deg); opacity: 1; }
    100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}

/* === FIREWORKS (Año Nuevo, Independencia) === */
.theme-new-year .firework,
.theme-independencia .firework {
    position: fixed;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    animation: fireworkBurst 2s ease-out infinite;
    z-index: 999;
    pointer-events: none;
}

@keyframes fireworkBurst {
    0% { transform: scale(0); opacity: 1; }
    50% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(2); opacity: 0; }
}

/* === FESTIVE BANNER THEMES === */
.festive-banner.theme-christmas { background: linear-gradient(90deg, #165B33, #BB2528); color: #fff; }
.festive-banner.theme-valentines { background: linear-gradient(90deg, #E63946, #FFB4A2); color: #fff; }
.festive-banner.theme-mothers { background: linear-gradient(90deg, #FF69B4, #FFB6C1); color: #fff; }
.festive-banner.theme-carnaval { background: linear-gradient(90deg, #FF6B35, #FFC947, #00B4D8); color: #fff; }
.festive-banner.theme-new-year { background: linear-gradient(90deg, #1a1a2e, #16213e); color: #FFD700; }
.festive-banner.theme-ciudad { background: linear-gradient(90deg, #2E4057, #FFD700); color: #fff; }
.festive-banner.theme-independencia { background: linear-gradient(90deg, #FFD100, #003DA5, #CE1126); color: #fff; }
.festive-banner.theme-religiosa { background: linear-gradient(90deg, #87CEEB, #fff); color: #333; }
.festive-banner.theme-easter { background: linear-gradient(90deg, #7B2D8E, #C084FC); color: #fff; }
