/* ePlots - animation keyframes & utilities */

@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@keyframes floatY{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}

@keyframes pulseGlow{
  0%,100%{box-shadow:0 12px 30px rgba(37,211,102,.45)}
  50%{box-shadow:0 12px 44px rgba(37,211,102,.75)}
}

@keyframes blobDrift{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(26px,-22px) scale(1.08)}
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes spinLoader{to{transform:rotate(360deg)}}

.float-card{animation:floatY 6s ease-in-out infinite}
.fc-2{animation-delay:1.4s}
.whatsapp-float{animation:pulseGlow 2.8s ease-in-out infinite}
.blob-a{animation:blobDrift 16s ease-in-out infinite}
.blob-b{animation:blobDrift 20s ease-in-out infinite reverse}
.blob-c{animation:blobDrift 24s ease-in-out infinite}
.page-hero .container,.hero .container>.row{animation:fadeUp .7s var(--ease) both}

/* Page loader */
.page-loader{position:fixed;inset:0;z-index:3000;background:#fff;display:grid;place-items:center;
  transition:opacity .5s ease,visibility .5s ease}
.page-loader.hidden{opacity:0;visibility:hidden}
.loader-ring{width:52px;height:52px;border-radius:50%;border:4px solid rgba(22,104,227,.18);
  border-top-color:#1668e3;border-right-color:#12b76a;animation:spinLoader .9s linear infinite}

/* Hover utilities */
.hover-lift{transition:transform .35s var(--ease)}
.hover-lift:hover{transform:translateY(-6px)}

/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
  [data-aos]{opacity:1 !important;transform:none !important}
}
