/*
 * KingSoft / Osapa 2.2.4 migration — Phase 9
 * Pixel-perfect single-product quantity control: - 1 +
 *
 * Phase 8 restored the flex row, but the parent theme still left the number
 * input at 42/45px while the migrated child stylesheet forced the +/- buttons
 * to 30px. That produced the small dropped underline visible under the value.
 * Make all three cells one 30px-high control and keep the fix scoped to the
 * single-product add-to-cart form only.
 */
.single-product #content div.product .summary form.cart .quantity,
.single-product #content div.product .summary .cart .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: none !important;
    height: 30px !important;
    min-height: 30px !important;
    overflow: visible !important;
    line-height: 30px !important;
}

.single-product #content div.product .summary form.cart .quantity > .svg-minus,
.single-product #content div.product .summary form.cart .quantity > .svg-plus,
.single-product #content div.product .summary .cart .quantity > .svg-minus,
.single-product #content div.product .summary .cart .quantity > .svg-plus {
    display: block !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: stretch !important;
    overflow: visible !important;
}

.single-product #content div.product .summary form.cart .quantity > .svg-minus input,
.single-product #content div.product .summary form.cart .quantity > .svg-plus input,
.single-product #content div.product .summary .cart .quantity > .svg-minus input,
.single-product #content div.product .summary .cart .quantity > .svg-plus input {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 30px !important;
    box-sizing: border-box !important;
}

.single-product #content div.product .summary form.cart .quantity > input.qty,
.single-product #content div.product .summary .cart .quantity > input.qty {
    display: block !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    align-self: stretch !important;
    line-height: 30px !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    border: 1px solid #e5e5e5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
}

.single-product #content div.product .summary form.cart .quantity > input.qty::-webkit-outer-spin-button,
.single-product #content div.product .summary form.cart .quantity > input.qty::-webkit-inner-spin-button,
.single-product #content div.product .summary .cart .quantity > input.qty::-webkit-outer-spin-button,
.single-product #content div.product .summary .cart .quantity > input.qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

/* Keep the three cells visually joined as one control. */
.single-product #content div.product .summary form.cart .quantity .minus,
.single-product #content div.product .summary .cart .quantity .minus {
    border-right: 0 !important;
}

.single-product #content div.product .summary form.cart .quantity .plus,
.single-product #content div.product .summary .cart .quantity .plus {
    border-left: 0 !important;
}
