/* =========================================================
   ICON GIFTS — MICRO-ANIMATIONS
   ========================================================= */

@keyframes floatY{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}
.float{animation:floatY 4s ease-in-out infinite;}

@keyframes fadeInUp{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}
.fade-in-up{animation:fadeInUp .4s var(--ease) both;}

@keyframes ribbonPulse{
  0%,100%{transform:scale(1) rotate(-2deg);}
  50%{transform:scale(1.04) rotate(-2deg);}
}
.pulse-tag{animation:ribbonPulse 2.4s ease-in-out infinite;}

@keyframes blobDrift{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-18px,14px) scale(1.05);}
}
.hero-bg-blob{animation:blobDrift 12s ease-in-out infinite;}

/* image lazy-load fade */
img[loading="lazy"]{opacity:0;transition:opacity .25s ease;}
img[loading="lazy"].loaded,
img.loaded{opacity:1;}

/* nav underline hover already in style.css; add link fade */
.mega-menu{will-change:transform,opacity;}

/* Fallback: Guarantee items inside active tab panes are always visible */
.tab-pane.show.active [data-aos],
.tab-pane.active [data-aos]{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}

/* button ripple-esque tap feedback */
.btn-icon-primary:active,.btn-icon-outline:active{transform:scale(.97);}

/* Selectable size tag buttons */
.size-btn{
  transition:all .2s ease;
  background:var(--color-white);
  color:var(--color-ink);
  border:1px solid var(--color-border);
}
.size-btn:hover{
  border-color:var(--color-primary);
}
.size-btn.active{
  background:var(--color-ink) !important;
  color:#fff !important;
  border-color:var(--color-ink) !important;
}

/* Custom product detail tabs styling */
.pdp-nav-pills .nav-link{
  color:var(--color-ink-soft);
  font-weight:600;
  font-size:.9rem;
  padding:.65rem 1.4rem;
  border-radius:var(--r-pill);
  border:1px solid var(--color-border);
  background:var(--color-white);
  transition:all .2s ease;
}
.pdp-nav-pills .nav-link:hover{
  color:var(--color-ink);
  border-color:var(--color-primary);
}
.pdp-nav-pills .nav-link.active{
  background:var(--color-primary) !important;
  color:#fff !important;
  border-color:var(--color-primary) !important;
  box-shadow:0 4px 15px rgba(255,0,21,.25);
}

/* skeleton block for text lines */
.skeleton-line{height:14px;border-radius:6px;margin-bottom:.5rem;}
