/* Calendly popup — IVLife / IVT modal styling */

@keyframes iv-calendly-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes iv-calendly-scale-in {
	from {
		opacity: 0;
		transform: translateY(-48%) translateX(-50%) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translateY(-50%) translateX(-50%) scale(1);
	}
}

@keyframes iv-calendly-slide-up {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.calendly-overlay {
	background: rgba(12, 8, 28, 0.62) !important;
	backdrop-filter: blur(10px) saturate(120%);
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	z-index: 2147483646 !important;
	animation: iv-calendly-fade-in 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.calendly-overlay::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 80% 55% at 50% 35%,
			rgba(111, 79, 242, 0.22) 0%,
			transparent 68%
		),
		radial-gradient(
			ellipse 50% 40% at 85% 80%,
			rgba(90, 63, 212, 0.12) 0%,
			transparent 60%
		);
}

.calendly-overlay,
.calendly-overlay iframe {
	display: block !important;
}

.calendly-overlay .calendly-popup {
	border-radius: 20px !important;
	overflow: hidden !important;
	background: #fff;
	box-shadow:
		0 28px 72px rgba(35, 22, 90, 0.38),
		0 10px 28px rgba(0, 0, 0, 0.14),
		0 0 0 1px rgba(255, 255, 255, 0.1);
	animation: iv-calendly-scale-in 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}

.calendly-overlay .calendly-popup .calendly-popup-content {
	background: #fff;
}

.calendly-overlay .calendly-popup-close {
	background: rgba(255, 255, 255, 0.96) !important;
	background-image: none !important;
	border: none;
	border-radius: 50%;
	width: 36px !important;
	height: 36px !important;
	right: 18px !important;
	top: 18px !important;
	box-shadow:
		0 2px 10px rgba(0, 0, 0, 0.12),
		0 0 0 1px rgba(0, 0, 0, 0.06);
	cursor: pointer;
	opacity: 1;
	transition:
		transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 2;
}

.calendly-overlay .calendly-popup-close:hover {
	transform: scale(1.05);
	box-shadow:
		0 4px 14px rgba(0, 0, 0, 0.16),
		0 0 0 1px rgba(0, 0, 0, 0.06);
}

.calendly-overlay .calendly-popup-close::before,
.calendly-overlay .calendly-popup-close::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	border-radius: 999px;
	background: #3a3a3c;
}

.calendly-overlay .calendly-popup-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.calendly-overlay .calendly-popup-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 975px) {
	.calendly-overlay .calendly-popup {
		border-radius: 20px 20px 0 0 !important;
		box-shadow:
			0 -8px 40px rgba(35, 22, 90, 0.28),
			0 0 0 1px rgba(255, 255, 255, 0.08);
		animation: iv-calendly-slide-up 0.32s cubic-bezier(0.16, 1, 0.3, 1);
	}

	.calendly-overlay .calendly-popup-close {
		right: 14px !important;
		top: 14px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.calendly-overlay,
	.calendly-overlay .calendly-popup {
		animation: none;
	}
}
