/* ============================================
   LUIZ & SANCHEZ — Custom Styles
   TailwindCSS handles most styling.
   This file covers animations, transitions,
   and states that need custom CSS.
   ============================================ */

/* ---------- SMOOTH SCROLL ---------- */
html {
  scroll-behavior: smooth;
}

/* ---------- FAQ ACCORDION (grid-rows technique for smooth animation) ---------- */
.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}

.faq-item.active .faq-answer {
  grid-template-rows: 1fr;
}

.faq-answer > div {
  overflow: hidden;
}

/* FAQ active border */
.faq-item.active {
  border-color: rgba(201, 169, 110, 0.3);
}

/* FAQ icon rotation */
.faq-icon {
  transition: transform 0.3s ease;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* ---------- SCROLL REVEAL ---------- */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- WHATSAPP PULSE ---------- */
@keyframes waPulse {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.4); opacity: 0; }
}

.wa-pulse {
  animation: waPulse 2s infinite;
}

/* ---------- SCROLL BOUNCE INDICATOR ---------- */
@keyframes scrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(10px); }
}

.scroll-bounce {
  animation: scrollBounce 2s infinite;
}

/* ---------- MOBILE NAV ---------- */
.mobile-nav {
  transform: translateY(-120%);
  transition: transform 0.4s ease;
}

.mobile-nav.open {
  transform: translateY(0);
}

/* ---------- HAMBURGER ANIMATION ---------- */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* ---------- COUNTER TABULAR NUMS ---------- */
.counter-num {
  font-variant-numeric: tabular-nums;
}
