/* TEMP: Diwali theme for public auth pages.
   Live 6-10 Nov IST. Auto-off on 11 Nov. Safe to delete this file. */

.ivf-diwali {
	--ivf-diwali-gold: #e8a317;
	--ivf-diwali-gold-deep: #c4840a;
	--ivf-diwali-maroon: #7a1f2b;
	--ivf-diwali-amber: #ffb347;
	--ivf-diwali-clay: #b85b2c;
	--ivf-diwali-clay-deep: #7a3418;
}

.ivf-diwali.body-note,
.ivf-diwali .ivf-shell-login-refresh {
	background:
		radial-gradient(ellipse at 50% 0%, rgba(255, 196, 92, 0.34), transparent 26%),
		radial-gradient(circle at 8% 100%, rgba(255, 160, 60, 0.12), transparent 22%),
		linear-gradient(180deg, #fff6ea 0%, #fffdf9 46%, #ffffff 100%);
}

.ivf-diwali .ivf-shell-login-refresh::before {
	background:
		linear-gradient(180deg, rgba(255, 214, 140, 0.18), rgba(255, 255, 255, 0) 28%);
}

.ivf-diwali-layer,
.ivf-diwali-stripe,
.ivf-diwali-banner {
	display: none;
}

.ivf-diwali .ivf-diwali-stripe {
	background: linear-gradient(90deg, #f6d48a 0%, #e8a317 35%, #fff1c9 50%, #e8a317 65%, #f6d48a 100%);
	box-shadow: 0 0 16px rgba(232, 163, 23, 0.45);
	display: block;
	height: 3px;
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 40;
}

.ivf-diwali .ivf-diwali-layer {
	display: block;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: fixed;
	z-index: 8;
}

.ivf-diwali-diya {
	animation: ivf-diwali-rise linear infinite;
	height: 36px;
	position: absolute;
	top: 110%;
	width: 28px;
}

.ivf-diwali-diya:nth-child(1) { left: 6%; animation-duration: 16s; animation-delay: -2s; }
.ivf-diwali-diya:nth-child(2) { left: 16%; animation-duration: 18s; animation-delay: -8s; }
.ivf-diwali-diya:nth-child(3) { left: 27%; animation-duration: 15s; animation-delay: -4s; }
.ivf-diwali-diya:nth-child(4) { left: 38%; animation-duration: 19s; animation-delay: -11s; }
.ivf-diwali-diya:nth-child(5) { left: 48%; animation-duration: 17s; animation-delay: -6s; }
.ivf-diwali-diya:nth-child(6) { left: 58%; animation-duration: 20s; animation-delay: -13s; }
.ivf-diwali-diya:nth-child(7) { left: 68%; animation-duration: 16s; animation-delay: -3s; }
.ivf-diwali-diya:nth-child(8) { left: 78%; animation-duration: 18s; animation-delay: -9s; }
.ivf-diwali-diya:nth-child(9) { left: 87%; animation-duration: 15s; animation-delay: -5s; }
.ivf-diwali-diya:nth-child(10) { left: 94%; animation-duration: 21s; animation-delay: -14s; }

.ivf-diwali-flame {
	animation: ivf-diwali-flicker 1.35s ease-in-out infinite;
	bottom: 14px;
	height: 16px;
	left: 50%;
	margin-left: -5px;
	position: absolute;
	transform-origin: 50% 100%;
	width: 10px;
}

.ivf-diwali-diya:nth-child(2n) .ivf-diwali-flame { animation-duration: 1.6s; animation-delay: -0.4s; }
.ivf-diwali-diya:nth-child(3n) .ivf-diwali-flame { animation-duration: 1.15s; animation-delay: -0.8s; }

.ivf-diwali-flame::before {
	background: radial-gradient(ellipse at 50% 78%,
		rgba(255, 250, 220, 0.2) 0%,
		#ffe38a 16%,
		#ff9a1a 46%,
		#ff5a00 70%,
		rgba(255, 80, 0, 0) 76%);
	border-radius: 50% 50% 46% 46% / 62% 62% 38% 38%;
	box-shadow: 0 0 8px 2px rgba(255, 150, 40, 0.55);
	content: "";
	inset: 0;
	position: absolute;
}

.ivf-diwali-flame::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff8dc 55%, #fff 100%);
	border-radius: 50% 50% 40% 40%;
	bottom: 1px;
	content: "";
	height: 7px;
	left: 50%;
	margin-left: -1.5px;
	position: absolute;
	width: 3px;
}

.ivf-diwali-bowl {
	bottom: 0;
	height: 11px;
	left: 50%;
	margin-left: -12px;
	position: absolute;
	width: 24px;
}

.ivf-diwali-bowl::before {
	background:
		radial-gradient(ellipse at 50% 120%, rgba(90, 30, 8, 0.35), transparent 55%),
		linear-gradient(180deg, #f8e2b4 0%, #e7a15a 30%, #c56a32 68%, #7a3418 100%);
	border-radius: 6px 6px 14px 14px;
	box-shadow:
		inset 0 1px 0 rgba(255, 244, 220, 0.9),
		inset 0 -3px 4px rgba(80, 24, 8, 0.35);
	content: "";
	height: 11px;
	left: 0;
	position: absolute;
	top: 0;
	width: 24px;
}

.ivf-diwali-bowl::after {
	background: #3a2416;
	border-radius: 1px;
	content: "";
	height: 5px;
	left: 50%;
	margin-left: -1px;
	position: absolute;
	top: -4px;
	width: 2px;
}

.ivf-diwali .ivf-login-showcase {
	background:
		radial-gradient(ellipse at 22% 100%, rgba(255, 170, 60, 0.2), transparent 36%),
		rgba(255, 252, 247, 0.97);
}

.ivf-diwali .ivf-diwali-banner {
	align-items: center;
	background: rgba(255, 252, 246, 0.96);
	border: 1px solid rgba(232, 163, 23, 0.4);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(120, 64, 16, 0.1);
	display: inline-flex;
	gap: 10px;
	max-width: 100%;
	padding: 6px 16px 6px 8px;
	pointer-events: none;
	position: relative;
	width: fit-content;
}

.ivf-diwali-banner::before {
	background: linear-gradient(90deg, #f6d48a, #e8a317 40%, #fff1c9 50%, #e8a317 60%, #f6d48a);
	border-radius: 999px 999px 0 0;
	content: "";
	height: 3px;
	left: 14px;
	position: absolute;
	right: 14px;
	top: 0;
}

.ivf-diwali-banner-diya {
	display: inline-flex;
	filter: drop-shadow(0 0 6px rgba(255, 160, 40, 0.65));
	flex: 0 0 36px;
	height: 36px;
	width: 36px;
}

.ivf-diwali-banner-diya svg {
	display: block;
	height: 100%;
	width: 100%;
}

.ivf-diwali-banner-copy {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.ivf-diwali-banner-copy strong {
	color: var(--ivf-diwali-maroon);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.ivf-diwali-banner-copy span {
	color: #6b5340;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.3;
}

.ivf-diwali .ivf-nav {
	position: relative;
	z-index: 20;
}

.ivf-diwali .ivf-nav-heading,
.ivf-diwali .ivf-nav-subtext {
	display: none;
}

.ivf-diwali .ivf-nav-copy {
	align-items: flex-start;
	justify-content: center;
	text-align: left;
}

.ivf-diwali .ivf-nav-link-active {
	background: linear-gradient(180deg, rgba(232, 163, 23, 0.18), rgba(122, 31, 43, 0.08));
	border-color: rgba(122, 31, 43, 0.16);
}

.ivf-diwali .ivf-login-auth-card {
	box-shadow: 0 18px 44px rgba(120, 64, 16, 0.12);
	padding-top: 16px;
	z-index: 12;
}

.ivf-diwali .ivf-login-auth-card::before {
	background: linear-gradient(90deg, #f6d48a, #e8a317 42%, #fff6d4 50%, #e8a317 58%, #f6d48a);
	border-top-left-radius: 22px;
	border-top-right-radius: 22px;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
}

.ivf-diwali .ivf-footer {
	position: relative;
	z-index: 4;
}

@keyframes ivf-diwali-rise {
	0% {
		opacity: 0;
		transform: translate3d(0, 16px, 0);
	}
	10% {
		opacity: 0.92;
	}
	100% {
		opacity: 0.15;
		transform: translate3d(-22px, -115vh, 0);
	}
}

@keyframes ivf-diwali-flicker {
	0%, 100% { transform: rotate(-2deg) scale(1, 1); }
	30% { transform: rotate(2.5deg) scale(0.96, 1.08); }
	55% { transform: rotate(-1deg) scale(1.03, 0.94); }
	78% { transform: rotate(1.5deg) scale(0.98, 1.05); }
}

@media (max-width: 760px) {
	.ivf-diwali .ivf-diwali-layer {
		display: none;
	}

	.ivf-diwali .ivf-nav-copy {
		align-items: flex-start;
		justify-content: center;
		text-align: left;
	}

	.ivf-diwali .ivf-diwali-banner {
		border-radius: 18px;
		max-width: 100%;
		padding: 8px 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ivf-diwali-diya,
	.ivf-diwali-flame {
		animation: none;
	}

	.ivf-diwali .ivf-diwali-layer {
		display: none;
	}
}
