/* MobiLux 1.0.80 — global full-width, no-crop product media system. */
:root{
  --mobilux-product-image-padding:0px;
  --mobilux-product-media-bg:#f8f9fc;
}

/*
 * Product media must fill the card width while preserving the complete source
 * image. This stylesheet is intentionally shared by archive cards, related /
 * upsell / cross-sell loops, account product cards and Elementor commerce
 * widgets. Decorative banners, blog imagery and category art are excluded.
 */
body :is(
  .v14-card-media,
  .shop-card-media,
  .wishlist-card-media,
  .account-recommend-media,
  .discovery-card-media,
  .related-card .product-media,
  .mobilux-product-showcase__media,
  .mobilux-category-collections__product-media,
  .mobilux-amazing-deals__media,
  .mobilux-special-offers__media,
  .mobilux-dina-deal__image,
  .mobilux-product-ranking__thumb,
  .mobilux-tabbed-products__tab-media
){
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--mobilux-product-media-bg)!important;
}

/* The anchor/wrapper itself must own the whole media canvas. */
body :is(
  .v14-card-media,
  .shop-card-media,
  .wishlist-card-media,
  .account-recommend-media,
  .discovery-card-media,
  .related-card .product-media,
  .mobilux-product-showcase__media,
  .mobilux-category-collections__product-media,
  .mobilux-amazing-deals__media,
  .mobilux-special-offers__media,
  .mobilux-dina-deal__image
) > :is(a,.product-image){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}

/* Every commerce-card product image: full media width, complete image visible. */
body :is(
  .v14-card-media,
  .shop-card-media,
  .wishlist-card-media,
  .account-recommend-media,
  .discovery-card-media,
  .related-card .product-media,
  .mobilux-product-showcase__media,
  .mobilux-category-collections__product-media,
  .mobilux-amazing-deals__media,
  .mobilux-special-offers__media,
  .mobilux-dina-deal__image,
  .mobilux-dina-deal__rail-thumb,
  .mobilux-product-ranking__thumb,
  .mobilux-tabbed-products__tab-media,
  .compare-picker,
  .compare-product-head,
  .compare-head-image,
  .mobilux-compare-picker-media,
  .mobilux-compare-product-image
) img{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}

/* Primary/secondary gallery images must occupy the exact same canvas. */
body :is(
  .v14-card-media,
  .shop-card-media,
  .wishlist-card-media,
  .account-recommend-media,
  .mobilux-product-showcase__media,
  .mobilux-category-collections__product-media,
  .mobilux-amazing-deals__media,
  .mobilux-special-offers__media
) :is(.product-img-primary,.product-img-secondary){
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Never enlarge/crop product media on hover. Fade swaps may still happen. */
body :is(
  .v14-hover-card,
  .shop-product-card,
  .wishlist-card,
  .account-recommend-card,
  .mobilux-product-showcase__card,
  .mobilux-category-collections__product,
  .mobilux-amazing-deals__card,
  .mobilux-special-offers__card,
  .mobilux-dina-deal__product
):hover img{
  transform:none!important;
}

/* Native WooCommerce archive / taxonomy / shortcode product loops. */
body.woocommerce ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link),
body .related-products-section ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link),
body .upsells ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link),
body .cross-sells ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
body.woocommerce ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link) > img,
body .related-products-section ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link) > img,
body .upsells ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link) > img,
body .cross-sells ul.products li.product :is(a.woocommerce-LoopProduct-link,a.woocommerce-loop-product__link) > img{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:1/1;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:var(--mobilux-product-media-bg)!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

/* MobiLux custom archive/related cards use a fixed media canvas; remove the
 * historic inset padding so the image element genuinely spans the full width. */
body .shop-card-media,
body .related-products-section .shop-card-media{
  padding:0!important;
}
body .shop-card-media .product-image,
body .related-products-section .shop-card-media .product-image{
  width:100%!important;
  height:100%!important;
  padding:0!important;
}
body .shop-card-media .product-image > img,
body .related-products-section .shop-card-media .product-image > img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:contain!important;
}

/* Related / upsell / cross-sell cards must not re-introduce inset image space. */
body .related-products-section ul.products > li.product,
body .upsells ul.products > li.product,
body .cross-sells ul.products > li.product{
  overflow:hidden;
}
body .related-products-section ul.products > li.product > :is(a,.shop-card-media):first-child,
body .upsells ul.products > li.product > :is(a,.shop-card-media):first-child,
body .cross-sells ul.products > li.product > :is(a,.shop-card-media):first-child{
  margin-inline:0!important;
}

/* Tiny swatches and icons are intentionally excluded from full-width rules. */
body :is(.color-swatch,.mobilux-special-offers__swatch,.mobilux-loop-color-swatches) img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:cover!important;
}

@media(max-width:767.98px){
  :root{--mobilux-product-image-padding:0px}
}
