.mmfb-floating-buttons {
	position: fixed;
	bottom: 24px;
	z-index: 9998;
	display: flex;
	flex-direction: column;
	gap: var(--mmfb-spacing, 14px);
}

.mmfb-position-right {
	right: 24px;
}

.mmfb-position-left {
	left: 24px;
}

.mmfb-button {
	--mmfb-button-bg: #111827;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 999px;
	background: var(--mmfb-button-bg);
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22);
	transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.mmfb-button svg {
	display: block;
	width: 28px;
	height: 28px;
}

.mmfb-cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border: 2px solid #ffffff;
	border-radius: 999px;
	background: #0f172a;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
	box-sizing: border-box;
}

.mmfb-effects-enabled .mmfb-button:hover,
.mmfb-effects-enabled .mmfb-button:focus-visible {
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.28);
	filter: saturate(1.04);
}

.mmfb-effects-disabled .mmfb-button {
	transition: none;
}

.mmfb-button:focus-visible {
	outline: 3px solid rgba(15, 23, 42, 0.22);
	outline-offset: 3px;
}

@media (max-width: 782px) {
	.mmfb-floating-buttons {
		bottom: 18px;
	}

	.mmfb-position-right {
		right: 18px;
	}

	.mmfb-position-left {
		left: 18px;
	}

	.mmfb-button {
		width: 56px;
		height: 56px;
	}

	.mmfb-button svg {
		width: 25px;
		height: 25px;
	}
}
