.bsm-cart-widget {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.bsm-cart-widget__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	border-radius: 999px;
	background-color: #b9b9b9;
	color: #ffffff;
	text-decoration: none;
	border: none;
	box-shadow: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
	color: #ffffff !important;
}

.bsm-cart-widget__button:hover,
.bsm-cart-widget__button:focus-visible {
	background-color: #ff6601;
	color: #ffffff;
	transform: translateY(-1px);
}

.bsm-cart-widget__button .elementor-button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.bsm-cart-widget__icon-default {
	display: inline-flex;
}

.bsm-cart-widget__button svg {
	width: 20px;
	height: 20px;
	fill: #ffffff;
}

.bsm-cart-widget__message {
	display:none;
	position: absolute;
	left: 50%;
	top: calc(100% + 4px);
	transform: translateX(-50%);
	font-size: 0.9rem;
	color: #4b5563;
	margin: 0;
	white-space: nowrap;
}

.bsm-cart-widget__message a {
	color: inherit;
	text-decoration: underline;
}

.bsm-cart-widget__message a:hover,
.bsm-cart-widget__message a:focus {
	color: #ff6601;
}

.bsm-cart-widget .added_to_cart.wc-forward {
	position: absolute;
	left: 50%;
	top: calc(100% + 4px);
	transform: translateX(-50%);
	white-space: nowrap;
	font-size: 0.9rem;
	color: #4b5563;
	padding: 0;
	background: transparent;
	text-decoration: underline;
	display:none;
}

.bsm-cart-widget .added_to_cart.wc-forward:hover,
.bsm-cart-widget .added_to_cart.wc-forward:focus {
	color: #ff6601;
}

.bsm-cart-widget--error .bsm-cart-widget__message {
	position: static;
	transform: none;
	color: #a12626;
}

.bsm-cart-widget__icon-loading {
	display: none;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
}

.bsm-cart-widget__spinner {
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: bsm-cart-spin 0.8s linear infinite;
}

.bsm-cart-widget__button.loading .bsm-cart-widget__icon-default {
	display: none;
}

.bsm-cart-widget__button.loading .bsm-cart-widget__icon-loading {
	display: inline-flex;
}

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