.elementor-872 .elementor-element.elementor-element-6cc21ad7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-872 .elementor-element.elementor-element-e52b42e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:10px;--margin-bottom:0px;--margin-left:20px;--margin-right:10px;}.elementor-872 .elementor-element.elementor-element-e52b42e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-872 .elementor-element.elementor-element-58a58a27 .woolentor-filter-wrap .wl_price_filter form button{background-color:#467FF7;border-style:none;border-radius:9px 9px 9px 9px !important;padding:10px 10px 10px 10px !important;}.elementor-872 .elementor-element.elementor-element-58a58a27 > .elementor-widget-container{margin:107px 5px 5px 5px;}.elementor-872 .elementor-element.elementor-element-58a58a27 .woolentor_slider_range.ui-slider{height:6px;}.elementor-872 .elementor-element.elementor-element-58a58a27 .woolentor_slider_range .ui-slider-handle.ui-state-default.ui-corner-all{height:16px;width:16px;border-radius:9px 9px 9px 9px;}.elementor-872 .elementor-element.elementor-element-58a58a27 .woolentor_price_label{color:#000000;}.elementor-872 .elementor-element.elementor-element-58a58a27 .woolentor_price_label span{color:#000000;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-872 .elementor-element.elementor-element-1ef9ac39{margin:13px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-872 .elementor-element.elementor-element-1ef9ac39 .elementor-heading-title{font-family:"Prata", Sans-serif;font-size:32px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:2px;word-spacing:0px;}.elementor-872 .elementor-element.elementor-element-0f54da0 .wlsingle-categorie{padding:1px 1px 1px 1px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#000000;}.elementor-872 .elementor-element.elementor-element-0f54da0 .wlsingle-categorie .wlcategorie-content h4{color:#000000;}.elementor-872 .elementor-element.elementor-element-0f54da0 .wlsingle-categorie .wlcategorie-content h4 a:hover{color:#878787;}.elementor-872 .elementor-element.elementor-element-43a6fc2d{padding:6px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-43a6fc2d .elementor-heading-title{font-family:"Prata", Sans-serif;font-size:32px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:2px;word-spacing:0px;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-thumbnail{border-color:#ffffff;}.elementor-872 .elementor-element.elementor-element-4a081c7c .ht-products .ht-product .ht-product-inner{border-color:#ffffff;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-content .product-content-top .title a{color:#333333;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-content .product-content-top .title a:hover{color:#0A3ACA;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item.wl_dark-item .product-content .product-content-top .title a:hover{color:#0A3ACA;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-content .product-content-top .product-price{color:#0A3ACA;}.woocommerce .elementor-872 .elementor-element.elementor-element-4a081c7c div.product span.price{color:#0A3ACA;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-content .product-content-top .product-price del{color:#0A3ACA !important;}.woocommerce .elementor-872 .elementor-element.elementor-element-4a081c7c div.product span.price del{color:#0A3ACA;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-content .product-content-top p{color:#2B2B4C;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .star-rating{color:#2B2B4C;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .star-rating span{color:#2B2B4C;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-content .action li a,.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .action li .woolentor-compare.compare::before{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-4a081c7c .wl_single-product-item .product-content .action li a:hover,.wl_single-product-item .action li .woolentor-compare.compare:hover::before{color:#ffffff;}.elementor-872 .elementor-element.elementor-element-4b98b9a8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-872 .elementor-element.elementor-element-4266024{--display:flex;}.elementor-872 .elementor-element.elementor-element-2b385f3c{padding:15px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product span.onsale{display:block;color:var( --e-global-color-e0f9d43 );background-color:var( --e-global-color-d7f4226 );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons span.onsale{display:block !important;color:var( --e-global-color-e0f9d43 );background-color:var( --e-global-color-d7f4226 );}.elementor-872 .elementor-element.elementor-element-556bd54 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-556bd54{z-index:0;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product{border-radius:0px 0px 0px 0px;padding:5px 5px 5px 5px;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .attachment-woocommerce_thumbnail{border-radius:45px 45px 45px 45px;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .price{color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .price{color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .price ins{color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .price ins{color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .price ins .amount{color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .price ins .amount{color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .price .amount{color:var( --e-global-color-text );}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .price,.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .price{font-size:17px;line-height:1px;letter-spacing:0px;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .star-rating{font-size:0px;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .star-rating{font-size:0px !important;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .button{background-color:var( --e-global-color-d7f4226 );border-radius:10px 10px 10px 10px;margin:0px 0px 0px 0px;padding:11px 11px 11px 11px;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .button{background-color:var( --e-global-color-d7f4226 );border-radius:10px 10px 10px 10px !important;margin:0px 0px 0px 0px;padding:11px 11px 11px 11px !important;}.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons ul.products li.product .button,.elementor-872 .elementor-element.elementor-element-556bd54.elementor-widget-woolentor-product-archive-addons .button{line-height:3px;}.elementor-872 .elementor-element.elementor-element-undefined-4855f22{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--padding-top:100px;--padding-bottom:100px;--padding-left:24px;--padding-right:24px;}.elementor-872 .elementor-element.elementor-element-undefined-fe4095f{--display:flex;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-undefined-6f88808 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:40px;line-height:1.2;color:#1C244B;}.elementor-872 .elementor-element.elementor-element-2ed406e{--display:flex;}.elementor-872 .elementor-element.elementor-element-530b332 .woolentor-horizontal-filter-wrap .woolentor-filter-single-item.elementor-repeater-item-14ab0ed .select2-container .select2-search--inline .select2-search__field{min-width:120px;}.elementor-872 .elementor-element.elementor-element-530b332 .woolentor-horizontal-filter-wrap .woolentor-filter-field-wrap{justify-content:center;}.elementor-872 .elementor-element.elementor-element-0070442{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-872 .elementor-element.elementor-element-0070442.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-872 .elementor-element.elementor-element-43b9b45{--display:flex;}.elementor-872 .elementor-element.elementor-element-43b9b45.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-872 .elementor-element.elementor-element-24d3fcc{padding:15px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-24d3fcc .elementor-heading-title{font-family:"Prata", Sans-serif;font-size:55px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:2px;word-spacing:0px;}.elementor-872 .elementor-element.elementor-element-054f16c.elementor-widget-woolentor-product-archive-addons ul.products li.product span.onsale{display:block;}.elementor-872 .elementor-element.elementor-element-054f16c.elementor-widget-woolentor-product-archive-addons span.onsale{display:block !important;}.elementor-872 .elementor-element.elementor-element-054f16c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-872 .elementor-element.elementor-element-054f16c.elementor-widget-woolentor-product-archive-addons ul.products li.product{padding:5px 5px 5px 5px;}@media(min-width:768px){.elementor-872 .elementor-element.elementor-element-6cc21ad7{--width:100%;}.elementor-872 .elementor-element.elementor-element-e52b42e{--width:23.173%;}.elementor-872 .elementor-element.elementor-element-4b98b9a8{--width:75%;}.elementor-872 .elementor-element.elementor-element-undefined-4855f22{--content-width:1280px;}.elementor-872 .elementor-element.elementor-element-0070442{--width:75%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-872 .elementor-element.elementor-element-1ef9ac39 .elementor-heading-title{font-size:42px;}.elementor-872 .elementor-element.elementor-element-43a6fc2d .elementor-heading-title{font-size:42px;}.elementor-872 .elementor-element.elementor-element-undefined-4855f22{--min-height:0px;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:16px;--padding-right:16px;}.elementor-872 .elementor-element.elementor-element-undefined-fe4095f{--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-undefined-6f88808 .elementor-heading-title{font-size:32px;}.elementor-872 .elementor-element.elementor-element-24d3fcc .elementor-heading-title{font-size:42px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-872 .elementor-element.elementor-element-1ef9ac39 .elementor-heading-title{font-size:28px;}.elementor-872 .elementor-element.elementor-element-43a6fc2d .elementor-heading-title{font-size:28px;}.elementor-872 .elementor-element.elementor-element-undefined-4855f22{--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:48px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-872 .elementor-element.elementor-element-undefined-fe4095f{--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-undefined-6f88808{text-align:start;}.elementor-872 .elementor-element.elementor-element-undefined-6f88808 .elementor-heading-title{font-size:32px;}.elementor-872 .elementor-element.elementor-element-530b332 .woolentor-horizontal-filter-wrap .woolentor-filter-single-item.elementor-repeater-item-14ab0ed .select2-container .select2-search--inline .select2-search__field{min-width:100%;max-width:0%;}.elementor-872 .elementor-element.elementor-element-0070442{--width:100%;--min-height:0px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-872 .elementor-element.elementor-element-0070442.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-872 .elementor-element.elementor-element-43b9b45{--width:100%;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-872 .elementor-element.elementor-element-24d3fcc .elementor-heading-title{font-size:24px;}.elementor-872 .elementor-element.elementor-element-054f16c{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-872 .elementor-element.elementor-element-054f16c.elementor-widget-woolentor-product-archive-addons ul.products li.product{padding:5px 5px 5px 5px;}}/* Start custom CSS for container, class: .elementor-element-e52b42e *//* Modern price filter card */
.elementor-872 .elementor-element.elementor-element-e52b42e {
  background: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

/* Filter button */
.elementor-872 .elementor-element.elementor-element-e52b42e .button {
  border-radius: 999px !important;
  background: #111111 !important;
  color: white !important;
  padding: 10px 20px !important;
}

/* Price text */
.elementor-872 .elementor-element.elementor-element-e52b42e .price_label {
  font-size: 14px;
  color: #222;
  font-weight: 500;
}/* End custom CSS */
/* Start custom CSS for woolentor-product-archive-addons, class: .elementor-element-556bd54 *//* Make each product act like a flex column */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto; /* grow to fill */
}

/* Uniform image ratio */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Clamp title height (3 lines) so long names don't make the row taller */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  line-height: 1.25;
  min-height: 3.75em;          /* ~3 lines */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Give the price block enough fixed space to cover:
   - regular + sale OR
   - "From $xx.xx" on variable products */
.woocommerce ul.products li.product .price {
  margin-top: auto;             /* stick price to bottom of text area */
  min-height: 2.6em;            /* increase to 3.2em if you still see a gap */
  display: block;
}

/* Keep row spacing tight (optional if you still have big vertical gaps) */
.woocommerce ul.products { row-gap: 28px; }
.woocommerce ul.products li.product { margin: 0 !important; }

/* Fix overlap only for the 3D Hexcoaster Range product */
li.post-1018 .button {
  margin-top: 3px !important;
  display: block;
}

li.post-1018 .swatch {
  margin-bottom: 3px !important;
}

li.post-1018 {
  min-height: 400px;
}


.elementor-872 .elementor-element.elementor-element-556bd54 form.cart {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.elementor-872 .elementor-element.elementor-element-556bd54 form.cart .quantity {
  width: 70px;
  margin: 0 !important;
}

.elementor-872 .elementor-element.elementor-element-556bd54 form.cart .button {
  flex: 1;
  width: auto !important;
  margin: 0 !important;
}

.elementor-872 .elementor-element.elementor-element-556bd54 form.cart {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.elementor-872 .elementor-element.elementor-element-556bd54 form.cart .quantity {
  width: 70px;
  margin: 0 !important;
}

.elementor-872 .elementor-element.elementor-element-556bd54 form.cart .button {
  flex: 1;
  width: auto !important;
  margin: 0 !important;
}/* End custom CSS */
/* Start custom CSS for wl-product-horizontal-filter, class: .elementor-element-530b332 *//* === Mobile (<=767px): 2 columns, equal-height product cards === */
@media (max-width: 767px) {
  #shop-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important; /* 2 columns now */
    gap: 16px !important;
    padding-left: 0 !important;
    align-items: stretch !important;
  }

  #shop-grid ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    clear: none !important;
    list-style: none;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    height: 100% !important;
    box-sizing: border-box;
  }

  /* Prevent the first product from spanning the row */
  #shop-grid ul.products li.product:first-child {
    grid-column: auto !important;
  }

  /* Ensure image is full width */
  #shop-grid ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }

  /* Title control: truncate long names */
  #shop-grid ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
  }

  /* Keep Add to cart pinned at bottom */
  #shop-grid ul.products li.product .button {
    margin-top: auto !important;
    width: 100%;
    text-align: center;
  }

  /* Kill clearfix pseudo-elements */
  #shop-grid ul.products::before,
  #shop-grid ul.products::after {
    content: none !important;
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for woolentor-product-archive-addons, class: .elementor-element-054f16c *//* === Mobile (<=767px): 2 columns, equal-height Woo cards === */
@media (max-width: 767px) {
  /* Grid for product list */
  #shop-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }

  /* Each LI becomes a flex card (equal heights) */
  #shop-grid ul.products li.product {
    list-style: none;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    height: 100% !important;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box;
  }

  /* Some themes make the first/odd item span – kill that */
  #shop-grid ul.products li.product:first-child {
    grid-column: auto !important;
  }

  /* Clickable area/content wrapper grows to fill */
  #shop-grid ul.products li.product .woocommerce-LoopProduct-link,
  #shop-grid ul.products li.product > a {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
    min-height: 0;
  }

  /* Images full width and not collapsing */
  #shop-grid ul.products li.product img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }

  /* Reserve consistent space for title (2 lines) */
  #shop-grid ul.products li.product .woocommerce-loop-product__title,
  #shop-grid ul.products li.product h2.woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em; /* ~2 lines */
    line-height: 1.3;
    margin: 4px 0 0;
  }

  /* Reserve consistent space for price row */
  #shop-grid ul.products li.product .price {
    margin-top: 6px;
    min-height: 1.6em; /* keep rows even if price wraps/has sale */
  }

  /* Keep Add to cart pinned at the bottom & full width */
  #shop-grid ul.products li.product .button {
    margin-top: auto !important;
    width: 100%;
    text-align: center;
  }

  /* Badges shouldn’t push layout around */
  #shop-grid ul.products li.product .onsale {
    position: absolute;
  }

  /* Kill clearfix pseudo-elements that can create gaps */
  #shop-grid ul.products::before,
  #shop-grid ul.products::after {
    content: none !important;
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-43b9b45 *//* === Mobile (<=767px): 2 columns, equal-height Woo cards === */
@media (max-width: 767px) {
  /* Grid for product list */
  #shop-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }

  /* Each LI becomes a flex card (equal heights) */
  #shop-grid ul.products li.product {
    list-style: none;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    height: 100% !important;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box;
  }

  /* Some themes make the first/odd item span – kill that */
  #shop-grid ul.products li.product:first-child {
    grid-column: auto !important;
  }

  /* Clickable area/content wrapper grows to fill */
  #shop-grid ul.products li.product .woocommerce-LoopProduct-link,
  #shop-grid ul.products li.product > a {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
    min-height: 0;
  }

  /* Images full width and not collapsing */
  #shop-grid ul.products li.product img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }

  /* Reserve consistent space for title (2 lines) */
  #shop-grid ul.products li.product .woocommerce-loop-product__title,
  #shop-grid ul.products li.product h2.woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em; /* ~2 lines */
    line-height: 1.3;
    margin: 4px 0 0;
  }

  /* Reserve consistent space for price row */
  #shop-grid ul.products li.product .price {
    margin-top: 6px;
    min-height: 1.6em; /* keep rows even if price wraps/has sale */
  }

  /* Keep Add to cart pinned at the bottom & full width */
  #shop-grid ul.products li.product .button {
    margin-top: auto !important;
    width: 100%;
    text-align: center;
  }

  /* Badges shouldn’t push layout around */
  #shop-grid ul.products li.product .onsale {
    position: absolute;
  }

  /* Kill clearfix pseudo-elements that can create gaps */
  #shop-grid ul.products::before,
  #shop-grid ul.products::after {
    content: none !important;
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* =========================
   MOBILE SHOP GRID FIX
