/* ═══════════════════════════════════════════════════════════
   VISITCAYMAN - UI Transitions Only (No Scroll-Reveal Animations)
   ═══════════════════════════════════════════════════════════ */

/* ─── Reduced Motion Preference ─── */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   CARD HOVER - transforms only (GPU accelerated, no ::after sweeps)
   ═══════════════════════════════════════════════════════════ */
.card-luxury {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.card-luxury:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 50px -15px rgba(1, 83, 165, 0.2);
}

.card-luxury .card-image-box img {
  transition: transform 0.5s ease;
}

.card-luxury:hover .card-image-box img {
  transform: scale(1.05);
}

/* Square showcase image hover */
.square-showcase-card img {
  transition: transform 0.5s ease;
}

.square-showcase-card:hover img {
  transform: scale(1.05);
}

/* ═══════════════════════════════════════════════════════════
   BUTTON MICRO-INTERACTIONS (GPU accelerated)
   ═══════════════════════════════════════════════════════════ */
.btn:active {
  transform: scale(0.97);
  transition: transform 0.08s ease;
}

/* ═══════════════════════════════════════════════════════════
   MAP SECTION - minimal
   ═══════════════════════════════════════════════════════════ */
.map-marker-pin::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: var(--coral);
  opacity: 0;
  animation: marker-pulse 3s ease-out infinite;
  pointer-events: none;
}

@keyframes marker-pulse {
  0% {
    transform: scale(0.5);
    opacity: 0.3;
  }

  100% {
    transform: scale(2);
    opacity: 0;
  }
}

.im-card {
  transition: all 0.3s ease;
}

.im-card.active {
  box-shadow: 0 0 30px rgba(6, 182, 212, 0.1), 0 0 0 1px rgba(6, 182, 212, 0.25);
}

/* ═══════════════════════════════════════════════════════════
   FAQ - smooth only
   ═══════════════════════════════════════════════════════════ */
.faq-item {
  transition: all 0.3s ease;
}

.faq-item.active {
  border-color: rgba(2, 182, 214, 0.2);
  background-color: var(--white);
  box-shadow: var(--shadow-sm);
}

.faq-answer {
  transition: max-height 0.35s ease;
}

.faq-answer p {
  transition: opacity 0.3s ease;
}

.faq-item:not(.active) .faq-answer p {
  opacity: 0;
}

.faq-item.active .faq-answer p {
  opacity: 1;
}

/* ═══════════════════════════════════════════════════════════
   SOCIAL ICONS HOVER
   ═══════════════════════════════════════════════════════════ */
.social-circle {
  transition: all 0.3s ease;
}

.social-circle:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(1, 83, 165, 0.15);
}

/* ═══════════════════════════════════════════════════════════
   NEWSLETTER INPUT FOCUS
   ═══════════════════════════════════════════════════════════ */
.newsletter-form-wrapper input {
  transition: all 0.25s ease;
}

.newsletter-form-wrapper input:focus {
  border-color: var(--turquoise);
  box-shadow: 0 0 0 3px rgba(2, 182, 214, 0.1);
}

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
   ═══════════════════════════════════════════════════════════ */
.testimonial-slide blockquote {
  transition: opacity 0.4s ease;
}
