/* Ebrander WooCommerce Cart Button — product page only */
.single-product form.cart,
.single-product .woocommerce-variation-add-to-cart,
.single-product .product-info .cart {
    align-items: stretch !important;
    gap: 14px !important;
}

.single-product form.cart .quantity,
.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .product-info .cart .quantity {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 0 0 var(--ewcb-quantity-width, 210px) !important;
    width: var(--ewcb-quantity-width, 210px) !important;
    min-width: 0 !important;
    height: var(--ewcb-button-height, 48px) !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border: 1.5px solid #e5e7e9 !important;
    border-radius: var(--ewcb-quantity-radius, 12px) !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.single-product form.cart .quantity input.qty,
.single-product .woocommerce-variation-add-to-cart .quantity input.qty {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    box-sizing: border-box !important;
    order: 2 !important;
    flex: 1 1 auto !important;
    width: 30px !important;
    min-width: 0 !important;
    height: 100% !important;
    padding: 0 4px !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111 !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
}
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button,
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none !important; margin: 0 !important; }

.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus,
.single-product .woocommerce-variation-add-to-cart .quantity .minus,
.single-product .woocommerce-variation-add-to-cart .quantity .plus {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 28px !important;
    order: 1 !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #65737b !important;
    font-size: 0 !important;
    line-height: 1 !important;
    transform: none !important;
}
.single-product form.cart .quantity .plus,
.single-product .woocommerce-variation-add-to-cart .quantity .plus { order: 3 !important; }
.single-product form.cart .quantity .minus:before,
.single-product form.cart .quantity .plus:before,
.single-product .woocommerce-variation-add-to-cart .quantity .minus:before,
.single-product .woocommerce-variation-add-to-cart .quantity .plus:before,
.single-product form.cart .quantity .minus:after,
.single-product form.cart .quantity .plus:after,
.single-product .woocommerce-variation-add-to-cart .quantity .minus:after,
.single-product .woocommerce-variation-add-to-cart .quantity .plus:after {
    content: none !important;
    display: none !important;
}

/* Elessi already renders the +/- controls as SVGs inside .minus/.plus.
   Do not create a second symbol with pseudo-elements. */
.single-product form.cart .quantity .minus svg,
.single-product form.cart .quantity .plus svg,
.single-product .woocommerce-variation-add-to-cart .quantity .minus svg,
.single-product .woocommerce-variation-add-to-cart .quantity .plus svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    opacity: 1 !important;
}

.single-product form.cart button.single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
.single-product .product-info .cart button.single_add_to_cart_button {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    flex: 1 1 280px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: var(--ewcb-button-height, 48px) !important;
    height: var(--ewcb-button-height, 48px) !important;
    padding: 8px 20px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,.10) !important;
    border-radius: var(--ewcb-button-radius, 12px) !important;
    box-shadow: 0 4px 9px rgba(0,0,0,.08) !important;
    font-family: inherit !important;
    font-size: var(--ewcb-button-font-size, 20px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: normal !important;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
    transform: none !important;
}
.single-product form.cart button.single_add_to_cart_button:before,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:before {
    content: none !important;
    display: none !important;
    flex: 0 0 0 !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: currentColor !important;
    background-image: none !important;
    -webkit-mask: var(--ewcb-icon-mask, none) !important;
    mask: var(--ewcb-icon-mask, none) !important;
}
.single-product form.cart button.single_add_to_cart_button:hover,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover,
.single-product .product-info .cart button.single_add_to_cart_button:hover {
    filter: none !important;
    box-shadow: 0 4px 9px rgba(0,0,0,.08) !important;
    transform: none !important;
}
.single-product form.cart button.single_add_to_cart_button:focus-visible,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:focus-visible {
    outline: 2px solid rgba(0,0,0,.30) !important;
    outline-offset: 3px !important;
}
.single-product form.cart button.single_add_to_cart_button.loading:before,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button.loading:before { opacity: .35 !important; }
.single-product form.cart button.single_add_to_cart_button.disabled,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button.disabled { opacity: .55 !important; cursor: not-allowed !important; }