========================= */

@media (max-width: 767px) {

  .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 22px 14px !important;
    overflow: hidden !important;
  }

  .woocommerce ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    overflow: hidden !important;
  }

  .woocommerce ul.products li.product img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .woocommerce ul.products li.product .price {
    font-size: 13px !important;
    white-space: normal !important;
  }

  .woocommerce ul.products li.product .quantity,
  .woocommerce ul.products li.product form.cart,
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .add_to_cart_button {
    display: none !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    line-height: 1.25 !important;
    min-height: auto !important;
  }
}



/* Mobile price colour fix */
@media (max-width: 767px) {
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .price *,
  .woocommerce ul.products li.product .price ins,
  .woocommerce ul.products li.product .price ins *,
  .woocommerce ul.products li.product .price .amount,
  .woocommerce ul.products li.product .price bdi {
    color: #2F6BFF !important;
    background: transparent !important;
    text-decoration-color: #222 !important;
  }

  .woocommerce ul.products li.product .price del,
  .woocommerce ul.products li.product .price del *,
  .woocommerce ul.products li.product .price del .amount,
  .woocommerce ul.products li.product .price del bdi {
    color: #222 !important;
    opacity: 1 !important;
    background: transparent !important;
  }

  .woocommerce ul.products li.product .onsale {
    background: #2F6BFF !important;
    color: #fff !important;
  }
}/* End custom CSS */