/* Smooth scrolling */
html {
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body {
  font-family: "Inter", sans-serif;
}

/* Hero parallax overlay */
.hero-overlay {
  background: linear-gradient(
    135deg,
    rgba(8, 47, 73, 0.85) 0%,
    rgba(3, 105, 161, 0.6) 50%,
    rgba(14, 165, 233, 0.4) 100%
  );
}

/* Wave SVG divider */
.wave-divider {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}
.wave-divider svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 80px;
}

/* Gallery hover effect */
.gallery-item:hover .gallery-overlay {
  opacity: 1;
}
.gallery-item:hover img {
  transform: scale(1.1);
}

/* FAQ accordion styling */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.4s ease,
    padding 0.3s ease;
}
.faq-answer.open {
  max-height: 300px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.faq-icon {
  transition: transform 0.3s ease;
}
.faq-icon.rotated {
  transform: rotate(180deg);
}

/* WhatsApp button pulse */
@keyframes waPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
  }
  70% {
    box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}
.wa-pulse {
  animation: waPulse 2s infinite;
}

/* Navbar scroll state */
.navbar-scrolled {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}
.navbar-scrolled #mobileToggle {
  color: #0c4a6e !important;
}
.navbar-scrolled .nav-link {
  color: #0c4a6e !important;
}
.navbar-scrolled .nav-link:hover {
  color: #0284c7 !important;
}
.navbar-scrolled .nav-logo {
  color: #0369a1 !important;
}

/* Process step connector line */
.step-connector {
  position: absolute;
  top: 24px;
  left: 50%;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #38bdf8, #0284c7);
  z-index: 0;
}

/* Newsletter gradient */
.newsletter-bg {
  background: linear-gradient(135deg, #0369a1 0%, #0ea5e9 50%, #38bdf8 100%);
}

/* Card hover lift */
.card-hover {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(3, 105, 161, 0.15);
}

/* Package badge shimmer */
.badge-popular {
  background: linear-gradient(135deg, #f59e0b, #f97316);
}
