/*
 * AIO WooCommerce Quantity Buttons
 * Version 1.0.3
 * Tight segmented quantity control for WooCommerce / Divi 5.
 */

.woocommerce .quantity.aio-wc-qty-ready,
.woocommerce-page .quantity.aio-wc-qty-ready,
.et_pb_wc_add_to_cart .quantity.aio-wc-qty-ready,
.quantity.aio-wc-qty-ready {
    display: inline-grid !important;
    grid-template-columns: 42px 42px 42px !important;
    align-items: stretch !important;
    vertical-align: middle !important;
    width: 126px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 18px 0 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.quantity.aio-wc-qty-ready > * {
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce .quantity.aio-wc-qty-ready input.qty,
.woocommerce-page .quantity.aio-wc-qty-ready input.qty,
.et_pb_wc_add_to_cart .quantity.aio-wc-qty-ready input.qty,
.quantity.aio-wc-qty-ready input[type="number"].qty,
input[type="number"].qty.aio-wc-qty-input {
    grid-column: 2 !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 46px !important;
    min-height: 46px !important;
    font-size: 18px !important;
    line-height: 46px !important;
    text-align: center !important;
    border: 0 !important;
    border-left: 1px solid #d8d8d8 !important;
    border-right: 1px solid #d8d8d8 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
    color: #111111 !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

.quantity.aio-wc-qty-ready input.qty::-webkit-inner-spin-button,
.quantity.aio-wc-qty-ready input.qty::-webkit-outer-spin-button,
input[type="number"].qty.aio-wc-qty-input::-webkit-inner-spin-button,
input[type="number"].qty.aio-wc-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.quantity.aio-wc-qty-ready .aio-wc-qty-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 46px !important;
    min-height: 46px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f4f4f4 !important;
    color: #111111 !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    user-select: none !important;
}

.quantity.aio-wc-qty-ready .aio-wc-qty-minus {
    grid-column: 1 !important;
}

.quantity.aio-wc-qty-ready .aio-wc-qty-plus {
    grid-column: 3 !important;
}

.quantity.aio-wc-qty-ready .aio-wc-qty-btn:hover,
.quantity.aio-wc-qty-ready .aio-wc-qty-btn:focus {
    background: #e8e8e8 !important;
    color: #111111 !important;
    outline: none !important;
}

.quantity.aio-wc-qty-ready .aio-wc-qty-btn:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: -3px !important;
}

.quantity.aio-wc-qty-ready .aio-wc-qty-btn:disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
}

.woocommerce div.product form.cart,
.woocommerce-page div.product form.cart,
.et_pb_wc_add_to_cart form.cart {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}

.woocommerce div.product form.cart .button,
.woocommerce-page div.product form.cart .button,
.et_pb_wc_add_to_cart form.cart .button {
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 767px) {
    .woocommerce .quantity.aio-wc-qty-ready,
    .woocommerce-page .quantity.aio-wc-qty-ready,
    .et_pb_wc_add_to_cart .quantity.aio-wc-qty-ready,
    .quantity.aio-wc-qty-ready {
        grid-template-columns: 46px 44px 46px !important;
        width: 136px !important;
        height: 50px !important;
        min-height: 50px !important;
        margin-right: 14px !important;
    }

    .quantity.aio-wc-qty-ready .aio-wc-qty-btn {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 48px !important;
        min-height: 48px !important;
        font-size: 25px !important;
    }

    .woocommerce .quantity.aio-wc-qty-ready input.qty,
    .woocommerce-page .quantity.aio-wc-qty-ready input.qty,
    .et_pb_wc_add_to_cart .quantity.aio-wc-qty-ready input.qty,
    .quantity.aio-wc-qty-ready input[type="number"].qty,
    input[type="number"].qty.aio-wc-qty-input {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 48px !important;
        min-height: 48px !important;
        line-height: 48px !important;
    }

    .woocommerce div.product form.cart .button,
    .woocommerce-page div.product form.cart .button,
    .et_pb_wc_add_to_cart form.cart .button {
        min-height: 50px !important;
    }
}
