/* H-Donghua V2 Premium Micro-Animations */

/* Fade-In and Up Animation for Cards/Sections */
.hd-animate-fade-in {
  animation: hdFadeIn var(--hd-duration-slow) var(--hd-ease-out) forwards;
}

.hd-animate-fade-in-up {
  animation: hdFadeInUp var(--hd-duration-cinematic) var(--hd-ease-out) forwards;
}

@keyframes hdFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes hdFadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Pulsing Glow Animation for ratings and active states */
@keyframes hdGlowPulse {
  0% {
    box-shadow: 0 0 5px var(--hd-primary-glow), 0 0 10px var(--hd-primary-glow);
  }
  50% {
    box-shadow: 0 0 15px var(--hd-primary-glow), 0 0 25px var(--hd-primary-glow);
  }
  100% {
    box-shadow: 0 0 5px var(--hd-primary-glow), 0 0 10px var(--hd-primary-glow);
  }
}

.hd-pulse-glow {
  animation: hdGlowPulse 3s infinite ease-in-out;
}

/* Shimmer Loading Background (for image skeleton placeholders) */
.hd-shimmer-bg {
  background: linear-gradient(90deg, #101217 25%, #181b23 50%, #101217 75%);
  background-size: 200% 100%;
  animation: hd-shimmer 2s infinite linear;
}

@keyframes hd-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Hover Zoom Effect for Poster Images */
.hd-hover-zoom img {
  transition: transform var(--hd-duration-slow) var(--hd-ease-out);
}
.hd-hover-zoom:hover img {
  transform: scale(1.05);
}

/* Modal and Drawer transition utilities */
.hd-modal-enter {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity var(--hd-duration-normal) var(--hd-ease-out), transform var(--hd-duration-normal) var(--hd-ease-out);
}

.hd-modal-enter-active {
  opacity: 1;
  transform: scale(1);
}

.hd-drawer-slide-in {
  transform: translateX(100%);
  transition: transform var(--hd-duration-cinematic) var(--hd-ease-out);
}

.hd-drawer-slide-in-active {
  transform: translateX(0);
}
