/* Holiday Theme Animations */

/* ========== CHRISTMAS ANIMATIONS ========== */
@keyframes snowfall-christmas {
  0% {
    transform: translateY(0) rotate(0deg) translateX(0);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) rotate(360deg) translateX(30px);
    opacity: 0;
  }
}

@keyframes twinkle {
  0%, 100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}

/* ========== HALLOWEEN ANIMATIONS ========== */
@keyframes ghost-float {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 0.8;
  }
  100% {
    transform: translateY(-100vh) rotate(20deg);
    opacity: 0;
  }
}

@keyframes bob-up-down {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

/* ========== VALENTINE'S ANIMATIONS ========== */
@keyframes hearts-float {
  0% {
    transform: translateY(0) scale(0.5);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 0.8;
  }
  100% {
    transform: translateY(-100vh) scale(1.2);
    opacity: 0;
  }
}

@keyframes heartbeat {
  0%, 100% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.1);
  }
  50% {
    transform: scale(1);
  }
}

/* ========== THANKSGIVING ANIMATIONS ========== */
@keyframes leaves-swirl {
  0% {
    transform: translateY(0) rotate(0deg) translateX(0);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) rotate(720deg) translateX(100px);
    opacity: 0;
  }
}

@keyframes sway-generous {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(60px);
  }
  75% {
    transform: translateX(-60px);
  }
}

/* ========== NEW YEAR'S ANIMATIONS ========== */
@keyframes confetti-pop {
  0% {
    transform: translateY(0) rotate(0deg) scale(0);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) rotate(360deg) scale(0);
    opacity: 0;
  }
}

@keyframes sparkle {
  0%, 100% {
    opacity: 0.3;
    filter: drop-shadow(0 0 5px rgba(251, 191, 36, 0.4));
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 15px rgba(251, 191, 36, 0.9));
  }
}

/* ========== HOLIDAY PARTICLE STYLES ========== */
.christmas-particle {
  position: fixed;
  top: -50px;
  font-size: 1.8rem;
  pointer-events: none;
  z-index: 998;
  animation: snowfall-christmas linear forwards, twinkle 3s ease-in-out infinite;
}

.halloween-particle {
  position: fixed;
  top: -50px;
  font-size: 2rem;
  pointer-events: none;
  z-index: 998;
  animation: ghost-float linear forwards, bob-up-down 2s ease-in-out infinite;
}

.valentines-particle {
  position: fixed;
  bottom: -50px;
  font-size: 2rem;
  pointer-events: none;
  z-index: 998;
  animation: hearts-float linear forwards, heartbeat 1.5s ease-in-out infinite;
  color: #ec4899;
}

.thanksgiving-particle {
  position: fixed;
  top: -50px;
  font-size: 2.2rem;
  pointer-events: none;
  z-index: 998;
  animation: leaves-swirl linear forwards, sway-generous 3s ease-in-out infinite;
}

.newyears-particle {
  position: fixed;
  bottom: -50px;
  font-size: 1.8rem;
  pointer-events: none;
  z-index: 998;
  animation: confetti-pop linear forwards, sparkle 2s ease-in-out infinite;
}

/* ========== HOLIDAY ANIMATION TIMING ========== */
.christmas-particle:nth-child(1) {
  left: 8%;
  animation-duration: 10s, 3s;
  animation-delay: 0s, 0s;
}

.christmas-particle:nth-child(2) {
  left: 20%;
  animation-duration: 12s, 3s;
  animation-delay: 2s, 1s;
}

.christmas-particle:nth-child(3) {
  left: 40%;
  animation-duration: 11s, 3s;
  animation-delay: 4s, 0.5s;
}

.christmas-particle:nth-child(4) {
  left: 60%;
  animation-duration: 13s, 3s;
  animation-delay: 1s, 1.5s;
}

.christmas-particle:nth-child(5) {
  left: 80%;
  animation-duration: 10.5s, 3s;
  animation-delay: 3s, 0s;
}

