/* Legacy presentation, revealed by JS only; it never locks the page. */
.mrwax-page-loader[hidden] {
	display: none;
}

.mrwax-page-loader:not([hidden]) {
	box-sizing: border-box;
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	background: var(--wp--preset--color--mrwax-dark, #0d0a06);
	color: var(--wp--preset--color--mrwax-canvas, #f7f0e3);
	text-align: center;
	pointer-events: none;
	/* Independent escape if the controller stops after revealing the cover. */
	animation: mrwax-loader-escape 5s step-end forwards;
}

.mrwax-page-loader-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-inline-size: 100%;
}

.mrwax-page-loader-emblem {
	position: relative;
	inline-size: 90px;
	block-size: 90px;
	margin-block-end: 1.8rem;
}

.mrwax-page-loader-ring {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(155, 123, 60, 0.35);
	border-radius: 50%;
	animation: mrwax-loader-ring 2s linear infinite;
}

.mrwax-page-loader-ring:nth-child(2) {
	inset: 11px;
	border-color: rgba(155, 123, 60, 0.25);
	animation-delay: -0.5s;
}

.mrwax-page-loader-ring:nth-child(3) {
	inset: 22px;
	border-color: rgba(155, 123, 60, 0.15);
	animation-delay: -1s;
}

.mrwax-page-loader-diamond {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	inline-size: 22px;
	block-size: 22px;
	background: var(--wp--preset--color--mrwax-bronze, #9b7b3c);
	transform: translate(-50%, -50%) rotate(45deg);
	animation: mrwax-loader-pulse 1.4s ease-in-out infinite;
}

.mrwax-page-loader-name {
	font-family: var(--wp--preset--font-family--mrwax-display, Georgia, serif);
	font-size: 1.7rem;
	font-weight: 300;
	letter-spacing: 0.28em;
	line-height: 1.2;
	text-transform: uppercase;
	overflow-wrap: anywhere;
	margin-block-end: 0.3rem;
	animation: mrwax-loader-enter 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both;
}

.mrwax-page-loader-tagline {
	font-family: var(--wp--preset--font-family--mrwax-mono, monospace);
	font-size: 0.6rem;
	letter-spacing: 0.28em;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--wp--preset--color--mrwax-bronze, #9b7b3c);
	animation: mrwax-loader-enter 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.8s both;
}

.mrwax-page-loader-label {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.mrwax-page-loader-line {
	inline-size: min(160px, 100%);
	block-size: 1px;
	margin-block-start: 1.6rem;
	background: rgba(155, 123, 60, 0.2);
	overflow: hidden;
}

.mrwax-page-loader-line::after {
	content: '';
	display: block;
	block-size: 100%;
	background: linear-gradient(90deg, #9b7b3c, #c4a26a, #9b7b3c);
	transform: scaleX(0);
	transform-origin: left;
	animation: mrwax-loader-progress 1.5s cubic-bezier(0.16, 1, 0.3, 1) 1s forwards;
}

@keyframes mrwax-loader-ring {
	to { transform: rotate(360deg); }
}

@keyframes mrwax-loader-pulse {
	0%, 100% { opacity: 0.4; transform: translate(-50%, -50%) rotate(45deg) scale(0.8); }
	50% { opacity: 1; transform: translate(-50%, -50%) rotate(45deg) scale(1); }
}

@keyframes mrwax-loader-enter {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes mrwax-loader-progress {
	to { transform: scaleX(1); }
}

@keyframes mrwax-loader-escape {
	to { visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
	.mrwax-page-loader-ring,
	.mrwax-page-loader-diamond,
	.mrwax-page-loader-name,
	.mrwax-page-loader-tagline,
	.mrwax-page-loader-line::after {
		animation: none;
	}

	.mrwax-page-loader-line::after {
		transform: none;
	}
}

@media (forced-colors: active) {
	.mrwax-page-loader:not([hidden]) {
		background: Canvas;
		color: CanvasText;
	}

	.mrwax-page-loader-tagline {
		color: CanvasText;
	}

	.mrwax-page-loader-ring {
		border-color: CanvasText;
	}

	.mrwax-page-loader-line {
		background: GrayText;
	}

	.mrwax-page-loader-diamond,
	.mrwax-page-loader-line::after {
		background: Highlight;
	}
}