@media (max-width: 767px) {
    .single-product form.cart,
    .single-product .woocommerce-variation-add-to-cart,
    .single-product .product-info .cart { gap: 10px !important; }
    .single-product form.cart .quantity,
    .single-product .woocommerce-variation-add-to-cart .quantity {
        flex-basis: 118px !important;
        width: 118px !important;
        height: var(--ewcb-button-height, 48px) !important;
        padding: 0 9px !important;
    }
    .single-product form.cart .quantity input.qty,
    .single-product .woocommerce-variation-add-to-cart .quantity input.qty { font-size: 22px !important; width: 34px !important; }
    .single-product form.cart .quantity .minus,
    .single-product form.cart .quantity .plus,
    .single-product .woocommerce-variation-add-to-cart .quantity .minus,
    .single-product .woocommerce-variation-add-to-cart .quantity .plus { flex-basis: 22px !important; width: 22px !important; min-width: 22px !important; }
    .single-product form.cart .quantity .minus:before,
    .single-product form.cart .quantity .plus:before,
    .single-product .woocommerce-variation-add-to-cart .quantity .minus:before,
    .single-product .woocommerce-variation-add-to-cart .quantity .plus:before { font-size: 27px !important; }
    .single-product form.cart button.single_add_to_cart_button,
    .single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
    .single-product .product-info .cart button.single_add_to_cart_button {
        flex: 1 1 170px !important;
        height: var(--ewcb-button-height, 48px) !important;
        min-height: var(--ewcb-button-height, 48px) !important;
        padding: 8px 12px !important;
        gap: 9px !important;
        font-size: clamp(14px, 3.8vw, 18px) !important;
    }
    .single-product form.cart button.single_add_to_cart_button:before,
    .single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:before {
        flex-basis: 25px !important;
        width: 25px !important;
        height: 25px !important;
    }
}
@media (max-width: 380px) {
    .single-product form.cart .quantity,
    .single-product .woocommerce-variation-add-to-cart .quantity { flex-basis: 104px !important; width: 104px !important; padding: 0 6px !important; }
    .single-product form.cart button.single_add_to_cart_button,
    .single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button { gap: 6px !important; padding: 8px !important; font-size: 13px !important; }
}


/* Elessi Sticky Add to Cart
 * Elessi creates .nasa-add-to-cart-fixed dynamically and clones the WooCommerce
 * cart form into .nasa-single-btn-clone / .woocommerce-variation-add-to-cart-clone.
 * Apply the same plugin layout to that clone so the sticky card matches the
 * main product form without modifying Elessi files.
 */
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone {
    align-items: center !important;
    gap: 10px !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 0 0 78px !important;
    width: 78px !important;
    max-width: 78px !important;
    min-width: 78px !important;
    flex-shrink: 0 !important;
    height: 48px !important;
    padding: 0 4px !important;
    margin: 0 !important;
    border: 1.5px solid #e5e7e9 !important;
    border-radius: var(--ewcb-quantity-radius, 12px) !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Sticky quantity is intentionally compact so it stays proportional to the card. */
body.single-product .nasa-add-to-cart-fixed .quantity {
    flex: 0 0 78px !important;
    width: 78px !important;
    max-width: 78px !important;
    min-width: 78px !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity input.qty,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity input.qty {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    box-sizing: border-box !important;
    order: 2 !important;
    flex: 1 1 auto !important;
    width: 34px !important;
    max-width: 34px !important;
    min-width: 34px !important;
    height: 100% !important;
    padding: 0 4px !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
}
body.single-product .nasa-add-to-cart-fixed .quantity input.qty::-webkit-inner-spin-button,
body.single-product .nasa-add-to-cart-fixed .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .minus,
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .plus,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .minus,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .plus {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #65737b !important;
    font-size: 0 !important;
    line-height: 1 !important;
    transform: none !important;
}
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .minus,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .minus {
    order: 1 !important;
}
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .plus,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .plus {
    order: 3 !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .minus:before,
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .plus:before,
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .minus:after,
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .plus:after,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .minus:before,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .plus:before,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .minus:after,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .plus:after {
    content: none !important;
    display: none !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .minus svg,
body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .quantity .plus svg,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .minus svg,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .quantity .plus svg {
    display: block !important;
    width: 11px !important;
    height: 11px !important;
    max-width: 11px !important;
    max-height: 11px !important;
    margin: 0 !important;
    opacity: 1 !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .single_add_to_cart_button,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .single_add_to_cart_button {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    flex: 0 0 240px !important;
    width: 240px !important;
    max-width: 240px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 5px 12px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,.10) !important;
    border-radius: var(--ewcb-button-radius, 12px) !important;
    box-shadow: 0 4px 9px rgba(0,0,0,.08) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: normal !important;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
    transform: none !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .single_add_to_cart_button:before,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .single_add_to_cart_button:before {
    content: none !important;
    display: none !important;
    flex: 0 0 0 !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: currentColor !important;
    background-image: none !important;
    -webkit-mask: var(--ewcb-icon-mask, none) !important;
    mask: var(--ewcb-icon-mask, none) !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .single_add_to_cart_button:hover,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .single_add_to_cart_button:hover {
    filter: none !important;
    box-shadow: 0 4px 9px rgba(0,0,0,.08) !important;
    transform: none !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .single_add_to_cart_button:focus-visible,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .single_add_to_cart_button:focus-visible {
    outline: 2px solid rgba(0,0,0,.30) !important;
    outline-offset: 3px !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .single_add_to_cart_button.loading:before,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .single_add_to_cart_button.loading:before {
    opacity: .35 !important;
}

body.single-product .nasa-add-to-cart-fixed .nasa-single-btn-clone .single_add_to_cart_button.disabled,
body.single-product .nasa-add-to-cart-fixed .woocommerce-variation-add-to-cart-clone .single_add_to_cart_button.disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
}

/* Icon pseudo-elements are hidden by default. When an SVG is configured,
   PHP adds a scoped rule that enables only that pseudo-element. */

/* Hover changes colors only; the button must never move or scale. */
.single-product form.cart button.single_add_to_cart_button:hover,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover,
.single-product .product-info .cart button.single_add_to_cart_button:hover { transform: none !important; animation: none !important; }