.halloween-particle:nth-child(1) {
  left: 10%;
  animation-duration: 9s, 2s;
  animation-delay: 0s, 0s;
}

.halloween-particle:nth-child(2) {
  left: 25%;
  animation-duration: 11s, 2s;
  animation-delay: 2s, 0.5s;
}

.halloween-particle:nth-child(3) {
  left: 45%;
  animation-duration: 10s, 2s;
  animation-delay: 4s, 1s;
}

.halloween-particle:nth-child(4) {
  left: 65%;
  animation-duration: 12s, 2s;
  animation-delay: 1s, 0.2s;
}

.halloween-particle:nth-child(5) {
  left: 85%;
  animation-duration: 9.5s, 2s;
  animation-delay: 3s, 0.8s;
}

.valentines-particle:nth-child(1) {
  left: 12%;
  animation-duration: 8s, 1.5s;
  animation-delay: 0s, 0s;
}

.valentines-particle:nth-child(2) {
  left: 30%;
  animation-duration: 10s, 1.5s;
  animation-delay: 2s, 0.3s;
}

.valentines-particle:nth-child(3) {
  left: 50%;
  animation-duration: 9s, 1.5s;
  animation-delay: 4s, 0.6s;
}

.valentines-particle:nth-child(4) {
  left: 70%;
  animation-duration: 11s, 1.5s;
  animation-delay: 1s, 0.2s;
}

.valentines-particle:nth-child(5) {
  left: 88%;
  animation-duration: 8.5s, 1.5s;
  animation-delay: 3s, 0.9s;
}

.thanksgiving-particle:nth-child(1) {
  left: 5%;
  animation-duration: 10s, 3s;
  animation-delay: 0s, 0s;
}

.thanksgiving-particle:nth-child(2) {
  left: 22%;
  animation-duration: 12s, 3s;
  animation-delay: 2s, 1s;
}

.thanksgiving-particle:nth-child(3) {
  left: 50%;
  animation-duration: 11s, 3s;
  animation-delay: 4s, 0.5s;
}

.thanksgiving-particle:nth-child(4) {
  left: 72%;
  animation-duration: 13s, 3s;
  animation-delay: 1s, 1.5s;
}

.thanksgiving-particle:nth-child(5) {
  left: 92%;
  animation-duration: 10.5s, 3s;
  animation-delay: 3s, 0s;
}

.newyears-particle:nth-child(1) {
  left: 15%;
  animation-duration: 8s, 2s;
  animation-delay: 0s, 0s;
}

.newyears-particle:nth-child(2) {
  left: 35%;
  animation-duration: 10s, 2s;
  animation-delay: 2s, 0.4s;
}

.newyears-particle:nth-child(3) {
  left: 50%;
  animation-duration: 9s, 2s;
  animation-delay: 4s, 0.8s;
}

.newyears-particle:nth-child(4) {
  left: 65%;
  animation-duration: 11s, 2s;
  animation-delay: 1s, 0.2s;
}

.newyears-particle:nth-child(5) {
  left: 85%;
  animation-duration: 8.5s, 2s;
  animation-delay: 3s, 0.6s;
}

/* ========== RESPONSIVE ADJUSTMENTS ========== */
@media (max-width: 768px) {
  .christmas-particle,
  .halloween-particle,
  .thanksgiving-particle,
  .newyears-particle {
    font-size: 1.4rem;
  }

  .valentines-particle {
    font-size: 1.6rem;
  }
}

@media (max-width: 480px) {
  .christmas-particle,
  .halloween-particle,
  .thanksgiving-particle,
  .newyears-particle {
    font-size: 1.2rem;
  }

  .valentines-particle {
    font-size: 1.3rem;
  }
}

/* ========== ACCESSIBILITY ========== */
@media (prefers-reduced-motion: reduce) {
  .christmas-particle,
  .halloween-particle,
  .valentines-particle,
  .thanksgiving-particle,
  .newyears-particle {
    animation: none;
    opacity: 0.2;
  }
}
