/* ===== SCROLL REVEAL ===== */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }
.reveal-delay-6 { transition-delay: 0.6s; }

/* Slide from left/right */
.reveal-left {
  opacity: 0;
  transform: translateX(-60px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal-left.revealed {
  opacity: 1;
  transform: translateX(0);
}
.reveal-right {
  opacity: 0;
  transform: translateX(60px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal-right.revealed {
  opacity: 1;
  transform: translateX(0);
}

/* Scale reveal */
.reveal-scale {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal-scale.revealed {
  opacity: 1;
  transform: scale(1);
}

/* ===== HERO ENTRANCE ===== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero-content .section-label { animation: fadeInUp 0.8s ease 0.3s both; }
.hero-content h1 { animation: fadeInUp 0.8s ease 0.5s both; }
.hero-content p { animation: fadeInUp 0.8s ease 0.7s both; }
.hero-buttons { animation: fadeInUp 0.8s ease 0.9s both; }
.hero-indicators { animation: fadeInUp 0.8s ease 1.1s both; }

/* Hero slide Ken Burns effect */
@keyframes kenBurns {
  0%   { transform: scale(1); }
  100% { transform: scale(1.08); }
}
.hero-slide.active img {
  animation: kenBurns 8s ease-out forwards;
}

/* ===== LOGO MARQUEE ===== */
@keyframes scroll-logos {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.partners-track:hover { animation-play-state: paused; }

/* ===== PARALLAX ===== */
.parallax-bg {
  transition: transform 0.1s linear;
  will-change: transform;
}

/* ===== SCROLL PROGRESS BAR ===== */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  z-index: 9999;
  width: 0;
  transition: width 0.05s linear;
}

/* ===== ENHANCED HOVER STATES ===== */
.why-us-icon {
  transition: transform 0.4s var(--ease);
}
.why-us-item:hover .why-us-icon {
  transform: translateY(-4px) scale(1.1);
}
.why-us-item:hover .why-us-icon svg {
  stroke: #fff;
  transition: stroke 0.3s;
}

.feature-card:hover svg,
.topic-card:hover svg,
.visit-card:hover svg,
.catalog-card:hover svg {
  transform: scale(1.15);
  transition: transform 0.3s var(--ease);
}
.feature-card svg,
.topic-card svg,
.visit-card svg,
.catalog-card svg {
  transition: transform 0.3s var(--ease);
}

/* Button arrow animation */
.btn:hover svg,
.section-link:hover svg {
  transform: translateX(4px);
  transition: transform 0.3s var(--ease);
}

/* Smooth card tilt on hover */
.product-card {
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.product-card:hover {
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.blog-card {
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.blog-card:hover {
  box-shadow: 0 16px 32px rgba(0,0,0,0.1);
}

/* Form focus glow */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  box-shadow: 0 0 0 3px rgba(158, 155, 74, 0.15);
}

/* Page hero parallax */
.page-hero img {
  transition: transform 0.1s linear;
}

/* ===== WHATSAPP WIDGET ===== */
.whatsapp-widget {
  position: fixed;
  bottom: 32px;
  left: 32px;
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 12px;
}
.whatsapp-btn {
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  transition: all 0.3s var(--ease);
  cursor: pointer;
}
.whatsapp-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.whatsapp-btn svg {
  width: 28px;
  height: 28px;
  fill: #fff;
}
.whatsapp-tooltip {
  background: #fff;
  color: var(--text);
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 500;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.3s var(--ease);
  pointer-events: none;
}
.whatsapp-widget:hover .whatsapp-tooltip {
  opacity: 1;
  transform: translateX(0);
}


@media (max-width: 768px) {
  .whatsapp-widget { bottom: 20px; left: 20px; }
  .whatsapp-btn { width: 50px; height: 50px; }
  .whatsapp-btn svg { width: 24px; height: 24px; }
  .whatsapp-tooltip { display: none; }
  .scroll-progress { height: 2px; }
}

/* ===== COUNTER ===== */
.stat-item h3 .counter { display: inline; }

/* ===== TIMELINE ANIMATIONS ===== */
.timeline-item {
  opacity: 0;
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}
.timeline-item:nth-child(odd) {
  transform: translateX(-40px);
}
.timeline-item:nth-child(even) {
  transform: translateX(40px);
}
.timeline-item.revealed {
  opacity: 1;
  transform: translateX(0);
}

/* Timeline dot pulse */
.timeline-item::before {
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.timeline-item.revealed::before {
  box-shadow: 0 0 0 4px rgba(158, 155, 74, 0.2);
}

/* ===== STAGGER GRID CHILDREN ===== */
.stagger-grid > *:nth-child(1) { transition-delay: 0s; }
.stagger-grid > *:nth-child(2) { transition-delay: 0.08s; }
.stagger-grid > *:nth-child(3) { transition-delay: 0.16s; }
.stagger-grid > *:nth-child(4) { transition-delay: 0.24s; }
.stagger-grid > *:nth-child(5) { transition-delay: 0.32s; }
.stagger-grid > *:nth-child(6) { transition-delay: 0.40s; }
.stagger-grid > *:nth-child(7) { transition-delay: 0.48s; }
.stagger-grid > *:nth-child(8) { transition-delay: 0.56s; }
.stagger-grid > *:nth-child(9) { transition-delay: 0.64s; }
