.chfl-button {
	position: fixed;
	display: flex;
	align-items: center;
	gap: 10px;
	z-index: var(--chfl-zindex, 999999);
}

.chfl-pos-bottom-right {
	right: var(--chfl-offset-x, 20px);
	bottom: var(--chfl-offset-y, 20px);
	flex-direction: row-reverse;
}

.chfl-pos-bottom-left {
	left: var(--chfl-offset-x, 20px);
	bottom: var(--chfl-offset-y, 20px);
	flex-direction: row;
}

.chfl-pos-bottom-center {
	left: 50%;
	bottom: var(--chfl-offset-y, 20px);
	transform: translateX(-50%);
	flex-direction: row-reverse;
}

.chfl-pos-top-right {
	right: var(--chfl-offset-x, 20px);
	top: var(--chfl-offset-y, 20px);
	flex-direction: row-reverse;
}

.chfl-pos-top-left {
	left: var(--chfl-offset-x, 20px);
	top: var(--chfl-offset-y, 20px);
	flex-direction: row;
}

.chfl-button-link {
	width: var(--chfl-size, 60px);
	height: var(--chfl-size, 60px);
	background-color: var(--chfl-bg, #25D366);
	color: var(--chfl-icon-color, #fff);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	flex-shrink: 0;
}

.chfl-icon-svg {
	width: 60%;
	height: 60%;
	fill: var(--chfl-icon-color, #fff);
}

.chfl-icon-img {
	width: 60%;
	height: 60%;
	object-fit: contain;
}

.chfl-label {
	background: #fff;
	color: #333;
	padding: 8px 14px;
	border-radius: 6px;
	font-size: 14px;
	white-space: nowrap;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
	text-decoration: none;
}

.chfl-anim-pulse .chfl-button-link {
	animation: chfl-pulse 2s infinite;
}

@keyframes chfl-pulse {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5); }
	70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

.chfl-anim-bounce .chfl-button-link {
	animation: chfl-bounce 1.6s infinite;
}

@keyframes chfl-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

@media (max-width: 782px) {
	.chfl-hide-mobile { display: none !important; }
}

@media (min-width: 783px) {
	.chfl-hide-desktop { display: none !important; }
}
