/* WRAPPER */
.rzq-quantity-wrapper {
	position: relative !important;
	display: flex !important;
	width: 100% !important;
	justify-content: inherit !important;
	align-items: inherit !important;
	box-sizing: border-box !important;
}

.rzq-quantity-wrapper.has-qty {
	min-height: 38px !important;
}

/* WHEN ADDED TO CART: HIDE ORIGINAL BUTTON */
.rzq-quantity-wrapper.has-qty .add_to_cart_button {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* WOOCOMMERCE VIEW CART LINK FIX */
.rzq-quantity-wrapper .added_to_cart {
	display: none !important;
}

/* CUSTOM QTY BOX */
.rzq-quantity-wrapper .qty-box {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	border: 1px solid #008000 !important;
	background: #fff !important;
	overflow: hidden !important;
	z-index: 99 !important;
	height: 38px !important;
	min-height: 38px !important;
	width: 100% !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;

	/* Hidden / Transition styles */
	opacity: 0 !important;
	visibility: hidden !important;
	transform: scale(.96) !important;
	transition: opacity .30s ease, transform .30s ease, visibility .30s ease !important;
}

/* SHOW QTY BOX WHEN HAS-QTY CLASS IS PRESENT */
.rzq-quantity-wrapper.has-qty .qty-box {
	opacity: 1 !important;
	visibility: visible !important;
	transform: scale(1) !important;
}

/* QTY BUTTONS (+ / -) */
.rzq-quantity-wrapper .qty-btn {
	flex: 0 0 48px !important;
	width: 48px !important;
	min-width: 48px !important;
	max-width: 48px !important;
	height: 100% !important;
	border: none !important;
	background: #008000 !important;
	color: #fff !important;
	font-size: 24px !important;
	cursor: pointer !important;
	transition: .2s !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-transform: none !important;
	box-sizing: border-box !important;
}

.rzq-quantity-wrapper .qty-btn:hover {
	filter: brightness(.95) !important;
	background: #008000 !important;
	color: #fff !important;
}

/* QTY VALUE TEXT */
.rzq-quantity-wrapper .qty {
	flex: 1 1 auto !important;
	min-width: 20px !important;
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	font-family: 'Open Sans', sans-serif !important;
	color: #008000 !important;
	user-select: none !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
	box-sizing: border-box !important;
}

/* LOADING SPINNER OVERLAY */
.rzq-quantity-wrapper.is-loading .qty-box::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: rgba(255, 255, 255, 0.6) !important;
	z-index: 15 !important;
}

.rzq-quantity-wrapper.is-loading::before {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 20px !important;
	height: 20px !important;
	margin-top: -10px !important;
	margin-left: -10px !important;
	border: 2px solid #008000 !important;
	border-top-color: transparent !important;
	border-radius: 50% !important;
	animation: rzq-spin 0.6s linear infinite !important;
	z-index: 100 !important;
}

@keyframes rzq-spin {
	100% {
		transform: rotate(360deg);
	}
}