/*
 * CARPE Quantity Plus Minus
 * Keeps WooCommerce input intact and adds visual minus/plus controls.
 */

.quantity.carpe-qty-enhanced {
    box-sizing: border-box !important;
    display: inline-grid;
    grid-template-columns: 38px 44px 38px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 120px !important;
    min-width: 120px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(176, 138, 69, 0.45) !important;
    background: transparent !important;
    float: none !important;
}

.quantity.carpe-qty-enhanced .carpe-qty-btn {
    all: unset !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0B0A08 !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    user-select: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.quantity.carpe-qty-enhanced .carpe-qty-btn:hover {
    background: rgba(11, 10, 8, 0.04) !important;
}

.quantity.carpe-qty-enhanced .carpe-qty-btn:disabled {
    opacity: 0.35 !important;
    cursor: default !important;
}

.quantity.carpe-qty-enhanced input.qty,
.woocommerce .quantity.carpe-qty-enhanced input.qty,
body.single-product .quantity.carpe-qty-enhanced input.qty {
    box-sizing: border-box !important;
    display: block !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0B0A08 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 52px !important;
    text-align: center !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

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

.quantity.carpe-qty-enhanced input.qty:focus,
.quantity.carpe-qty-enhanced input.qty:focus-visible,
.quantity.carpe-qty-enhanced .carpe-qty-btn:focus,
.quantity.carpe-qty-enhanced .carpe-qty-btn:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Better layout on product page when the add-to-cart form is custom-styled. */
body.single-product .elementor-add-to-cart form.cart {
    grid-template-columns: 120px minmax(0, 1fr) !important;
}

@media (max-width: 767px) {
    .quantity.carpe-qty-enhanced {
        grid-template-columns: 34px 40px 34px !important;
        width: 108px !important;
        min-width: 108px !important;
        height: 50px !important;
    }

    .quantity.carpe-qty-enhanced .carpe-qty-btn {
        width: 34px !important;
        height: 48px !important;
    }

    .quantity.carpe-qty-enhanced input.qty,
    .woocommerce .quantity.carpe-qty-enhanced input.qty,
    body.single-product .quantity.carpe-qty-enhanced input.qty {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 48px !important;
        line-height: 48px !important;
    }
}
