/* ============================================================
   DMK AGRO EXPORT — ANIMATIONS STYLESHEET
   Keyframes, hover effects, and reusable motion utility classes.
   Scroll-reveal animation itself is handled by AOS (see
   js/animation.js) — this file covers everything AOS doesn't.
   ============================================================ */

@keyframes waPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}50%{box-shadow:0 0 0 14px rgba(37,211,102,0);}}

/* ----- Reusable hover / motion utility classes ----- */
.hover-lift{transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);}
.hover-lift:hover{transform:translateY(-8px);box-shadow:0 22px 44px -18px rgba(27,94,32,.28);}

.hover-zoom{overflow:hidden;}
.hover-zoom img{transition:transform .6s cubic-bezier(.4,0,.2,1);}
.hover-zoom:hover img{transform:scale(1.08);}

.hover-fade{transition:opacity .3s ease;}
.hover-fade:hover{opacity:.85;}

.hover-slide-underline{position:relative;}
.hover-slide-underline::after{
  content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--dmk-gold);
  transition:width .3s cubic-bezier(.4,0,.2,1);
}
.hover-slide-underline:hover::after{width:100%;}

.btn-pulse{animation:btnPulse 2.4s ease-in-out infinite;}
@keyframes btnPulse{0%,100%{box-shadow:0 0 0 0 rgba(27,94,32,.35);}50%{box-shadow:0 0 0 10px rgba(27,94,32,0);}}

.fade-in-up{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both;}
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

.zoom-in-anim{animation:zoomInAnim .5s cubic-bezier(.4,0,.2,1) both;}
@keyframes zoomInAnim{from{opacity:0;transform:scale(.92);}to{opacity:1;transform:scale(1);}}

.slide-in-left{animation:slideInLeft .6s cubic-bezier(.4,0,.2,1) both;}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px);}to{opacity:1;transform:translateX(0);}}

.slide-in-right{animation:slideInRight .6s cubic-bezier(.4,0,.2,1) both;}
@keyframes slideInRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}

@media (prefers-reduced-motion: reduce){
  .hover-lift,.hover-zoom img,.hover-fade,.hover-slide-underline::after{transition:none;}
  .btn-pulse,.fade-in-up,.zoom-in-anim,.slide-in-left,.slide-in-right{animation:none;}
}

/* Disable scroll animations on mobile view (<= 768px) */
@media (max-width: 768px) {
  [data-aos],
  [data-aos][data-aos],
  [data-aos].aos-animate,
  body[data-aos-easing] [data-aos],
  body[data-aos-duration] [data-aos],
  body[data-aos-delay] [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}

