/* animations.css - Animation styles for Cheese Tarot */

/* Card flip animation */
.flip {
  transform: rotateY(180deg);
}

/* Card entrance animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cardEntrance {
  from {
    opacity: 0;
    transform: translateY(50px) scale(0.8);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.card-slot {
  animation: fadeIn 0.6s ease-out forwards;
  opacity: 0;
}

.card-slot:nth-child(1) {
  animation-delay: 0.2s;
}

.card-slot:nth-child(2) {
  animation-delay: 0.4s;
}

.card-slot:nth-child(3) {
  animation-delay: 0.6s;
}

/* Button animations */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.primary-btn {
  animation: pulse 2s infinite;
}

.primary-btn:hover {
  animation: none;
}

/* Interpretation reveal animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.show-interpretation {
  animation: fadeInUp 0.5s ease-out forwards;
}

/* Reading area entrance animation */
.reading-area.show {
  animation: fadeIn 0.8s ease-out forwards;
}

/* New reading transition */
@keyframes cardExit {
  from {
    opacity: 1;
    transform: translateX(0) rotate(0);
  }
  to {
    opacity: 0;
    transform: translateX(-100px) rotate(-10deg);
  }
}

.card-exit {
  animation: cardExit 0.5s ease-out forwards;
}

.card-exit:nth-child(1) {
  animation-delay: 0s;
}

.card-exit:nth-child(2) {
  animation-delay: 0.1s;
}

.card-exit:nth-child(3) {
  animation-delay: 0.2s;
}

/* Shuffle animation */
@keyframes shuffle {
  0% {
    transform: translateX(0) rotate(0);
  }
  25% {
    transform: translateX(5px) rotate(5deg);
  }
  50% {
    transform: translateX(-5px) rotate(-5deg);
  }
  75% {
    transform: translateX(5px) rotate(5deg);
  }
  100% {
    transform: translateX(0) rotate(0);
  }
}

.shuffle {
  animation: shuffle 0.5s ease-in-out;
}

/* Hover effects for cards */
.card:hover .card-inner {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

/* Transition for all interactive elements */
.card-inner, .btn, .card-interpretation {
  transition: all 0.3s ease;
}
