.clf-add-to-cart-qty-wrapper {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	position: relative;
}

.clf-qty-controls {
	display: flex;
	align-items: center;
	gap: 0;
}

.clf-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease;
	font-size: 18px;
	/* min-width: 44px;
	height: 44px; */
}

.clf-qty-btn-minus {
	border-radius: 4px 0 0 4px;
}

.clf-qty-btn-plus {
	border-radius: 0 4px 4px 0;
}

.clf-qty-input {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 600;
	-moz-appearance: textfield;
	border: 1px solid;
	border-color: #bbb;
}

.clf-qty-input::-webkit-outer-spin-button,
.clf-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.clf-add-to-cart-btn {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	/* min-height: 44px; */

	@media (width < 768px) {
		width: 92%;
	}
}

.clf-add-to-cart-icon {
	width: 44px;
	padding: 0;
}

.clf-add-to-cart-icon i,
.clf-add-to-cart-icon svg {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.clf-qty-message {
	display: none;
	font-size: 14px;
	text-align: center;
	padding: 8px;
	border-radius: 4px;
}

.clf-qty-message.success {
	display: block;
}

.clf-qty-message.error {
	display: block;
}

.added_to_cart.wc-forward {
	display: none;
}

.clf-add-to-cart-btn.loading {
	position: relative;
	color: transparent !important;
	pointer-events: none;
}

.clf-add-to-cart-btn.loading::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	top: 50%;
	left: 50%;
	margin-top: -8px;
	margin-left: -8px;
	border: 2px solid #fff;
	border-top-color: transparent;
	border-radius: 50%;
	animation: clf-spin 0.8s linear infinite;
}

@keyframes clf-spin {
	to {
		transform: rotate(360deg);
	}
}

.clf-add-to-cart-qty-wrapper.loading {
	pointer-events: none;
	opacity: 0.7;
}

.clf-add-to-cart-qty-wrapper.loading::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 50%;
	margin-top: -10px;
	margin-left: -10px;
	border: 2px solid #333;
	border-top-color: transparent;
	border-radius: 50%;
	animation: clf-spin 0.8s linear infinite;
}