/* ============================================================
   GODAVARI INTERNATIONALS — ANIMATIONS
   Keyframes and transition rules only. Structural/layout rules
   live in style.css. Respects prefers-reduced-motion.
============================================================ */

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

/* ---------- loader ---------- */
#loader{ transition:opacity .6s ease, visibility .6s ease; }
#loader.hide{ opacity:0; visibility:hidden; }
.loader-mark{ animation:spin 0.9s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }

/* ---------- header ---------- */
header{ transition:border-color .3s ease, box-shadow .3s ease, background .3s ease; }

/* ---------- nav links underline ---------- */
nav.links a::after{ transition:width .25s ease; }
nav.links a:hover::after{ width:100%; }

/* ---------- buttons ---------- */
.btn{ transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease; }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 28px -14px rgba(22,60,44,0.55); }
.btn-accent:hover{ transform:translateY(-2px); box-shadow:0 14px 28px -14px rgba(184,114,15,0.5); }

/* ---------- cards ---------- */
.why-card{ transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.why-card:hover{ transform:translateY(-6px); }

/* ---------- currency swap button ---------- */
.swap-btn{ transition:transform .3s ease; }
.swap-btn:hover{ transform:rotate(180deg); }

/* ---------- floating WhatsApp pulse ---------- */
.whatsapp-float{ animation:pulse-wa 2.6s ease-in-out infinite; }
@keyframes pulse-wa{
  0%,100%{ box-shadow:0 16px 34px -12px rgba(22,60,44,0.55); }
  50%{ box-shadow:0 16px 34px -12px rgba(232,160,32,0.65), 0 0 0 8px rgba(232,160,32,0.12); }
}

/* ---------- back to top ---------- */
.back-to-top{ transition:opacity .3s ease, visibility .3s ease, transform .3s ease; }
.back-to-top:hover{ transform:translateY(-4px); }

/* ---------- reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ---------- form submit feedback ---------- */
.form-status{ animation:fadeIn .4s ease; }
@keyframes fadeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }

/* ============================================================
   PRODUCT PORTFOLIO — motion
============================================================ */

/* featured card image zoom */
.pp-featured { transition: box-shadow .4s ease; }
.pp-featured:hover { box-shadow: 0 30px 70px -30px rgba(22,32,26,0.32); }

/* product cards */
.pp-card {
  transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, border-color .3s ease;
}
.pp-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--shadow);
  border-color: transparent;
}
.pp-card-img-wrap img {
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
}
.pp-card:hover .pp-card-img-wrap img {
  transform: scale(1.07);
}

/* category badge on hover */
.pp-card-category {
  transition: background .25s ease;
}
.pp-card:hover .pp-card-category {
  background: var(--turmeric-deep);
}

/* card CTA */
.pp-card-cta {
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.pp-card-cta:hover {
  transform: translateY(-2px);
}

/* highlight pills on featured */
.pp-highlight {
  transition: background .25s ease, border-color .25s ease;
}
.pp-highlight:hover {
  background: var(--forest);
  color: var(--cream);
  border-color: transparent;
}

/* ============================================================
   MODAL ANIMATIONS (v3)
============================================================ */

.pm-overlay {
  transition: opacity .3s ease, visibility .3s ease;
}

.pm-panel {
  transform: translateY(28px) scale(0.97);
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

.pm-overlay.open .pm-panel {
  transform: translateY(0) scale(1);
}

.pm-close {
  transition: background .25s ease, color .25s ease, transform .2s ease;
}
.pm-close:hover { transform: rotate(90deg); }

.pm-img-wrap img {
  transition: transform .6s ease;
}
.pm-img-wrap:hover img { transform: scale(1.04); }
