/*
 * V41 — True edge-to-edge product image patch.
 * Shop-only presentation layer. No filter, AJAX, search, sorting, pagination,
 * cart, wishlist, quick-view or backend logic is changed.
 */

/* Keep the outer product card exactly as designed, but make it the only frame. */
html.shop-v41-document body.shop-v41-page .product-card--shop-luxe{
  position:relative!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}

/*
 * The image anchor is the direct first child of the product card.
 * It deliberately has no legacy product-media/product-image-link classes,
 * preventing older inset-card rules from applying.
 */
html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-card-media-direct{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  line-height:0!important;
  border:0!important;
  border-radius:16px 16px 0 0!important;
  background:none!important;
  box-shadow:none!important;
  text-decoration:none!important;
  isolation:isolate!important;
}

/* True full-bleed image: no inset, inner frame, background, margin or shadow. */
html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-card-media-direct > img.primary-img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  vertical-align:top!important;
  border:0!important;
  border-radius:16px 16px 0 0!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  transform:scale(1.001)!important;
  transform-origin:center!important;
  transition:transform 250ms ease!important;
}

html.shop-v41-document body.shop-v41-page .product-card--shop-luxe:hover > .product-card-media-direct > img.primary-img{
  transform:scale(1.04)!important;
}

/* Badge stays over the direct image. */
html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-card-media-direct > .product-badge{
  position:absolute!important;
  top:8px!important;
  left:8px!important;
  z-index:4!important;
  margin:0!important;
}

/* Wishlist and Quick View stay over the image at the top-right. */
html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .floating-actions{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:6!important;
  margin:0!important;
}

/* Product content keeps its independent existing padding. */
html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-body{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

@media(max-width:767px){
  html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-card-media-direct,
  html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-card-media-direct > img.primary-img{
    border-radius:15px 15px 0 0!important;
  }

  html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-card-media-direct{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.shop-v41-document body.shop-v41-page .product-card--shop-luxe > .product-card-media-direct > img.primary-img{
    transition:none!important;
  }
}
