.elementor-12 .elementor-element.elementor-element-5a58821{margin-top:0px;margin-bottom:0px;}.elementor-12 .elementor-element.elementor-element-4fb1601 > .elementor-widget-container{margin:-30px 0px 0px 0px;}.elementor-12 .elementor-element.elementor-element-84fa919 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-12 .elementor-element.elementor-element-f56e11f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-f56e11f.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-12 .elementor-element.elementor-element-3b38370.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-3b38370.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-12 .elementor-element.elementor-element-063a251.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-063a251.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-12 .elementor-element.elementor-element-e010057.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-e010057.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-12 .elementor-element.elementor-element-42461c2 > .elementor-widget-container{margin:-73px 0px 0px 0px;}@media(max-width:1024px){.elementor-12 .elementor-element.elementor-element-f56e11f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-3b38370.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-063a251.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-e010057.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-12 .elementor-element.elementor-element-4fb1601 > .elementor-widget-container{margin:-23px 0px 0px 0px;}.elementor-12 .elementor-element.elementor-element-f56e11f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-3b38370.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-063a251.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-e010057.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12 .elementor-element.elementor-element-42461c2 > .elementor-widget-container{margin:-74px 0px 0px 0px;}}/* Start custom CSS for woocommerce-products, class: .elementor-element-f56e11f *//* =========================================================
   WOOCOMMERCE PRODUCT GRID - CLEAN / EQUAL / RESPONSIVE
   (Cleaned + fixed version)
   ========================================================= */

/* ---------- DESKTOP GRID ---------- */

ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    margin: 0 !important;
    padding: 0 !important;
}

/* ---------- PRODUCT CARD ---------- */

ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    min-height: 0 !important;
    height: auto !important;

    border: 1px solid #e5e5e5;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;

    box-shadow: 0 2px 8px rgba(0,0,0,0.06);

    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

ul.products li.product:hover {
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    transform: translateY(-3px);
}

/* ---------- PRODUCT IMAGE ---------- */

ul.products li.product > a:first-child {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

ul.products li.product > a:first-child img,
ul.products li.product img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 240px !important;
    object-fit: fill !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* =========================================================
   FIX 1: REMOVE DUPLICATE "BUY NOW" BUTTON
   Confirmed from your site's markup: each product has TWO
   add-to-cart links pointing to the same URL. The first one
   sits right after the "Sale!" badge (that's the one floating
   over the image). This targets it by its position in the
   markup, not by a guessed class name, so it works regardless
   of what your theme calls its wrapper divs.
   ========================================================= */

ul.products li.product .onsale + a.add_to_cart_button,
ul.products li.product .onsale + a.button,
ul.products li.product .onsale ~ a.add_to_cart_button:first-of-type,
ul.products li.product .product-element-top a.add_to_cart_button,
ul.products li.product .product-element-top a.button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Safety net: if both buttons end up as direct siblings of
   li.product, keep only the last one */
ul.products li.product > a.add_to_cart_button:not(:last-of-type),
ul.products li.product > a.button:not(:last-of-type) {
    display: none !important;
}

/* =========================================================
   PRODUCT TITLE
   ========================================================= */

ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px;
    font-weight: 600;
    color: #000 !important;
    margin: 10px 12px 4px !important;
    line-height: 20px;
    height: 40px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* =========================================================
   RATING
   ========================================================= */

ul.products li.product .star-rating {
    display: block !important;
    width: 80px;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 12px 4px !important;
}

ul.products li.product:not(:has(.star-rating)) .woocommerce-loop-product__title {
    margin-bottom: 22px !important;
}

/* =========================================================
   PRICE
   ========================================================= */

ul.products li.product .price {
    display: block;
    margin: 0 12px 10px !important;
    min-height: 22px;
    height: 22px;
    font-size: 14px;
    line-height: 22px;
    color: #000 !important;
}

ul.products li.product .price,
ul.products li.product .price ins,
ul.products li.product .price bdi {
    color: #000 !important;
    text-decoration: none !important;
    font-weight: 700;
}

ul.products li.product .price del {
    color: #999 !important;
    font-weight: 400;
    opacity: 0.7;
}

ul.products li.product .price del bdi {
    color: #999 !important;
    font-weight: 400;
}

/* =========================================================
   BUTTON  (color changed to #FF7A00)
   ========================================================= */

ul.products li.product a.add_to_cart_button,
ul.products li.product a.button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: calc(100% - 24px) !important;
    box-sizing: border-box;

    margin: 4px 12px 14px !important;
    padding: 12px 20px !important;

    background-color: #FF7A00 !important;
    color: #fff !important;

    border: none !important;
    border-radius: 30px !important;

    font-size: 15px;
    font-weight: 600;
    line-height: 21px;

    text-align: center;

    transition: background 0.25s ease;
}

