/**
 * Sundari page loader — soft violet screen + spinning ring + brand S mark.
 */

.sundari-page-loader {
	--sundari-loader-bg: #f7f4f9;
	--sundari-loader-accent: #7b2d8e;
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--sundari-loader-bg);
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.sundari-page-loader.is-done {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.sundari-page-loader__inner {
	position: relative;
	width: 5.25rem;
	height: 5.25rem;
	display: grid;
	place-items: center;
}

.sundari-page-loader__ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: conic-gradient(
		from 0deg,
		rgba(123, 45, 142, 0) 0%,
		rgba(123, 45, 142, 0.14) 12%,
		var(--sundari-loader-accent) 42%,
		var(--sundari-loader-accent) 88%,
		rgba(123, 45, 142, 0) 100%
	);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2.4px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2.4px));
	animation: sundari-loader-spin 0.85s linear infinite;
}

.sundari-page-loader__mark {
	position: relative;
	z-index: 1;
	display: block;
	width: 2.15rem;
	height: 2.15rem;
	object-fit: contain;
	user-select: none;
	pointer-events: none;
}

@keyframes sundari-loader-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sundari-page-loader__ring {
		animation-duration: 1.6s;
	}

	.sundari-page-loader {
		transition-duration: 0.15s;
	}
}
