/* ArcanaFlow — Holographic animation assets */

/* === Card flip animation === */
@keyframes card-flip {
  0%   { transform: rotateY(0deg) scale(1); }
  30%  { transform: rotateY(90deg) scale(1.05); }
  60%  { transform: rotateY(180deg) scale(1.05); }
  100% { transform: rotateY(360deg) scale(1); }
}
.card-animate { animation: card-flip 1.2s cubic-bezier(0.4,0,0.2,1) forwards; }

/* === Holographic shimmer on pricing cards === */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.price-shimmer {
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 40%, #fff 50%, var(--gold-light) 60%, var(--gold) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 3s linear infinite;
}

/* === Particle float (ambient) === */
@keyframes float-particle {
  0%   { transform: translateY(0) translateX(0); opacity: 0; }
  20%  { opacity: 0.7; }
  80%  { opacity: 0.3; }
  100% { transform: translateY(-120px) translateX(20px); opacity: 0; }
}
.particle {
  position: absolute;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: var(--electric);
  box-shadow: 0 0 6px var(--electric);
  animation: float-particle 6s ease-in-out infinite;
}

/* === Typewriter for interpretation text === */
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.typewriter { border-right: 2px solid var(--electric); animation: blink 0.8s step-end infinite; }

/* === Holographic progress bar (booking steps) === */
.progress-holographic {
  height: 4px;
  background: linear-gradient(90deg, var(--electric), var(--arcane), var(--electric));
  background-size: 200% 100%;
  animation: shimmer 2s linear infinite;
  border-radius: 2px;
  box-shadow: 0 0 8px var(--electric-glow);
}

/* === Entrance fade-up === */
@keyframes fade-up {
  0%   { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fade-up 0.5s ease-out forwards; }

/* === Glow pulse === */
@keyframes glow-pulse {
  0%, 100% { box-shadow: 0 0 12px var(--electric-glow); }
  50%       { box-shadow: 0 0 24px var(--electric-glow), 0 0 48px rgba(26,94,255,0.2); }
}
.glow-pulse { animation: glow-pulse 2s ease-in-out infinite; }
