.product-purchase { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.product-purchase > strong { flex: 1; align-self: center; font-size: 20px; overflow-wrap: anywhere; }
.product-quantity label { margin: 0 0 7px; }
.product-quantity-controls { display: flex; width: 148px; height: var(--control-height); border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.product-quantity-controls button { flex: 0 0 42px; border: 0; border-radius: 5px; background: transparent; color: var(--wine); font-size: 22px; line-height: 1; }
.product-quantity-controls button:hover:not(:disabled) { background: var(--paper); }
.product-quantity-controls button:disabled { cursor: default; }
.product-quantity-controls input { width: 62px; min-width: 0; height: 100%; min-height: 0; padding: 0 4px; border: 0; border-radius: 0; background: transparent; text-align: center; font-size: 16px; appearance: textfield; -moz-appearance: textfield; }
.product-quantity-controls input::-webkit-inner-spin-button, .product-quantity-controls input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.product-quantity-controls input[aria-invalid="true"] { color: var(--wine); }
#detail-quantity-message { color: var(--wine); }
@media (max-width: 450px) {
    .product-purchase { gap: 14px; }
    .product-purchase > .button { width: 100%; }
}