ul.products li.product a.add_to_cart_button:hover,
ul.products li.product a.button:hover {
    background-color: #e56c00 !important;
}

/* =========================================================
   FIX 2: SHOW ONLY "BUY NOW", NEVER "ADD TO CART"
   Your markup already has a `.only-buy-now` element for the
   "Buy Now" label. We hide every other child/text inside the
   button and force `.only-buy-now` to be the only thing shown.
   This replaces the old font-size:0 / ::before hack, which was
   getting overridden later in the file (that's why both texts
   were showing).
   ========================================================= */

ul.products li.product a.add_to_cart_button,
ul.products li.product a.button {
    font-size: 0 !important; /* hide any bare text node */
}

ul.products li.product a.add_to_cart_button > *:not(.only-buy-now),
ul.products li.product a.button > *:not(.only-buy-now) {
    display: none !important;
}

ul.products li.product a.add_to_cart_button .only-buy-now,
ul.products li.product a.button .only-buy-now {
    display: inline-block !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #fff !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {
    ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }
}

/* =========================================================
   MOBILE - 2 CARDS + SWIPE
   ========================================================= */

@media (max-width: 767px) {

    ul.products {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 4px 6px !important;
        margin: 0 !important;
        scrollbar-width: none !important;
        scroll-snap-type: x mandatory !important;
    }

    ul.products::-webkit-scrollbar {
        display: none !important;
    }

    ul.products li.product {
        flex: 0 0 calc(50% - 5px) !important;
        width: calc(50% - 5px) !important;
        min-width: calc(50% - 5px) !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;

        box-sizing: border-box !important;
        overflow: hidden !important;

        scroll-snap-align: start !important;
    }

    ul.products li.product > a:first-child {
        flex: 0 0 115px !important;
        width: 100% !important;
        height: 115px !important;
        min-height: 115px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    ul.products li.product > a:first-child img,
    ul.products li.product img {
        width: 100% !important;
        height: 115px !important;
        min-height: 115px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: fill !important;
    }

    ul.products li.product .woocommerce-loop-product__title {
        flex: 0 0 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 6px 9px 3px !important;
        padding: 0 !important;
        font-size: 12px !important;
        line-height: 17px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    ul.products li.product .star-rating {
        flex: 0 0 16px !important;
        height: 16px !important;
        min-height: 16px !important;
        margin: 0 9px 3px !important;
    }

    ul.products li.product:not(:has(.star-rating)) .woocommerce-loop-product__title {
        margin-bottom: 22px !important;
    }

    ul.products li.product .price {
        flex: 0 0 18px !important;
        height: 18px !important;
        min-height: 18px !important;
        margin: 0 9px 4px !important;
        padding: 0 !important;
        font-size: 12px !important;
        line-height: 18px !important;
        overflow: hidden !important;
    }

    ul.products li.product a.add_to_cart_button,
    ul.products li.product a.button {
        width: calc(100% - 18px) !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 2px 9px 7px !important;
        padding: 0 6px !important;
        box-sizing: border-box !important;
        border-radius: 30px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    ul.products li.product a.add_to_cart_button .only-buy-now,
    ul.products li.product a.button .only-buy-now {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    ul.products li.product::before,
    ul.products li.product::after {
        content: none !important;
        display: none !important;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    ul.products {
        gap: 8px !important;
    }

    ul.products li.product {
        flex-basis: calc(50% - 4px) !important;
        width: calc(50% - 4px) !important;
        min-width: calc(50% - 4px) !important;
    }

    ul.products li.product > a:first-child,
    ul.products li.product > a:first-child img {
        height: 110px !important;
        min-height: 110px !important;
    }

    ul.products li.product .woocommerce-loop-product__title {
        font-size: 11px !important;
        line-height: 16px !important;
        height: 32px !important;
        min-height: 32px !important;
    }

    ul.products li.product a.add_to_cart_button,
    ul.products li.product a.button {
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
    }

    ul.products li.product a.add_to_cart_button .only-buy-now,
    ul.products li.product a.button .only-buy-now {
        font-size: 11px !important;
    }
}

/* =========================================================
   MOBILE SLIDER ARROWS
   ========================================================= */

@media (max-width: 767px) {

    .wc-mobile-products-wrap {
        position: relative !important;
        width: 100% !important;
    }

    .wc-products-arrow {
        position: absolute !important;
        top: 42% !important;
        transform: translateY(-50%) !important;

        width: 34px !important;
        height: 34px !important;
        padding: 0 !important;
        margin: 0 !important;

        border: 0 !important;
        border-radius: 50% !important;

        background: #FF7A00 !important;
        color: #fff !important;

        font-size: 25px !important;
        line-height: 34px !important;
        text-align: center !important;

        z-index: 999 !important;
        cursor: pointer !important;

        box-shadow: 0 3px 10px rgba(0,0,0,.20);
    }

    .wc-products-prev { left: -4px !important; }
    .wc-products-next { right: -4px !important; }

    .wc-products-arrow:hover {
        background: #e56c00 !important;
    }
}

@media (min-width: 768px) {
    .wc-products-arrow {
        display: none !important;
    }
}
/* =========================================================
   REMOVE FIRST / TOP BUY NOW BUTTON
   KEEP ONLY THE BUTTON AFTER PRICE
   ========================================================= */

ul.products li.product > a.add_to_cart_button:first-of-type,
ul.products li.product > a.button:first-of-type {
    display: none !important;
}

/* Keep the final Buy Now button */
ul.products li.product > a.add_to_cart_button:last-of-type,
ul.products li.product > a.button:last-of-type {
    display: flex !important;
}
@media (max-width: 767px) {

    ul.products li.product .product-element-top .add_to_cart_button,
    ul.products li.product .product-element-top .button {
        display: none !important;
    }

}
/* MOBILE - Remove Astra's top Buy Now button */
@media (max-width: 767px) {
    ul.products li.product .ast-on-card-button {
        display: none !important;
    }
}
/* =========================================
   MOBILE - HIDE ONLY TOP BUY NOW BUTTON
   ========================================= */

@media (max-width: 767px) {

    ul.products li.product a.ast-on-card-button.add_to_cart_button {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

}
ul.products li.product a.add_to_cart_button .only-buy-now,
ul.products li.product a.button .only-buy-now {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    height: 100% !important;
}
@media (max-width: 767px) {
    ul.products li.product a.add_to_cart_button .only-buy-now,
    ul.products li.product a.button .only-buy-now {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        height: 100% !important;
    }
}
/* Hide top hover Buy Now on desktop + mobile */
ul.products li.product a.ast-on-card-button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
@media (max-width: 767px) {
    ul.products li.product a.add_to_cart_button,
    ul.products li.product a.button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    ul.products li.product a.add_to_cart_button .only-buy-now,
    ul.products li.product a.button .only-buy-now {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        line-height: 38px !important;
        height: 38px !important;
    }
}/* End custom CSS */