/* ==========================================================================
   Venus Dehydrates — animations.css
   AOS overrides + custom keyframes
   ========================================================================== */

/* AOS customizations (subtle refinement) */
[data-aos] {
  pointer-events: auto;
}

[data-aos="fade-up"] {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition-property: opacity, transform;
}
[data-aos="fade-up"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="fade-right"] {
  opacity: 0;
  transform: translate3d(-30px, 0, 0);
  transition-property: opacity, transform;
}
[data-aos="fade-right"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="fade-left"] {
  opacity: 0;
  transform: translate3d(30px, 0, 0);
  transition-property: opacity, transform;
}
[data-aos="fade-left"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="zoom-in"] {
  opacity: 0;
  transform: scale(0.85);
  transition-property: opacity, transform;
}
[data-aos="zoom-in"].aos-animate {
  opacity: 1;
  transform: scale(1);
}

/* Custom keyframes */

/* WhatsApp pulse */
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0   rgba(37,211,102,0.4); }
  70%  { box-shadow: 0 0 0 12px rgba(37,211,102,0);  }
  100% { box-shadow: 0 0 0 0   rgba(37,211,102,0);   }
}

/* Hero chevron bounce */
@keyframes bounce {
  0%,100% { transform: rotate(45deg) translateY(0); }
  50%     { transform: rotate(45deg) translateY(6px); }
}

/* Cert marquee */
@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Counter (fallback) */
@keyframes countUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Generic fade-in-up fallback */
@keyframes fadeInUp {
  from { opacity: 0; transform: translate3d(0, 24px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Hover transitions (also defined in components but reinforced) */
.product-card {
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}
.product-card:hover {
  transform: translateY(-6px);
}

.btn, .btn-primary, .btn-secondary, .btn-outline, .btn-accent, .btn-whatsapp {
  transition: all var(--transition);
}

nav a {
  transition: color var(--transition);
}

input, select, textarea {
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* Fade form fields swap */
.form-fade-out {
  animation: fadeOutForm 0.25s ease forwards;
}
@keyframes fadeOutForm {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-12px); }
}
.form-fade-in {
  animation: fadeInUp 0.4s ease forwards;
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .marquee-track { animation: none !important; }
  .wa-float { animation: none !important; }
}
