/* Full-page loading overlay (Terrakov) */
body.terr-loading-active {
	overflow: hidden;
}

#terr-loading {
	pointer-events: auto;
}

.terr-loading__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: min(40vw, 280px);
	padding: 2rem;
}

.terr-loading__logo {
	width: 100%;
	color: var(--wp--preset--color--foreground, #111);
}

.terr-loading-svg-wrap svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

/* Stroke draw timing is applied via JS (per-path length). */

/* Raster logo: subtle luxury fade + scale */
.terr-loading-img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0;
	transform: scale(0.96);
	animation: terr-loading-soft 1s ease forwards;
}

@keyframes terr-loading-soft {
	from {
		opacity: 0;
		transform: scale(0.96);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.terr-loading-fallback {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading, inherit);
	font-size: clamp(1.25rem, 4vw, 2rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0;
	animation: terr-loading-soft 1s ease forwards;
}

#terr-loading.terr-loading--fade-out {
	opacity: 0;
	transition: opacity 0.55s ease;
}

@media (prefers-reduced-motion: reduce) {
	.terr-loading-img,
	.terr-loading-img-wrap,
	.terr-loading-svg-wrap svg {
		animation: none !important;
	}

	.terr-loading-img,
	.terr-loading-fallback {
		opacity: 1;
		transform: none;
	}
}
