.woocommerce .quantity.khs-quantity-controls {
	display: inline-grid;
	grid-template-areas:
		"plus input minus"
		"message message message";
	grid-template-columns: 2.75rem 2.25rem 2.75rem;
	column-gap: 0 !important;
	row-gap: 0;
	align-items: center;
	direction: rtl;
	vertical-align: top;
}

/* Some themes add a visible "Quantity" label with a pseudo-element. */
.woocommerce .quantity.khs-quantity-controls::before {
	display: none !important;
	content: none !important;
}

.woocommerce .quantity.khs-quantity-controls input.qty {
	grid-area: input;
	width: 2.25rem;
	min-width: 2.25rem;
	max-width: 2.25rem;
	min-height: 2.75rem;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	appearance: textfield;
	direction: ltr;
	text-align: center;
}

.woocommerce .quantity.khs-quantity-controls input.qty::-webkit-inner-spin-button,
.woocommerce .quantity.khs-quantity-controls input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.woocommerce .quantity .khs-qty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit;
	font-size: 1.125rem;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
	transition: opacity 0.15s ease;
}

.woocommerce .quantity .khs-qty-button--plus {
	grid-area: plus;
}

.woocommerce .quantity .khs-qty-button--minus {
	grid-area: minus;
}

.woocommerce .quantity .khs-qty-button:hover:not(:disabled) {
	background: transparent !important;
	opacity: 0.68;
}

.woocommerce .quantity .khs-qty-button:focus-visible {
	position: relative;
	z-index: 1;
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.woocommerce .quantity .khs-qty-button:disabled,
.woocommerce .quantity .khs-qty-button[aria-disabled="true"] {
	opacity: 0.42;
	cursor: not-allowed;
	filter: grayscale(0.35);
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	align-self: flex-start;
}

.woocommerce form.variations_form .quantity.khs-quantity-controls[data-khs-variation-ready="false"] input.qty {
	opacity: 0.42;
	cursor: not-allowed;
}

.woocommerce .quantity .khs-qty-limit-message {
	grid-area: message;
	max-width: 18rem;
	margin-block-start: 0.35rem;
	color: #5f6368;
	font-size: 0.75rem;
	line-height: 1.6;
	direction: rtl;
	text-align: center;
}

.woocommerce .quantity .khs-qty-limit-message[hidden] {
	display: none !important;
}

@media (max-width: 767px) {
	.woocommerce .quantity.khs-quantity-controls {
		grid-template-columns: 2.75rem 2.25rem 2.75rem;
	}

	.woocommerce .quantity .khs-qty-button,
	.woocommerce .quantity.khs-quantity-controls input.qty {
		min-height: 2.75rem;
	}
}
