/**
 * Elementor Widget: Back to Top & CTA buttons
 */

/* Wrap không nhận click; chỉ nút nhận click → tránh click đâu cũng bị scroll về đầu */
.vdc-cta-buttons-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	z-index: 99999;
	pointer-events: none;
}
.vdc-cta-buttons-wrap .vdc-cta-back-to-top,
.vdc-cta-buttons-wrap .vdc-cta-btn {
	pointer-events: auto;
}

.vdc-cta-buttons-wrap--fixed {
	position: fixed;
}

.vdc-cta-back-to-top,
.vdc-cta-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 50% !important;
	width: 54px !important;
	height: 54px !important;
	min-width: 54px !important;
	min-height: 54px !important;
	overflow: hidden;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.vdc-cta-back-to-top i,
.vdc-cta-back-to-top svg,
.vdc-cta-back-to-top img,
.vdc-cta-btn i,
.vdc-cta-btn svg,
.vdc-cta-btn img {
	display: block;
	flex-shrink: 0;
	font-size: 24px !important;
}

.vdc-cta-back-to-top svg,
.vdc-cta-back-to-top img,
.vdc-cta-btn svg,
.vdc-cta-btn img {
	width: 24px !important;
	height: 24px !important;
	object-fit: contain;
}

.vdc-cta-back-to-top:focus,
.vdc-cta-btn:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Shake & Pulse Animation Effect (Devvn Style) */
.vdc-cta-btn {
	animation: devvn_zoom 1.5s infinite linear;
	box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
}

.vdc-cta-btn i,
.vdc-cta-btn svg {
	animation: calltrap_spin 3s infinite linear;
	transform-origin: center;
}

.vdc-cta-btn:hover,
.vdc-cta-btn:hover i,
.vdc-cta-btn:hover svg {
	animation-play-state: paused;
}

/* Staggered delay for each floating button's icon to create sequential spinning/shaking */
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(1) i,
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(1) svg {
	animation-delay: 0.1s;
}
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(2) i,
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(2) svg {
	animation-delay: 0.3s;
}
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(3) i,
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(3) svg {
	animation-delay: 0.5s;
}
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(4) i,
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(4) svg {
	animation-delay: 0.7s;
}
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(5) i,
.vdc-cta-buttons-wrap .vdc-cta-btn:nth-of-type(5) svg {
	animation-delay: 0.9s;
}

@keyframes devvn_zoom {
	0% {
		box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
	}
	70% {
		box-shadow: 0 0 0 15px rgba(34, 197, 94, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
	}
}

@keyframes calltrap_spin {
	0%, 30%, 57%, 100% {
		transform: rotate(0deg);
	}
	33%, 39%, 45%, 51% {
		transform: rotate(-10deg);
	}
	36%, 42%, 48%, 54% {
		transform: rotate(10deg);
	}
}


