/* JESSIE — Five refined storefront animations */

.jessie-first-visit .hero > div:first-child {
  animation: jessieWelcome .75s cubic-bezier(.2,.7,.2,1) both;
}

.jessie-first-visit .heroArt {
  animation: jessieHairReveal .95s cubic-bezier(.2,.7,.2,1) .08s both;
}

.heroArt img {
  transform-origin: 50% 55%;
  transition: transform .65s cubic-bezier(.2,.7,.2,1),
              filter .45s ease;
}

.heroArt:hover img {
  transform: scale(1.025);
}

.heroArt .halo {
  transition: transform .7s ease, box-shadow .7s ease;
}

.heroArt:hover .halo {
  transform: scale(1.025);
}

/* Living Wig Gallery */
.productGrid > *,
.products > .product,
.productCard,
.product {
  transition: border-color .3s ease, box-shadow .3s ease;
}

.productCard .productImage img,
.productImg img,
.productImage img,
.cartItem img {
  transition: transform .5s cubic-bezier(.2,.7,.2,1),
              filter .4s ease;
}

.productCard:hover .productImage img,
.productImg:hover img,
.productImage:hover img {
  transform: scale(1.035);
}

.productCard:hover,
.products > .product:hover {
  box-shadow: 0 12px 30px rgba(80, 15, 34, .09);
}

/* Luxury Scroll Experience */
.jessie-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);
}

.jessie-reveal.jessie-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Wig Unboxing Experience */
.jessie-unboxing-image,
.jessie-unboxing-details {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);
}

.jessie-unboxing-image.jessie-visible,
.jessie-unboxing-details.jessie-visible {
  opacity: 1;
  transform: translateY(0);
}

.jessie-unboxing-details {
  transition-delay: .08s;
}

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

@keyframes jessieHairReveal {
  from { opacity: 0; transform: translateY(12px) scale(.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .jessie-first-visit .hero > div:first-child,
  .jessie-first-visit .heroArt,
  .jessie-reveal,
  .jessie-unboxing-image,
  .jessie-unboxing-details {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .heroArt img,
  .heroArt .halo,
  .productCard,
  .productCard .productImage img,
  .productImg img,
  .productImage img,
  .cartItem img {
    transition: none !important;
  }
}
