/* Diwali Grand Elegant v1.2 - cinematic front-end styles. Decorative only: never intercepts clicks. */

.dge-glow,
.dge-canvas,
.dge-greeting {
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

/* Ambient light: slow drifting golden pools + a faint light ray. Very subtle. */
.dge-glow {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9988;
	overflow: hidden;
	background: linear-gradient(118deg, rgba(255, 215, 106, 0.09) 0%, rgba(255, 215, 106, 0) 34%);
	opacity: 0;
	animation: dge-glow-in 3s ease 0.1s forwards;
}

.dge-glow::before,
.dge-glow::after {
	content: "";
	position: absolute;
	width: 62vmax;
	height: 62vmax;
	border-radius: 50%;
	will-change: transform;
}

.dge-glow::before {
	left: -22vmax;
	bottom: -34vmax;
	background: radial-gradient(circle, rgba(255, 190, 60, 0.20), rgba(255, 190, 60, 0) 66%);
	animation: dge-drift-a 28s ease-in-out infinite alternate;
}

.dge-glow::after {
	right: -26vmax;
	bottom: -38vmax;
	background: radial-gradient(circle, rgba(244, 166, 35, 0.15), rgba(244, 166, 35, 0) 66%);
	animation: dge-drift-b 34s ease-in-out infinite alternate;
}

/* Particle canvas */
.dge-canvas {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	z-index: 9989;
	opacity: 0;
	animation: dge-fade-in 2.2s ease 0.2s forwards;
}

/* Greeting: blur-in typography with a soft haze behind it. Leaves on its own. */
.dge-greeting {
	position: fixed;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 22vh);
	left: 50%;
	z-index: 99991;
	width: max-content;
	max-width: 94vw;
	padding: 34px 60px;
	text-align: center;
	opacity: 0;
	transform: translate(-50%, 12px);
	animation: dge-greet 6.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.dge-greeting::before {
	content: "";
	position: absolute;
	inset: -30% -25%;
	z-index: -1;
	background: radial-gradient(ellipse at center, rgba(52, 10, 20, 0.5), rgba(52, 10, 20, 0) 68%);
}

.dge-greeting::after {
	content: "";
	display: block;
	height: 1px;
	width: 0;
	margin: 18px auto 0;
	background: linear-gradient(90deg, rgba(212, 175, 55, 0), var(--dge-bright, #FFD76A), rgba(212, 175, 55, 0));
	animation: dge-line 6.4s ease forwards;
}

.dge-g-text {
	display: inline-block;
	font-family: "Cormorant Garamond", "Playfair Display", Georgia, "Times New Roman", serif;
	font-weight: 300;
	font-size: clamp(28px, 6.2vw, 74px);
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	margin-right: -0.2em;
	background: linear-gradient(100deg, var(--dge-bright, #FFD76A) 0%, var(--dge-gold, #D4AF37) 35%, var(--dge-cream, #FFF8E7) 50%, var(--dge-gold, #D4AF37) 65%, var(--dge-bright, #FFD76A) 100%);
	background-size: 220% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	filter: drop-shadow(0 1px 2px rgba(52, 10, 20, 0.45)) drop-shadow(0 0 22px rgba(255, 190, 60, 0.45));
	animation: dge-track 6.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards, dge-sheen 5s ease 0.8s forwards;
}

/* Elegant four-point glint (replaces the emoji sparkles) */
.dge-glint {
	display: inline-block;
	width: 0.42em;
	height: 0.42em;
	margin: 0 0.5em;
	vertical-align: 0.18em;
	background: var(--dge-bright, #FFD76A);
	clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
	-webkit-text-fill-color: initial;
}

.dge-greeting--light::before { display: none; }

.dge-greeting--light .dge-g-text {
	background-image: linear-gradient(100deg, #B8860B 0%, #D4AF37 35%, #F2D46B 50%, #D4AF37 65%, #B8860B 100%);
	filter: drop-shadow(0 1px 1px rgba(90, 40, 10, 0.55)) drop-shadow(0 0 16px rgba(255, 190, 60, 0.35));
}

.dge-greeting--light .dge-glint { background: #C9951A; }

.dge-greeting--static {
	animation: none;
	opacity: 1;
	transform: translate(-50%, 0);
}

.dge-greeting--static::after { animation: none; width: 38%; }
.dge-greeting--static .dge-g-text { animation: none; letter-spacing: 0.2em; }

@keyframes dge-fade-in { to { opacity: 1; } }
@keyframes dge-glow-in { to { opacity: 1; } }

@keyframes dge-drift-a {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to   { transform: translate3d(9vmax, -5vmax, 0) scale(1.12); }
}

@keyframes dge-drift-b {
	from { transform: translate3d(0, 0, 0) scale(1.05); }
	to   { transform: translate3d(-8vmax, -6vmax, 0) scale(0.95); }
}

@keyframes dge-greet {
	0%   { opacity: 0; filter: blur(16px); transform: translate(-50%, 12px); }
	22%  { opacity: 1; filter: blur(0); transform: translate(-50%, 0); }
	78%  { opacity: 1; filter: blur(0); transform: translate(-50%, 0); }
	100% { opacity: 0; filter: blur(12px); transform: translate(-50%, -10px); }
}

@keyframes dge-track {
	0%   { letter-spacing: 0.46em; }
	28%  { letter-spacing: 0.2em; }
	100% { letter-spacing: 0.24em; }
}

@keyframes dge-sheen {
	from { background-position: 110% 0; }
	to   { background-position: -10% 0; }
}

@keyframes dge-line {
	0%, 14% { width: 0; }
	40%     { width: 38%; }
	78%     { width: 38%; }
	100%    { width: 38%; }
}

@media (prefers-reduced-motion: reduce) {
	.dge-glow   { animation: none; opacity: 1; }
	.dge-glow::before,
	.dge-glow::after { animation: none; }
	.dge-canvas { animation: none; opacity: 1; }
}

@media print {
	.dge-glow,
	.dge-canvas,
	.dge-greeting { display: none !important; }
}
