.dnm-sticky-contact {
	position: fixed;
	right: 20px;
	top: 50%;
	z-index: 999;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	transform: translateY(-50%);
	pointer-events: auto;
}

.dnm-sticky-contact__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	text-decoration: none;
	transition: transform 0.25s ease;
}

.dnm-sticky-contact__item:hover,
.dnm-sticky-contact__item.is-tooltip-active {
	transform: scale(1.12);
}

.dnm-sticky-contact__item::before,
.dnm-sticky-contact__item::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	pointer-events: none;
	box-sizing: border-box;
}

.dnm-sticky-contact__item::before {
	border: 2px solid rgba(1, 160, 226, 0.7);
	animation: dnm-sticky-contact-ring 2s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}

.dnm-sticky-contact__item::after {
	background: rgba(1, 160, 226, 0.22);
	animation: dnm-sticky-contact-ring 2s cubic-bezier(0.2, 0.8, 0.2, 1) infinite 0.5s;
}

.dnm-sticky-contact__item img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	transform-origin: center center;
	animation: dnm-sticky-contact-shake 2.5s ease-in-out infinite;
	box-shadow: 0 4px 12px rgba(1, 160, 226, 0.35);
}

.dnm-sticky-contact__item:hover img,
.dnm-sticky-contact__item.is-tooltip-active img {
	animation-duration: 0.8s;
}

.dnm-sticky-contact__item:nth-child(1) img,
.dnm-sticky-contact__item:nth-child(1)::before,
.dnm-sticky-contact__item:nth-child(1)::after {
	animation-delay: 0s;
}

.dnm-sticky-contact__item:nth-child(2) img,
.dnm-sticky-contact__item:nth-child(2)::before,
.dnm-sticky-contact__item:nth-child(2)::after {
	animation-delay: 0.35s;
}

.dnm-sticky-contact__item:nth-child(3) img,
.dnm-sticky-contact__item:nth-child(3)::before,
.dnm-sticky-contact__item:nth-child(3)::after {
	animation-delay: 0.7s;
}

.dnm-sticky-contact__item:nth-child(4) img,
.dnm-sticky-contact__item:nth-child(4)::before,
.dnm-sticky-contact__item:nth-child(4)::after {
	animation-delay: 1.05s;
}

.dnm-sticky-contact__tooltip {
	position: fixed;
	right: 70px;
	top: 50%;
	z-index: 4;
	display: block;
	width: max-content;
	max-width: min(320px, calc(100vw - 110px));
	padding: 8px 12px;
	border-radius: 8px;
	background: rgb(31 31 31 / 40%);
	color: #fff;
	font-size: 8px;
	font-weight: 400;
	line-height: 1.25;
	white-space: nowrap;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16);
	opacity: 0;
	visibility: hidden;
	transform: translate(10px, -50%);
	transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
	pointer-events: none;
}

.dnm-sticky-contact__tooltip::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -7px;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid rgba(31, 31, 31, 0.92);
	transform: translateY(-50%);
}

.dnm-sticky-contact__item.is-tooltip-active .dnm-sticky-contact__tooltip {
	opacity: 1;
	visibility: visible;
}

@keyframes dnm-sticky-contact-ring {
	0% {
		transform: scale(0.92);
		opacity: 0.9;
	}
	60% {
		opacity: 0.35;
	}
	100% {
		transform: scale(1.48);
		opacity: 0;
	}
}

@keyframes dnm-sticky-contact-shake {
	0% {
		transform: rotate(0deg) scale(1);
	}
	3% {
		transform: rotate(-14deg) scale(1.05);
	}
	6% {
		transform: rotate(14deg) scale(1.05);
	}
	9% {
		transform: rotate(-14deg) scale(1.05);
	}
	12% {
		transform: rotate(14deg) scale(1.05);
	}
	15% {
		transform: rotate(-8deg) scale(1.02);
	}
	18% {
		transform: rotate(8deg) scale(1.02);
	}
	21% {
		transform: rotate(0deg) scale(1);
	}
	100% {
		transform: rotate(0deg) scale(1);
	}
}

@media (max-width: 640px) {
	.dnm-sticky-contact {
		right: 8px;
		gap: 8px;
	}

	.dnm-sticky-contact__item {
		width: 40px;
		height: 40px;
	}

	.dnm-sticky-contact__tooltip {
		right: 48px;
		max-width: calc(100vw - 74px);
		padding: 7px 10px;
		border-radius: 8px;
		font-size: 7px;
		white-space: normal;
	}

}
