
/* JDSAS 4.6.4 — real Elementor widget selector captured in DevTools:
   .elementor-element-39fed3df.elementor-widget-woocommerce-products
   Safely scopes to that widget and any Woo products widget within
   .jdsas42-products, without modifying the catalogue or product pages. */

body .elementor-element-39fed3df.elementor-widget-woocommerce-products,
body .jdsas42-products .elementor-widget-woocommerce-products {
 --jd-card:#fff;
 --jd-text:#17191d;
 --jd-red:#dd2026;
 --jd-muted:#777;
 color:var(--jd-text);
 width:100%;
 max-width:100%;
 min-width:0;
}

/* Undo the old dark strip and Woo floats. */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products,
body .jdsas42-products .elementor-widget-woocommerce-products ul.products {
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:18px!important;
 align-items:stretch!important;
 overflow:visible!important;
 scroll-snap-type:none!important;
 margin:0!important;
 padding:6px 0 18px!important;
 width:100%!important;
 list-style:none!important;
}

body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products::before,
body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products::after,
body .jdsas42-products .elementor-widget-woocommerce-products ul.products::before,
body .jdsas42-products .elementor-widget-woocommerce-products ul.products::after {
 display:none!important; content:none!important;
}

body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products > li.product,
body .jdsas42-products .elementor-widget-woocommerce-products ul.products > li.product {
 position:relative!important;
 float:none!important;
 clear:none!important;
 display:flex!important;
 flex-direction:column!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 height:100%!important;
 margin:0!important;
 padding:0!important;
 overflow:hidden!important;
 background:#fff!important;
 background-image:none!important;
 color:#17191d!important;
 text-align:left!important;
 border:1px solid #e9e7e4!important;
 border-radius:20px!important;
 box-shadow:0 4px 12px rgba(0,0,0,.14)!important;
 transition:transform .22s ease,box-shadow .22s ease!important;
 scroll-snap-align:none!important;
}

body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products > li.product:hover,
body .jdsas42-products .elementor-widget-woocommerce-products ul.products > li.product:hover {
 transform:translateY(-3px);
 box-shadow:0 11px 24px rgba(0,0,0,.20)!important;
}

/* Actual markup: <li><a class=woocommerce-LoopProduct-link>
  <span class=onsale><img><span class=jdsas463-product-brand><h2><span class=price>
  </a><div class=woocommerce-loop-product__buttons><a class=button> */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products > li.product > a.woocommerce-LoopProduct-link,
body .jdsas42-products .elementor-widget-woocommerce-products ul.products > li.product > a.woocommerce-LoopProduct-link {
 display:flex!important;
 flex:1 1 auto!important;
 flex-direction:column!important;
 align-items:stretch!important;
 gap:0!important;
 background:#fff!important;
 padding:0!important;
 margin:0!important;
 min-width:0!important;
 width:100%!important;
 color:#17191d!important;
 text-decoration:none!important;
}

/* Force each thumbnail into an identical square viewport, image fully contained. */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products > li.product img.attachment-woocommerce_thumbnail,
body .jdsas42-products .elementor-widget-woocommerce-products ul.products > li.product img.attachment-woocommerce_thumbnail {
 display:block!important;
 float:none!important;
 width:100%!important;
 height:auto!important;
 aspect-ratio:1/1!important;
 object-fit:contain!important;
 object-position:center!important;
 max-width:100%!important;
 margin:0!important;
 padding:15px!important;
 box-sizing:border-box!important;
 background:#fff!important;
 border:none!important;
 border-radius:0!important;
 filter:none!important;
}

/* Genuine WooCommerce sale badge; no invented percentage. */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .onsale,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .onsale {
 display:inline-flex!important;
 justify-content:center!important;
 align-items:center!important;
 position:absolute!important;
 top:11px!important;
 left:11px!important;
 right:auto!important;
 bottom:auto!important;
 width:auto!important;
 min-width:0!important;
 min-height:0!important;
 height:auto!important;
 line-height:1.15!important;
 padding:5px 9px!important;
 margin:0!important;
 border-radius:999px!important;
 color:#fff!important;
 background:#1b1b18!important;
 font:700 11px/1.2 Arial,sans-serif!important;
 z-index:3!important;
}

/* Inserted brand attribute is present in the actual HTML. */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .jdsas463-product-brand,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .jdsas463-product-brand {
 display:block!important;
 margin:2px 13px 3px!important;
 padding:0!important;
 color:#17191d!important;
 font:700 13px/1.25 Arial,sans-serif!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}

