/* ===== Nice Coders Floating Contact — Frontend ===== */
.nc-fc-widget {
	line-height: 1.4;
}
.nc-fc-widget * {
	box-sizing: border-box;
}

.nc-fc-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	box-shadow: 0 6px 20px rgba(0,0,0,.22);
	transition: transform .25s ease, box-shadow .25s ease;
	padding: 0;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
}
.nc-fc-btn:focus,
.nc-fc-btn:focus-visible {
	outline: none;
	box-shadow: 0 6px 20px rgba(0,0,0,.22);
}
.nc-fc-btn:hover {
	transform: scale(1.06);
	box-shadow: 0 10px 26px rgba(0,0,0,.28);
}
.nc-fc-btn svg {
	display: block;
	transition: opacity .2s ease, transform .3s ease;
}
.nc-fc-btn .nc-fc-icon-open,
.nc-fc-btn .nc-fc-icon-close {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.nc-fc-btn .nc-fc-icon-close {
	opacity: 0;
	transform: rotate(-45deg) scale(.6);
}
.nc-fc-btn .nc-fc-icon-open {
	opacity: 1;
	transform: rotate(0) scale(1);
}
.nc-fc-widget.nc-fc-open .nc-fc-btn .nc-fc-icon-open {
	opacity: 0;
	transform: rotate(45deg) scale(.6);
}
.nc-fc-widget.nc-fc-open .nc-fc-btn .nc-fc-icon-close {
	opacity: 1;
	transform: rotate(0) scale(1);
}

/* منوی آیتم‌ها */
.nc-fc-menu {
	position: absolute;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
}
.nc-fc-widget.nc-fc-pos-top-right .nc-fc-menu,
.nc-fc-widget.nc-fc-pos-top-left .nc-fc-menu {
	flex-direction: column-reverse;
}

.nc-fc-widget.nc-fc-open .nc-fc-menu {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
}

.nc-fc-item {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	transform: translateY(10px) scale(.85);
	opacity: 0;
	transition: transform .28s cubic-bezier(.34,1.56,.64,1), opacity .22s ease;
}
.nc-fc-pos-top-right .nc-fc-item,
.nc-fc-pos-top-left .nc-fc-item {
	transform: translateY(-10px) scale(.85);
}
.nc-fc-widget.nc-fc-open .nc-fc-item {
	transform: translateY(0) scale(1);
	opacity: 1;
}
.nc-fc-item:nth-child(1) { transition-delay: .02s; }
.nc-fc-item:nth-child(2) { transition-delay: .06s; }
.nc-fc-item:nth-child(3) { transition-delay: .10s; }
.nc-fc-item:nth-child(4) { transition-delay: .14s; }
.nc-fc-item:nth-child(5) { transition-delay: .18s; }
.nc-fc-item:nth-child(6) { transition-delay: .22s; }
.nc-fc-item:nth-child(7) { transition-delay: .26s; }
.nc-fc-item:nth-child(8) { transition-delay: .30s; }

.nc-fc-item-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: var(--nc-fc-item-bg, #0d6efd);
	color: var(--nc-fc-item-color, #fff);
	box-shadow: 0 4px 14px rgba(0,0,0,.18);
	transition: transform .2s ease;
}
.nc-fc-item:hover .nc-fc-item-icon {
	transform: scale(1.08);
}
.nc-fc-item-icon svg { display:block; }

.nc-fc-item-label {
	white-space: nowrap;
	padding: 6px 12px;
	border-radius: 8px;
	box-shadow: 0 3px 10px rgba(0,0,0,.12);
	font-weight: 500;
}

/* افکت باز شدن پنل */
.nc-fc-anim-zoom .nc-fc-menu { transform-origin: bottom; }
.nc-fc-anim-slide .nc-fc-item { }
.nc-fc-anim-fade .nc-fc-item { transform: none !important; }

/* انیمیشن ورود دکمه به صفحه (یک‌بار اجرا می‌شود) */
@keyframes nc-fc-entrance-bounce {
	0% { transform: scale(0) translateY(40px); opacity: 0; }
	60% { transform: scale(1.12) translateY(-8px); opacity: 1; }
	80% { transform: scale(.96) translateY(2px); }
	100% { transform: scale(1) translateY(0); opacity: 1; }
}
@keyframes nc-fc-entrance-shake {
	0% { transform: scale(0); opacity: 0; }
	40% { transform: scale(1.05) rotate(0); opacity: 1; }
	55% { transform: scale(1) rotate(-14deg); }
	70% { transform: scale(1) rotate(12deg); }
	85% { transform: scale(1) rotate(-8deg); }
	100% { transform: scale(1) rotate(0); }
}
@keyframes nc-fc-entrance-spin {
	0% { transform: scale(0) rotate(0deg); opacity: 0; }
	70% { transform: scale(1.08) rotate(300deg); opacity: 1; }
	100% { transform: scale(1) rotate(360deg); opacity: 1; }
}
.nc-fc-btn.nc-fc-just-entered {
	animation-duration: .9s;
	animation-timing-function: cubic-bezier(.34,1.56,.64,1);
	animation-fill-mode: both;
	animation-iteration-count: 1;
}

/* انیمیشن‌های مداوم (idle) دکمه — پس از پایان انیمیشن ورود فعال می‌شوند */
@keyframes nc-fc-idle-pulse {
	0%, 100% { box-shadow: 0 6px 20px rgba(0,0,0,.22), 0 0 0 0 rgba(0,0,0,.18); }
	50% { box-shadow: 0 6px 20px rgba(0,0,0,.22), 0 0 0 12px rgba(0,0,0,0); }
}
@keyframes nc-fc-idle-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}
@keyframes nc-fc-idle-shake {
	0%, 92%, 100% { transform: rotate(0); }
	94% { transform: rotate(-8deg); }
	96% { transform: rotate(8deg); }
	98% { transform: rotate(-4deg); }
}
.nc-fc-btn.nc-fc-idle {
	animation-duration: 2.2s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}
.nc-fc-btn.nc-fc-idle-shake {
	animation-duration: 3.6s;
}

@media (max-width: 480px) {
	.nc-fc-item-label { display: none; }
}
