/* =============================================================
   CREST INTERIORS — animations.css
   GSAP (main.js) drives all scroll-triggered reveals.
   This file: hover effects, image zoom, Swiper skin, reduced-motion.
   ============================================================= */

/* ── Card hover: shadow only (tilt/scale handled by vanilla-tilt) ── */
.card-hover {
  transition: box-shadow 0.35s ease;
}
.card-hover:hover {
  box-shadow: 0 22px 52px rgba(96, 91, 61, 0.13);
}

/* ── Image subtle zoom on hover ── */
.parallax-img {
  overflow: hidden;
}
.parallax-img img {
  transform: scale(1.06);
  transition: transform 0.85s ease;
  will-change: transform;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.parallax-img:hover img {
  transform: scale(1.0);
}

/* ── Swiper pagination skin ── */
.swiper-pagination-bullet {
  background-color: var(--color-sage) !important;
  opacity: 1 !important;
  width: 8px !important;
  height: 8px !important;
  transition: width 0.25s ease, border-radius 0.25s ease, background-color 0.25s ease !important;
}
.swiper-pagination-bullet-active {
  background-color: var(--accent-deep) !important;
  width: 26px !important;
  border-radius: 4px !important;
}

/* ── Nav link underline (declarative, GSAP does not touch these) ── */
.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--accent);
  transition: width 0.25s ease;
}
.nav-links a:hover::after,
.nav-links a.active::after { width: 100%; }

/* ── Btn icon alignment ── */
.btn .lucide {
  display: inline-block;
  vertical-align: middle;
  margin-left: 6px;
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}
.btn:hover .lucide { transform: translateX(3px); }

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .parallax-img img   { transition: none !important; transform: none !important; }
  .card-hover         { transition: none !important; }
  .btn .lucide        { transition: none !important; }
  .swiper-testimonials .swiper-wrapper { transition-duration: 0ms !important; }
}
