/* Animations for Nestavita Casino Hotel */

/* Fade In Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Gold Shimmer Border Animation */
@keyframes borderShimmer {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 200% 0%;
  }
}

/* Spotlight Animation */
@keyframes spotlightMove {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.7;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
  }
}

/* Curtain Animation */
@keyframes curtainSlideLeft {
  0% {
    left: -20%;
  }
  100% {
    left: -25%;
  }
}

@keyframes curtainSlideRight {
  0% {
    right: -20%;
  }
  100% {
    right: -25%;
  }
}

/* Fade-in animation for sections */
.hero, .about-us, .services, .highlights, 
.dining, .suites, .events, .testimonials,
.contact-info, .contact-form-section, .location {
  animation: fadeIn 1s ease-out;
}

/* Gold shimmer effect for buttons */
.cta-button, .gold-button, .submit-button {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.cta-button::before, .gold-button::before, .submit-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(
    90deg, 
    transparent, 
    rgba(255, 255, 255, 0.2), 
    transparent
  );
  z-index: -1;
  animation: borderShimmer 3s infinite linear;
}

/* Curtain animations */
.curtain-left {
  animation: curtainSlideLeft 10s ease-in-out infinite alternate;
}

.curtain-right {
  animation: curtainSlideRight 10s ease-in-out infinite alternate;
}

/* Spotlight animation on header */
.header-spotlight {
  animation: spotlightMove 15s ease-in-out infinite;
}

/* Service cards animation */
.service-card {
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), 
              border-color 0.3s ease;
}

/* Image zoom effect */
.image-frame img {
  transition: transform 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}

/* Highlight cards pulsing effect */
@keyframes cardPulse {
  0% {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  }
  50% {
    box-shadow: 0 8px 24px rgba(123, 30, 58, 0.25);
  }
  100% {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  }
}

.highlight-item:hover {
  animation: cardPulse 2s infinite ease-in-out;
}

/* Gold accent animation */
@keyframes goldAccentPulse {
  0% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.7;
  }
}

.section-title::after, .footer-title::after {
  animation: goldAccentPulse 4s infinite ease-in-out;
}

/* Nav link hover effect */
.nav-link {
  transition: color 0.3s ease;
}

.nav-link::after {
  transition: width 0.3s ease;
}

/* Logo animation */
.logo {
  transition: transform 0.3s ease;
}

.logo-container:hover .logo {
  transform: scale(1.05);
}

/* Event card animation */
.event-card {
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Form input focus animation */
@keyframes inputFocus {
  0% {
    box-shadow: 0 0 0 0 rgba(212, 176, 106, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(212, 176, 106, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(212, 176, 106, 0);
  }
}

input:focus, select:focus, textarea:focus {
  animation: inputFocus 1s ease-out;
}