/* ==========================================================================
   SOFA LUSSO - Luxury Keyframe & Scroll Animations
   ========================================================================== */

/* Shimmer on Gold Elements */
@keyframes goldShimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.gold-shimmer {
  background: linear-gradient(90deg, #ECCF96 0%, #FFF4D0 25%, #C5A059 50%, #9A7736 75%, #ECCF96 100%);
  background-size: 200% auto;
  color: #0D0E11;
  animation: goldShimmer 4s linear infinite;
}

/* Ambient Floating Glow */
@keyframes ambientFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-12px) rotate(1.5deg);
  }
}

.ambient-float {
  animation: ambientFloat 6s ease-in-out infinite;
}

/* Pulse Glow for WhatsApp */
@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
  }
  70% {
    box-shadow: 0 0 0 16px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

.pulse-whatsapp {
  animation: pulseGlow 2s infinite;
}

/* Pulse Glow for Gold Badge */
@keyframes goldPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(197, 160, 89, 0.5);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(197, 160, 89, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(197, 160, 89, 0);
  }
}

.pulse-gold {
  animation: goldPulse 2.5s infinite;
}

/* Smooth Fade In Up Utility */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Interactive Card Tilt & Border Glow */
.luxury-glow-card {
  position: relative;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.luxury-glow-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.5px;
  background: linear-gradient(135deg, transparent 40%, rgba(197, 160, 89, 0.4) 70%, #ECCF96 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.6;
  transition: opacity 0.4s ease;
}

.luxury-glow-card:hover::before {
  opacity: 1;
}

/* Rotating Stamp / Badge */
@keyframes spinSlow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.spin-slow {
  animation: spinSlow 20s linear infinite;
}

/* Form Submit Loading Spinner */
.spinner-gold {
  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid rgba(13, 14, 17, 0.25);
  border-top-color: #0D0E11;
  border-radius: 50%;
  animation: spinSlow 0.8s linear infinite;
  display: inline-block;
}
