div.quantity {
    --wd-form-height: 42px;
    display: inline-flex;
    vertical-align: top;
    white-space: nowrap
}

div.quantity input[type=number]::-webkit-inner-spin-button,
div.quantity input[type=number]::-webkit-outer-spin-button,
div.quantity input[type="number"] {
    margin: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

div.quantity :is(input[type="number"], input[type="text"], input[type="button"]) {
    display: inline-block;
    color: var(--wd-form-color);
    min-height: var(--wd-form-height);
    height: unset
}

div.quantity input[type="number"] {
    width: 30px;
    border-radius: 0;
    border-right: none;
    border-left: none
}

div.quantity input[type="text"] {
    width: var(--quantity-space, 80px);
    text-align: center
}

div.quantity input[type="button"] {
    padding: 0 5px;
    min-width: 25px;
    border: var(--wd-form-brd-width) solid var(--wd-form-brd-color);
    background: var(--wd-form-bg);
    box-shadow: none
}

div.quantity .minus {
    border-start-start-radius: var(--wd-form-brd-radius);
    border-end-start-radius: var(--wd-form-brd-radius)
}

div.quantity .plus {
    border-start-end-radius: var(--wd-form-brd-radius);
    border-end-end-radius: var(--wd-form-brd-radius)
}

div.quantity.hidden {
    display: none !important
}

.form-style-underlined div.quantity input[type="number"],
.form-style-underlined div.quantity input[type="text"] {
    border-top-style: solid
}

@-moz-document url-prefix() {
    div.quantity input[type="number"] {
        -webkit-appearance: textfield;
        -moz-appearance: textfield;
        appearance: textfield
    }
}