/**
 * Saifi store — product card hover effect (archive/shop grid).
 * Enqueued from functions.php: saifi_enqueue_store_card_hover_assets().
 */


/* ============================================================
   PRODUCT CARD HOVER
   ============================================================ */
.saifi-card{
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
  will-change: transform;
}
.saifi-card__img-wrap{
  position: relative;
  transition:
    box-shadow .35s cubic-bezier(.2,.7,.3,1),
    border-color .35s ease;
}
.saifi-card__img-wrap img{
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.saifi-card__title,
.saifi-card__price{
  transition: color .3s ease;
}

/* subtle sheen that sweeps across the image on hover */
.saifi-card__img-wrap::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 35%,
    rgba(255,255,255,.45) 50%,
    rgba(255,255,255,0) 65%
  );
  transform: translateX(-120%);
  opacity: 0;
  transition: transform .7s cubic-bezier(.2,.7,.3,1), opacity .3s ease;
}

.saifi-card:hover,
.saifi-card:focus-within{
  transform: translateY(-6px);
}
.saifi-card:hover .saifi-card__img-wrap,
.saifi-card:focus-within .saifi-card__img-wrap{
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
  border-color: rgba(0,0,0,.12);
}
.saifi-card:hover .saifi-card__img-wrap img,
.saifi-card:focus-within .saifi-card__img-wrap img{
  transform: scale(1.06);
}
.saifi-card:hover .saifi-card__img-wrap::after,
.saifi-card:focus-within .saifi-card__img-wrap::after{
  transform: translateX(120%);
  opacity: 1;
}
.saifi-card:hover .saifi-card__title,
.saifi-card:focus-within .saifi-card__title{
  color: #000;
}

/* keyboard focus ring */
.saifi-card__link:focus-visible{
  outline: 2px solid #111;
  outline-offset: 4px;
  border-radius: 12px;
}

@media (prefers-reduced-motion: reduce){
  .saifi-card,
  .saifi-card__img-wrap,
  .saifi-card__img-wrap img,
  .saifi-card__img-wrap::after,
  .saifi-card__title,
  .saifi-card__price{
    transition: none !important;
  }
  .saifi-card:hover,
  .saifi-card:focus-within{ transform: none; }
  .saifi-card:hover .saifi-card__img-wrap img{ transform: none; }
  .saifi-card__img-wrap::after{ display: none; }
}
