/**
 * Amazon-style quantity field CSS
 * Covers: archive add-to-cart, single add-to-cart, e-atc-qty-button-holder,
 * standard WooCommerce, JetWooBuilder, and listing-grid widgets.
 */

/* === Archive Add to Cart Widget === */
.elementor-widget-jet-woo-builder-archive-add-to-cart .quantity {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #d5d9d9 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    overflow: hidden !important;
    max-width: 100px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .quantity input.qty {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #0f1111 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 64px !important;
    height: 34px !important;
    line-height: 34px !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-appearance: textfield !important;
    -moz-appearance: textfield !important;
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    vertical-align: middle !important;
    text-indent: 0 !important;
    padding-left: 15px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    direction: ltr !important;
    unicode-bidi: normal !important;
    text-align-last: center !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
.elementor-widget-jet-woo-builder-archive-add-to-cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .quantity input.qty::-moz-number-spinner {
    -moz-appearance: none !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .qty-btn {
    position: absolute !important;
    width: 28px !important;
    height: 34px !important;
    background-color: #f0f2f2 !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #565959 !important;
    transition: background-color 0.15s ease !important;
    z-index: 2 !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .qty-decrement {
    left: 0 !important;
    border-right: 1px solid #d5d9d9 !important;
    border-radius: 7px 0 0 7px !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .qty-increment {
    right: 0 !important;
    border-left: 1px solid #d5d9d9 !important;
    border-radius: 0 7px 7px 0 !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .qty-btn:hover {
    background-color: #e3e6e6 !important;
}

.elementor-widget-jet-woo-builder-archive-add-to-cart .quantity:focus-within {
    border-color: #e77600 !important;
    box-shadow: 0 0 0 2px rgba(231, 118, 0, 0.2) !important;
}

@media (max-width: 768px) {
    .elementor-widget-jet-woo-builder-archive-add-to-cart .quantity {
        max-width: 100px !important;
        height: 32px !important;
    }
    .elementor-widget-jet-woo-builder-archive-add-to-cart .quantity input.qty {
        width: 88px !important;
        height: 30px !important;
        line-height: 30px !important;
        font-size: 13px !important;
    }
    .elementor-widget-jet-woo-builder-archive-add-to-cart .qty-btn {
        width: 24px !important;
        height: 30px !important;
        font-size: 14px !important;
    }
}

/* === Single Add to Cart Widget === */
.elementor-jet-single-add-to-cart .quantity {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #d5d9d9 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    overflow: hidden !important;
    max-width: 120px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-jet-single-add-to-cart .quantity input.qty {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #0f1111 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 64px !important;
    height: 34px !important;
    line-height: 34px !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-appearance: textfield !important;
    -moz-appearance: textfield !important;
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    vertical-align: middle !important;
    text-indent: 0 !important;
    padding-left: 15px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    direction: ltr !important;
    unicode-bidi: normal !important;
    text-align-last: center !important;
}

.elementor-jet-single-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
.elementor-jet-single-add-to-cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.elementor-jet-single-add-to-cart .quantity input.qty::-moz-number-spinner {
    -moz-appearance: none !important;
}

.elementor-jet-single-add-to-cart .qty-btn {
    position: absolute !important;
    width: 28px !important;
    height: 34px !important;
    background-color: #f0f2f2 !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #565959 !important;
    transition: background-color 0.15s ease !important;
    z-index: 2 !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-jet-single-add-to-cart .qty-decrement {
    left: 0 !important;
    border-right: 1px solid #d5d9d9 !important;
    border-radius: 7px 0 0 7px !important;
}

.elementor-jet-single-add-to-cart .qty-increment {
    right: 0 !important;
    border-left: 1px solid #d5d9d9 !important;
    border-radius: 0 7px 7px 0 !important;
}

.elementor-jet-single-add-to-cart .qty-btn:hover {
    background-color: #e3e6e6 !important;
}

.elementor-jet-single-add-to-cart .quantity:focus-within {
    border-color: #e77600 !important;
    box-shadow: 0 0 0 2px rgba(231, 118, 0, 0.2) !important;
}

@media (max-width: 768px) {
    .elementor-jet-single-add-to-cart .quantity {
        max-width: 100px !important;
        height: 32px !important;
    }
    .elementor-jet-single-add-to-cart .quantity input.qty {
        width: 78px !important;
        height: 30px !important;
        line-height: 30px !important;
        font-size: 13px !important;
    }
    .elementor-jet-single-add-to-cart .qty-btn {
        width: 24px !important;
        height: 30px !important;
        font-size: 14px !important;
    }
}

/* === e-atc-qty-button-holder === */
.e-atc-qty-button-holder .quantity {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #d5d9d9 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    overflow: hidden !important;
    max-width: 120px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.e-atc-qty-button-holder .quantity input.qty {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #0f1111 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 64px !important;
    height: 34px !important;
    line-height: 34px !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-appearance: textfield !important;
    -moz-appearance: textfield !important;
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    vertical-align: middle !important;
    text-indent: 0 !important;
    padding-left: 0px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    direction: ltr !important;
    unicode-bidi: normal !important;
    text-align-last: center !important;
}

.e-atc-qty-button-holder .quantity input.qty::-webkit-outer-spin-button,
.e-atc-qty-button-holder .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.e-atc-qty-button-holder .quantity input.qty::-moz-number-spinner {
    -moz-appearance: none !important;
}

.e-atc-qty-button-holder .quantity .qty-btn {
    position: absolute !important;
    width: 28px !important;
    height: 34px !important;
    background-color: #f0f2f2 !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #565959 !important;
    transition: background-color 0.15s ease !important;
    z-index: 2 !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.e-atc-qty-button-holder .quantity .qty-btn.qty-minus {
    left: 0 !important;
    border-right: 1px solid #d5d9d9 !important;
    border-radius: 7px 0 0 7px !important;
}

.e-atc-qty-button-holder .quantity .qty-btn.qty-plus {
    right: 0 !important;
    border-left: 1px solid #d5d9d9 !important;
    border-radius: 0 7px 7px 0 !important;
}

.e-atc-qty-button-holder .quantity .qty-btn:hover {
    background-color: #e3e6e6 !important;
}

.e-atc-qty-button-holder .quantity:focus-within {
    border-color: #e77600 !important;
    box-shadow: 0 0 0 2px rgba(231, 118, 0, 0.2) !important;
}

@media (max-width: 768px) {
    .e-atc-qty-button-holder .quantity {
        max-width: 100px !important;
        height: 32px !important;
    }
    .e-atc-qty-button-holder .quantity input.qty {
        width: 40px !important;
        height: 30px !important;
        line-height: 30px !important;
        font-size: 13px !important;
    }
    .e-atc-qty-button-holder .quantity .qty-btn {
        width: 24px !important;
        height: 30px !important;
        font-size: 14px !important;
    }
}

/* === Standard WooCommerce + JetWooBuilder + Listing Grid === */
.woocommerce .quantity,
.woocommerce-page .quantity,
.quantity,
.woocommerce div.product .quantity,
.woocommerce div.product form.cart .quantity,
.woocommerce div.product .related.products .quantity,
.woocommerce div.product .related.products ul.products li.product .quantity,
.woocommerce .up-sells .quantity,
.woocommerce .cross-sells .quantity,
.jet-woo-builder .quantity,
.jet-woo-builder-archive-add-to-cart .quantity,
.elementor-widget-jet-listing-grid .quantity,
.jet-listing-grid .quantity {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #d5d9d9 !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    overflow: hidden !important;
    max-width: 120px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jet-woo-builder .quantity input.qty,
.jet-woo-builder-archive-add-to-cart .quantity input.qty,
.elementor-widget-jet-listing-grid .quantity input.qty,
.jet-listing-grid .quantity input.qty {
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #0f1111 !important;
    padding: 0 !important;
    padding-right: 0px !important;
    padding-left: 35px !important;
    margin: 0 !important;
    width: 7px;
    height: 34px;
    line-height: 34px !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-appearance: textfield !important;
    -moz-appearance: textfield !important;
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    vertical-align: middle !important;
    text-indent: 0 !important;
    padding-left: 55px;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    direction: ltr !important;
    unicode-bidi: normal !important;
    text-align-last: center !important;
}

/* Mobile: Standard WooCommerce quantity */
@media (max-width: 768px) {
    .woocommerce .quantity,
    .woocommerce-page .quantity,
    .quantity,
    .woocommerce div.product .quantity,
    .woocommerce div.product form.cart .quantity,
    .woocommerce div.product .related.products .quantity,
    .woocommerce div.product .related.products ul.products li.product .quantity,
    .woocommerce .up-sells .quantity,
    .woocommerce .cross-sells .quantity {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        border: 1px solid #d5d9d9 !important;
        border-radius: 8px !important;
        background-color: #fff !important;
        overflow: hidden !important;
        max-width: 120px !important;
        height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce .quantity input.qty,
    .woocommerce-page .quantity input.qty,
    .quantity input.qty,
    .woocommerce div.product .quantity input.qty,
    .woocommerce div.product form.cart .quantity input.qty,
    .woocommerce div.product .related.products .quantity input.qty,
    .woocommerce div.product .related.products ul.products li.product .quantity input.qty,
    .woocommerce .up-sells .quantity input.qty,
    .woocommerce .cross-sells .quantity input.qty {
        border: none !important;
        background: transparent !important;
        text-align: center !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #0f1111 !important;
        padding: 0 !important;
        padding-right: 0px !important;
        padding-left: 5px !important;
        margin: 0 !important;
        width: 7px;
        height: 34px;
        line-height: 34px !important;
        outline: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        -webkit-appearance: textfield !important;
        -moz-appearance: textfield !important;
        position: relative !important;
        z-index: 1 !important;
        display: block !important;
        vertical-align: middle !important;
        text-indent: 0 !important;
        padding-left: 5px;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        direction: ltr !important;
        unicode-bidi: normal !important;
        text-align-last: center !important;
    }
}

/* Hide native browser spinners */
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-page .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-page .quantity input.qty::-webkit-inner-spin-button,
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product .related.products .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product .related.products .quantity input.qty::-webkit-inner-spin-button,
.woocommerce .up-sells .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .up-sells .quantity input.qty::-webkit-inner-spin-button,
.woocommerce .cross-sells .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .cross-sells .quantity input.qty::-webkit-inner-spin-button,
.jet-woo-builder .quantity input.qty::-webkit-outer-spin-button,
.jet-woo-builder .quantity input.qty::-webkit-inner-spin-button,
.jet-woo-builder-archive-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
.jet-woo-builder-archive-add-to-cart .quantity input.qty::-webkit-inner-spin-button,
.elementor-widget-jet-listing-grid .quantity input.qty::-webkit-outer-spin-button,
.elementor-widget-jet-listing-grid .quantity input.qty::-webkit-inner-spin-button,
.jet-listing-grid .quantity input.qty::-webkit-outer-spin-button,
.jet-listing-grid .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.woocommerce .quantity input.qty::-moz-number-spinner,
.woocommerce-page .quantity input.qty::-moz-number-spinner,
.quantity input.qty::-moz-number-spinner {
    -moz-appearance: none !important;
}

/* Focus state */
.woocommerce .quantity:focus-within,
.woocommerce-page .quantity:focus-within,
.quantity:focus-within {
    border-color: #e77600 !important;
    box-shadow: 0 0 0 2px rgba(231, 118, 0, 0.2) !important;
}
