.quantity {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: fit-content;
    overflow: hidden;
    margin: 5px 0;
}

.quantity button.quantity-minus,
.quantity button.quantity-plus {
    background-color: #f0f0f0;
    border: none;
    padding: 8px 12px;
    font-size: 1.2em;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
    flex-shrink: 0;
    line-height: 1;
    height: auto;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
}

.quantity button.quantity-minus:hover,
.quantity button.quantity-plus:hover {
    background-color: #e0e0e0;
}

.quantity button.quantity-minus:active,
.quantity button.quantity-plus:active {
    background-color: #d0d0d0;
}

.quantity .input-text.qty.text {
    border: none !important;
    text-align: center;
    width: 50px !important;
    padding: 8px 0;
    font-size: 1em;
    -moz-appearance: textfield;
    outline: none;
    box-shadow: none;
    height: auto;
    margin: 0;
    border-radius: 0;
}

.quantity .input-text.qty.text::-webkit-outer-spin-button,
.quantity .input-text.qty.text::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity button.quantity-minus:disabled,
.quantity button.quantity-plus:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #f0f0f0;
}