.elementor-505 .elementor-element.elementor-element-e54a92a{--display:flex;}.elementor-505 .elementor-element.elementor-element-a59904d > .elementor-widget-container{margin:50px 50px 50px 50px;}.elementor-505 .elementor-element.elementor-element-a59904d.elementor-element{--align-self:center;--order:-99999 /* order start hack */;}@media(max-width:767px){.elementor-505 .elementor-element.elementor-element-a59904d > .elementor-widget-container{margin:10px 10px 10px 10px;}.elementor-505 .elementor-element.elementor-element-a59904d.elementor-element{--align-self:center;}}/* Start custom CSS for shortcode, class: .elementor-element-a59904d *//* Ensure the product image wrapper defines the space */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.products li.product a.woocommerce-LoopProduct-link {
  position: relative;
  display: block;
  overflow: hidden;   /* keeps images from spilling into price/title */
}

/* Front (featured) image */
.woocommerce ul.products li.product a img.wp-post-image,
.products li.product a img.wp-post-image {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity .25s ease;
}

/* Back image stacked exactly on top */
.woocommerce ul.products li.product a img.onya-hover-back,
.products li.product a img.onya-hover-back {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;   /* use 'contain' if you prefer no cropping */
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}

/* Hover state */
.woocommerce ul.products li.product:hover a img.onya-hover-back,
.products li.product:hover a img.onya-hover-back {
  opacity: 1;
}
.woocommerce ul.products li.product:hover a img.wp-post-image,
.products li.product:hover a img.wp-post-image {
  opacity: 0;
}/* End custom CSS */