.festivals-section { background: linear-gradient(rgba(10, 10, 25, 0.85), rgba(10, 10, 25, 0.85)),url('https://images.unsplash.com/photo-1560986752-2e31d9507413?fm=jpg&q=60&w=3000&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlyZXdvcmtzfGVufDB8fDB8fHww') center/cover no-repeat fixed;color: #fff;padding: 80px 20px;}
.festivals-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem;}
.festival-card { background: var(--color-surface); padding: 2rem; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); transition: all 0.3s ease; animation: fadeInUp 0.8s ease; position: relative; overflow: hidden;}
.festival-card:hover { transform: translateY(-10px) scale(1.02); box-shadow: 0 20px 40px rgba(197,2,214,0.733);}
.festival-month { background: linear-gradient(45deg, #FF6B35, #DAA520); color: white; padding: 0.8rem 1.5rem; border-radius: 25px; font-weight: 600; font-size: 1.1rem; display: inline-block; margin-bottom: 1.5rem; animation: pulse 2s infinite;}
.festival-content h4 { font-size: 1.6rem; margin-bottom: 1rem; color: #1e7bfd;}
.festival-significance { color: var(--color-text-secondary); font-style: italic; margin-top: 1rem; padding: 1rem; background: var(--color-bg-2); border-radius: 10px; border-left: 4px solid #FF6B35;}
.festival-lights, .festival-flames, .festival-colors, .festival-waves { position: absolute; top: 0; right: 0; width: 60px; height: 60px; opacity: 0.1; animation: rotate 10s linear infinite;}
.festival-lights::before { content: '✨'; font-size: 2rem; }
.festival-flames::before { content: '🔥'; font-size: 2rem; }
.festival-colors::before { content: '🎨'; font-size: 2rem; }
.festival-waves::before { content: '🌊'; font-size: 2rem; }