/* Neat two-line product name with minimum stable height. */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .woocommerce-loop-product__title,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .woocommerce-loop-product__title {
 display:-webkit-box!important;
 -webkit-box-orient:vertical!important;
 -webkit-line-clamp:2!important;
 width:auto!important;
 min-height:38px!important;
 max-height:38px!important;
 margin:0 13px 8px!important;
 padding:0!important;
 color:#30343a!important;
 font:500 13px/19px Arial,sans-serif!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
 text-transform:none!important;
 letter-spacing:0!important;
}

/* Price under title; preserve Woo accessibility spans and actual Woo prices. */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .price,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .price {
 display:flex!important;
 flex-wrap:wrap!important;
 align-items:baseline!important;
 gap:6px!important;
 margin:auto 13px 12px!important;
 padding:0!important;
 min-height:22px!important;
 color:#e12124!important;
 line-height:1.3!important;
 font-size:14px!important;
}
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .price :is(ins,ins *,> .amount,> .amount *),
body .jdsas42-products .elementor-widget-woocommerce-products li.product .price :is(ins,ins *,> .amount,> .amount *) {
 color:#e12124!important;
 font-weight:750!important;
 font-size:14px!important;
 text-decoration:none!important;
}
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .price del,
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .price del *,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .price del,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .price del * {
 color:#777!important;
 font-weight:400!important;
 font-size:12px!important;
 text-decoration:line-through!important;
}

/* Actual external products: .woocommerce-loop-product__buttons > a.button.product_type_external */
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons {
 display:block!important;
 flex:0 0 auto!important;
 width:100%!important;
 padding:0 13px 13px!important;
 margin:0!important;
 background:#fff!important;
 box-sizing:border-box!important;
}
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons > a.button,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons > a.button {
 display:flex!important;
 width:100%!important;
 min-height:41px!important;
 align-items:center!important;
 justify-content:center!important;
 text-align:center!important;
 padding:9px 8px!important;
 margin:0!important;
 background:#0b0d11!important;
 color:#fff!important;
 border:0!important;
 border-radius:999px!important;
 box-shadow:none!important;
 font:600 12px/1.25 Arial,sans-serif!important;
 text-decoration:none!important;
 white-space:normal!important;
}
body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons > a.button:hover,
body .jdsas42-products .elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons > a.button:hover {
 background:#24272e!important;color:#fff!important;
}

@media(max-width:1024px){
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products,
 body .jdsas42-products .elementor-widget-woocommerce-products ul.products {
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;
 }
}
@media(max-width:767px){
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products,
 body .jdsas42-products .elementor-widget-woocommerce-products ul.products {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
 }
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products ul.products > li.product,
 body .jdsas42-products .elementor-widget-woocommerce-products ul.products > li.product {
  border-radius:17px!important;
 }
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .woocommerce-loop-product__title,
 body .jdsas42-products .elementor-widget-woocommerce-products li.product .woocommerce-loop-product__title {
  margin:0 10px 7px!important;font-size:12px!important;line-height:17px!important;
  min-height:34px!important;max-height:34px!important;
 }
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .jdsas463-product-brand,
 body .jdsas42-products .elementor-widget-woocommerce-products li.product .jdsas463-product-brand {
  margin:3px 10px 2px!important;font-size:12px!important;
 }
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .price,
 body .jdsas42-products .elementor-widget-woocommerce-products li.product .price {
  margin:auto 10px 9px!important;font-size:13px!important;
 }
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons,
 body .jdsas42-products .elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons {
  padding:0 9px 9px!important;
 }
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons > a.button,
 body .jdsas42-products .elementor-widget-woocommerce-products li.product .woocommerce-loop-product__buttons > a.button {
  font-size:11px!important;min-height:38px!important;padding:8px 6px!important;
 }
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product img.attachment-woocommerce_thumbnail,
 body .jdsas42-products .elementor-widget-woocommerce-products li.product img.attachment-woocommerce_thumbnail {
  padding:10px!important;
 }
}
@media(prefers-reduced-motion:reduce){
 body .elementor-element-39fed3df.elementor-widget-woocommerce-products li.product,
 body .jdsas42-products .elementor-widget-woocommerce-products li.product {transition:none!important;}
}
