/* WooCommerce recommendations. Section wrappers are blocks, only the list lays out cards. */
.mobilux-related-slider-block {
  --mobilux-related-gap:12px;
  --mobilux-related-visible:var(--mobilux-related-columns,5);
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0;
}
.mobilux-related-slider-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  margin-bottom:16px;
}
.mobilux-related-slider-head h2 {
  min-width:0;
  margin:0;
  color:#151827;
  font-size:20px;
  font-weight:900;
  line-height:1.7;
  overflow-wrap:anywhere;
}
.mobilux-related-slider-actions { display:flex; flex:0 0 auto; gap:8px; }
.mobilux-related-slider-block:not(.has-overflow) .mobilux-related-slider-actions { display:none; }
.mobilux-related-slider-actions button {
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid #e4e6ee;
  border-radius:13px;
  background:#fff;
  color:#4f5567;
  box-shadow:0 7px 20px rgba(28,34,65,.05);
  transition:background .2s,border-color .2s,color .2s;
}
.mobilux-related-slider-actions button:hover:not(:disabled) { border-color:#d8d0ff; color:#7257ff; background:#f9f8ff; }
.mobilux-related-slider-actions button:disabled { opacity:.35; cursor:not-allowed; }
.mobilux-related-slider-actions button:focus-visible,
.mobilux-related-slider-block > ul.products:focus-visible { outline:2px solid var(--ml-primary,#7357ff); outline-offset:2px; }
.mobilux-related-slider-actions svg { width:18px; height:18px; }
:dir(ltr) .mobilux-related-slider-actions svg { transform:rotate(180deg); }

/* No negative margins, percentage shrinkage or page-level clipping. Native scrolling stays local. */
.mobilux-related-slider-block.is-slider > ul.products {
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch;
  grid-template-columns:none!important;
  gap:var(--mobilux-related-gap)!important;
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0!important;
  padding:6px 0 16px!important;
  list-style:none;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.mobilux-related-slider-block > ul.products::before,
.mobilux-related-slider-block > ul.products::after { display:none!important; content:none!important; }
.mobilux-related-slider-block.is-slider > ul.products::-webkit-scrollbar { display:none; }
.mobilux-related-slider-block.is-slider > ul.products > li.product {
  flex:0 0 calc((100% - (var(--mobilux-related-visible) - 1)*var(--mobilux-related-gap))/var(--mobilux-related-visible))!important;
  float:none!important;
  clear:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%;
  height:auto;
  margin:0!important;
  scroll-snap-align:start;
}

/* The same native cards are used for related products and upsells. Keep their internals readable. */
.related-products-section ul.products > li.product {
  min-width:0;
  clear:none!important;
  list-style:none;
}
.related-products-section ul.products > li.product.shop-product-card {
  display:flex;
  flex-direction:column;
  height:auto;
  padding:10px!important;
}
.related-products-section .shop-card-media { flex:0 0 auto; border-radius:12px; }
.related-products-section .shop-card-media > .product-image { position:relative; padding:0; }
/* Images are inside an anchor in content-product.php, not direct children of v14-card-media. */
body .related-products-section ul.products li.product .shop-card-media .product-image > img {
  display:block;
  width:100%!important;
  height:100%!important;
  padding:12px!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center;
}
.related-products-section .shop-card-media .product-img-secondary {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .28s ease;
}
.related-products-section .shop-card-body { flex:1 1 auto; min-width:0; padding:12px 4px 4px; }
.related-products-section .shop-card-title-link { display:block; min-width:0; margin:8px 0 6px; }
.related-products-section ul.products > li.product .woocommerce-loop-product__title {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:5.55em;
  max-height:5.55em;
  margin:0!important;
  font-size:13px!important;
  font-weight:800;
  line-height:1.85!important;
  overflow-wrap:anywhere;
}
.related-products-section .shop-card-meta { flex-wrap:wrap; gap:4px 8px; font-size:11px; }
.related-products-section .shop-card-meta > span { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.related-products-section .shop-card-rating { gap:6px; flex-wrap:wrap; margin-block:5px; }
.related-products-section .shop-card-rating span,
.related-products-section .shop-card-rating small,
.related-products-section .stock-state { font-size:11px; }
.related-products-section .product-meta-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; }
.related-products-section .shop-card-sku { min-width:0; max-width:100%; color:#8a91a4; font-size:10px; overflow-wrap:anywhere; }
.related-products-section .shop-card-footer { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-top:auto; }
.related-products-section ul.products > li.product .shop-card-price {
  flex-direction:row;
  gap:4px;
  min-width:0;
  max-width:100%;
  margin:0!important;
}
.related-products-section .shop-card-price :is(del,ins,bdi,.amount) { min-width:0; height:auto; white-space:normal; overflow-wrap:anywhere; }
.related-products-section .shop-card-price del { order:-1; width:100%; opacity:.55; }
.related-products-section .shop-card-price ins { text-decoration:none; }
.related-products-section .shop-card-price .amount { font-size:15px; font-weight:900; color:#222737; }
.related-products-section .shop-card-price .amount bdi { font-size:inherit; font-weight:inherit; color:inherit; }
.related-products-section .shop-card-price del .amount { font-size:11px; font-weight:500; }
.related-products-section .shop-card-price .woocommerce-Price-currencySymbol { font-size:10px; font-weight:500; color:#8a91a4; }
.related-products-section .shop-card-cart { min-width:0; width:100%; }
.related-products-section ul.products > li.product .shop-card-cart .button {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  height:auto;
  margin:0;
  padding:10px 8px;
  font-size:12px!important;
  line-height:1.8;
  white-space:normal;
  overflow-wrap:anywhere;
}
.related-products-section .mobilux-loop-color-swatches { flex-wrap:wrap; gap:6px; margin-block:8px; }
/* Thumbnail swatches must not inherit the 180px full product-image rule. */
body .related-products-section ul.products .mobilux-loop-color-swatches a.color-swatch > img {
  display:block;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  border-radius:inherit;
  object-fit:contain;
}
.related-products-section .quick-view-btn { display:none!important; }
@media (hover:hover) and (pointer:fine) {
  .related-products-section .shop-product-card:hover .shop-card-media .product-img-secondary { opacity:1; }
}
@media(max-width:1199.98px) {
  .mobilux-related-slider-block { --mobilux-related-visible:min(4,var(--mobilux-related-columns,5)); }
}
@media(max-width:991.98px) {
  .mobilux-related-slider-block { --mobilux-related-visible:min(3,var(--mobilux-related-columns,5)); }
}
@media(max-width:767.98px) {
  .mobilux-related-slider-block { --mobilux-related-visible:min(2,var(--mobilux-related-columns,5)); --mobilux-related-gap:10px; }
  .mobilux-related-slider-head h2 { font-size:18px; }
  .related-products-section .shop-card-meta > span:first-child { font-size:10px; }
  .related-products-section ul.products > li.product .woocommerce-loop-product__title { font-size:12px!important; }
}
@media(max-width:420px) {
  .mobilux-related-slider-block.is-slider > ul.products > li.product { flex-basis:82%!important; }
}
@media(prefers-reduced-motion:reduce) {
  .mobilux-related-slider-block.is-slider > ul.products { scroll-behavior:auto; }
  .mobilux-related-slider-actions button,
  .related-products-section .shop-card-media .product-img-secondary { transition:none; }
}

/* MobiLux 1.16.5 — keep every recommendation card on one visual baseline. */
.related-products-section .mobilux-related-slider-block > ul.products{
  align-items:stretch!important;
}
.related-products-section .mobilux-related-slider-block > ul.products > li.product.shop-product-card{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
}
.related-products-section .mobilux-related-slider-block > ul.products > li.product.shop-product-card > .shop-card-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0;
}
.related-products-section .mobilux-related-slider-block > ul.products > li.product.shop-product-card .shop-card-footer{
  margin-top:auto!important;
}
/* Quick View now lives with the top icon actions instead of over the product image. */
.related-products-section .shop-card-actions .shop-card-quick-view{
  display:grid!important;
}

/* MobiLux 1.16.25 — related product CTA label contrast. */
body:not(.mobilux-product-card-cta-outline):not(.mobilux-product-card-cta-soft) .related-products-section ul.products > li.product .shop-card-cart .button.shop-add-cart{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body:not(.mobilux-product-card-cta-outline):not(.mobilux-product-card-cta-soft) .related-products-section ul.products > li.product .shop-card-cart .button.shop-add-cart :is(.shop-add-cart__label,.shop-add-cart__icon,i,span){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

