
.spark-effect {
  position: relative;
  overflow: hidden;
}

.spark-effect::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 60%);
  animation: spark 3s infinite linear;
  transform-origin: center;
}

@keyframes spark {
  0% {
    transform: scale(0) rotate(0deg);
    opacity: 0.8;
  }
  100% {
    transform: scale(1) rotate(360deg);
    opacity: 0;
  }
}

.ash-spark-effect {
  position: relative;
  overflow: hidden;
  max-width: 82%;
}

.ash-spark-effect::before {
  content: '';
  position: absolute;
  top: 0;
  left: -10%; /* Adjusted to start slightly from the left */
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.8) 20%, rgba(255, 255, 255, 0) 70%);
  animation: ash-spark 4s infinite linear;
  transform-origin: center;
}

@keyframes ash-spark {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.image-3d-hover {
  transition: transform 0.4s ease-in-out;
}

.image-3d-hover:hover {
  animation: wiggle-3d 0.8s ease-in-out;
}

@keyframes wiggle-3d {
  0%, 100% {
    transform: rotateY(0deg);
  }
  25% {
    transform: rotateY(20deg);
  }
  75% {
    transform: rotateY(-20deg);
  }
}
