/* Both photos share one stable frame, including while the theme fades on hover. */
.elementor-143 .elementor-element-9e242c5 {
  animation: none !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}
ul.products li.product .product-image .inner {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #f3f3f3;
}
ul.products li.product .product-image .inner > img {
  position: absolute !important;
  inset: 0;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto;
  object-fit: cover !important;
  object-position: center;
  display: block;
}
/* Model photos have empty studio space at the sides; crop that space, not the print. */
ul.products li.product_cat-t-shirts .product-image .inner > img,
ul.products li.product_cat-t-shirts-womens .product-image .inner > img {
  object-fit: cover !important;
}
/* Use a close front view on hover, matching the model frame without shrinking. */
ul.products li.product_cat-t-shirts .product-image .inner > img.hover-image,
ul.products li.product_cat-t-shirts-womens .product-image .inner > img.hover-image {
  object-fit: cover !important;
}
ul.products li.product .product-image:hover .inner > .hover-image {
  transform: none;
}
/* New gift and non-tee cards use one branded preview; gently enlarge that same
   image on desktop hover instead of swapping to a plain supplier photograph. */
@media (hover: hover) and (pointer: fine) {
  ul.products li.product:not(.product_cat-t-shirts):not(.product_cat-t-shirts-womens) .product-image .inner > img:not(.hover-image) {
    transition: transform 240ms ease;
  }
  ul.products li.product:not(.product_cat-t-shirts):not(.product_cat-t-shirts-womens) .product-image:hover .inner > img:not(.hover-image) {
    transform: scale(1.045);
  }
}
@media (max-width: 767px) {
  /* Porto's desktop masonry heights crop the full-width mobile banners. */
  .elementor-143 .elementor-element-c100ba6 > .elementor-container {
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap !important;
    height: auto !important;
  }
  .elementor-143 .elementor-element-c100ba6 > .elementor-container > .porto-grid-item {
    position: relative !important;
    transform: none !important;
    animation: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 10px;
  }
  .elementor-143 .elementor-element-c100ba6 .grid-col-sizer { display: none !important; }
  .elementor-143 .elementor-element-c100ba6 .porto-ibanner {
    height: auto !important;
    min-height: 280px;
  }
  .elementor-143 .elementor-element-c100ba6 .porto-ibanner-img {
    width: 100%;
    height: auto !important;
    min-height: 280px;
    object-fit: contain !important;
  }
  .elementor-143 .elementor-element-c100ba6 .porto-ibanner > .elementor-column {
    height: 100% !important;
  }
  .woocommerce div.product .woocommerce-product-gallery img {
    object-fit: contain;
  }
}
@media (max-width: 767px) {
  /* Keep both models in the panoramic shop banner, above the mobile text. */
  .shop7_category_banner {
    background-size: auto 200px !important;
    background-position: 70% top !important;
    background-repeat: no-repeat !important;
    padding: 220px 0 24px !important;
  }
  .shop7_category_banner .container,
  .shop7_category_banner .porto-u-heading { text-align: center !important; }
  .shop7_category_banner .porto-u-main-heading h3 { font-size: 1.75em !important; }
  .shop7_category_banner .porto-u-sub-heading { font-size: 3.5em !important; }
}
