/**
 * Floating WhatsApp Button - Front-End Styles
 */

.fab-wa-btn {
	position: fixed;
	z-index: 999999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	outline: none;
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
	cursor: pointer;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.fab-wa-icon-wrapper {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	transition: all 0.3s ease;
}

/* Corner Positions */
.fab-wa-corner-bottom-right {
	bottom: 25px;
	right: 25px;
}

.fab-wa-corner-bottom-left {
	bottom: 25px;
	left: 25px;
	flex-direction: row-reverse;
}

.fab-wa-corner-top-right {
	top: 25px;
	right: 25px;
}

.fab-wa-corner-top-left {
	top: 25px;
	left: 25px;
	flex-direction: row-reverse;
}

/* Themes */
/* Original Theme */
.fab-wa-theme-original .fab-wa-icon-wrapper {
	background-color: #25D366;
	color: #FFFFFF;
}
.fab-wa-theme-original:hover .fab-wa-icon-wrapper {
	background-color: #20ba5a;
	box-shadow: 0 6px 20px rgba(37, 211, 102, 0.45);
	transform: scale(1.08);
}

/* Dark Theme */
.fab-wa-theme-dark .fab-wa-icon-wrapper {
	background-color: #1e293b;
	color: #25D366;
	border: 1px solid rgba(255, 255, 255, 0.1);
}
.fab-wa-theme-dark:hover .fab-wa-icon-wrapper {
	background-color: #0f172a;
	color: #25D366;
	box-shadow: 0 6px 20px rgba(15, 23, 42, 0.5);
	transform: scale(1.08);
}

/* White Theme */
.fab-wa-theme-white .fab-wa-icon-wrapper {
	background-color: #FFFFFF;
	color: #25D366;
	border: 1px solid #e2e8f0;
}
.fab-wa-theme-white:hover .fab-wa-icon-wrapper {
	background-color: #f8fafc;
	color: #128C7E;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
	transform: scale(1.08);
}

/* Tooltip Callout */
.fab-wa-tooltip {
	opacity: 0;
	visibility: hidden;
	background: #1e293b;
	color: #ffffff;
	font-size: 13px;
	font-weight: 500;
	padding: 7px 14px;
	border-radius: 20px;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
	pointer-events: none;
	margin: 0 12px;
}

.fab-wa-btn:hover .fab-wa-tooltip {
	opacity: 1;
	visibility: visible;
}

/* Animations */
/* 1. Pulse Animation */
.fab-wa-anim-pulse .fab-wa-icon-wrapper {
	animation: fabWaPulse 2s infinite;
}

@keyframes fabWaPulse {
	0% {
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
	}
	70% {
		box-shadow: 0 0 0 18px rgba(37, 211, 102, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
	}
}

.fab-wa-theme-dark.fab-wa-anim-pulse .fab-wa-icon-wrapper {
	animation: fabWaPulseDark 2s infinite;
}

@keyframes fabWaPulseDark {
	0% {
		box-shadow: 0 0 0 0 rgba(30, 41, 59, 0.7);
	}
	70% {
		box-shadow: 0 0 0 18px rgba(30, 41, 59, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(30, 41, 59, 0);
	}
}

/* 2. Bounce Animation */
.fab-wa-anim-bounce {
	animation: fabWaBounce 2.5s infinite;
}

@keyframes fabWaBounce {
	0%, 20%, 50%, 80%, 100% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-12px);
	}
	60% {
		transform: translateY(-6px);
	}
}

/* 3. Shake Animation */
.fab-wa-anim-shake {
	animation: fabWaShake 3.5s infinite;
}

@keyframes fabWaShake {
	0%, 85%, 100% {
		transform: rotate(0deg);
	}
	88% {
		transform: rotate(-12deg);
	}
	91% {
		transform: rotate(12deg);
	}
	94% {
		transform: rotate(-8deg);
	}
	97% {
		transform: rotate(8deg);
	}
}

/* 4. None (Static) */
.fab-wa-anim-none {
	animation: none !important;
}

/* Mobile responsiveness */
@media (max-width: 600px) {
	.fab-wa-icon-wrapper {
		width: 52px;
		height: 52px;
	}
	.fab-wa-icon-wrapper svg {
		width: 28px;
		height: 28px;
	}
	.fab-wa-corner-bottom-right {
		bottom: 18px;
		right: 18px;
	}
	.fab-wa-corner-bottom-left {
		bottom: 18px;
		left: 18px;
	}
	.fab-wa-corner-top-right {
		top: 18px;
		right: 18px;
	}
	.fab-wa-corner-top-left {
		top: 18px;
		left: 18px;
	}
	.fab-wa-tooltip {
		display: none;
	}
}
