.fsc-floating-social-contact {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}

.fsc-floating-social-contact__item {
	--fsc-glow-color: rgba(36, 107, 206, 0.22);
	width: 52px;
	height: 52px;
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--fsc-item-bg, #246bce);
	border: 0;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.24s ease, box-shadow 0.24s ease, opacity 0.24s ease;
	opacity: 0.96;
	overflow: visible;
	animation: fsc-soft-float 3.4s ease-in-out infinite;
}

.fsc-floating-social-contact__item::before {
	content: "";
	position: absolute;
	inset: -8px;
	border-radius: inherit;
	background: radial-gradient(circle, var(--fsc-glow-color) 0%, rgba(255, 255, 255, 0.02) 45%, rgba(255, 255, 255, 0) 74%);
	opacity: 0.55;
	transform: scale(0.96);
	transition: opacity 0.24s ease, transform 0.24s ease;
	pointer-events: none;
}

.fsc-floating-social-contact__item::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 60%);
	opacity: 0.8;
	pointer-events: none;
}

.fsc-floating-social-contact__item:hover,
.fsc-floating-social-contact__item:focus-visible {
	transform: translateY(-4px) scale(1.1);
	box-shadow: 0 16px 34px rgba(15, 23, 42, 0.18);
	opacity: 1;
	outline: none;
}

.fsc-floating-social-contact__item:hover::before,
.fsc-floating-social-contact__item:focus-visible::before {
	opacity: 0.95;
	transform: scale(1.14);
}

.fsc-floating-social-contact__icon {
	width: 24px;
	height: 24px;
	line-height: 0;
	position: relative;
	z-index: 1;
}

.fsc-floating-social-contact__icon svg {
	width: 24px;
	height: 24px;
	display: block;
}

.fsc-floating-social-contact__item--telegram {
	--fsc-item-bg: #27a7e7;
	--fsc-glow-color: rgba(39, 167, 231, 0.24);
}

.fsc-floating-social-contact__item--wechat {
	--fsc-item-bg: #07c160;
	--fsc-glow-color: rgba(7, 193, 96, 0.24);
}

.fsc-floating-social-contact__item--qq {
	--fsc-item-bg: #12b7f5;
	--fsc-glow-color: rgba(18, 183, 245, 0.24);
}

.fsc-floating-social-contact__item--whatsapp {
	--fsc-item-bg: #25d366;
	--fsc-glow-color: rgba(37, 211, 102, 0.24);
}

.fsc-floating-social-contact__item--phone {
	--fsc-item-bg: #ff7a18;
	--fsc-glow-color: rgba(255, 122, 24, 0.24);
}

.fsc-floating-social-contact__item--email {
	--fsc-item-bg: #246bce;
	--fsc-glow-color: rgba(36, 107, 206, 0.24);
}

.fsc-contact-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.fsc-contact-modal[hidden] {
	display: none;
}

.fsc-contact-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.42);
	backdrop-filter: blur(3px);
}

.fsc-contact-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 360px);
	border-radius: 22px;
	padding: 28px 24px 24px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
	text-align: center;
	animation: fsc-modal-pop 0.22s ease;
}

.fsc-contact-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.06);
	color: #0f172a;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.fsc-contact-modal__title {
	margin: 0 0 10px;
	font-size: 22px;
	color: #0f172a;
}

.fsc-contact-modal__content {
	font-size: 18px;
	font-weight: 600;
	color: #246bce;
	word-break: break-word;
}

body.fsc-contact-modal-open {
	overflow: hidden;
}

@keyframes fsc-soft-float {
	0% {
		transform: translateY(0) scale(1);
	}
	50% {
		transform: translateY(-2px) scale(1.01);
	}
	100% {
		transform: translateY(0) scale(1);
	}
}

@keyframes fsc-modal-pop {
	0% {
		opacity: 0;
		transform: translateY(10px) scale(0.96);
	}
	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 767px) {
	.fsc-floating-social-contact {
		right: 14px;
		bottom: 14px;
		gap: 10px;
	}

	.fsc-floating-social-contact__item {
		width: 48px;
		height: 48px;
	}
}