/* ===== Site preloader — máscara + fade out ===== */
@font-face {
	font-family: "Kenyan coffee rg";
	src: url("../../../../uploads/2026/09/kenyan-coffee-rg.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

html.ri-preloader-active,
html.ri-preloader-active body {
	overflow: hidden;
}

#ri-preloader {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ri-preloader-bg, #000000);
	color: var(--ri-preloader-fg, #ffffff);
	opacity: 1;
	visibility: visible;
	transition: opacity 0.55s ease, visibility 0.55s linear;
	will-change: opacity;
}

#ri-preloader.is-done {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.ri-preloader__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	padding: 1.5rem;
	text-align: center;
}

.ri-preloader__logo-wrap {
	position: relative;
	display: block;
	width: min(200px, 52vw);
	aspect-ratio: 300 / 156;
	opacity: 0;
	transform: translate3d(0, 8px, 0);
	animation: ri-preloader-enter 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards;
	--ri-reveal: 0%;
}

.ri-preloader__logo-layer {
	position: absolute;
	inset: 0;
	background-color: currentColor;
	-webkit-mask-image: var(--ri-preloader-logo-url);
	mask-image: var(--ri-preloader-logo-url);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

/* Máscara / silueta: primary Elementor */
.ri-preloader__logo-layer--ghost {
	color: var(--e-global-color-primary, var(--ri-preloader-accent, #8c2f88));
	opacity: 0.35;
}

/* Logo revelado: blanco */
.ri-preloader__logo-layer--white {
	color: var(--ri-preloader-fg, #ffffff);
	-webkit-mask-image: linear-gradient(
			90deg,
			#000 0%,
			#000 calc(var(--ri-reveal) - 8%),
			transparent calc(var(--ri-reveal) + 8%)
		),
		var(--ri-preloader-logo-url);
	mask-image: linear-gradient(
			90deg,
			#000 0%,
			#000 calc(var(--ri-reveal) - 8%),
			transparent calc(var(--ri-reveal) + 8%)
		),
		var(--ri-preloader-logo-url);
	-webkit-mask-size: 100% 100%, contain;
	mask-size: 100% 100%, contain;
	-webkit-mask-repeat: no-repeat, no-repeat;
	mask-repeat: no-repeat, no-repeat;
	-webkit-mask-position: center, center;
	mask-position: center, center;
	-webkit-mask-composite: source-in;
	mask-composite: intersect;
}

.ri-preloader__wordmark {
	margin: 0;
	font-family: "Gotham", "Helvetica Neue", Arial, sans-serif;
	font-weight: 600;
	font-size: clamp(0.95rem, 2.6vw, 1.2rem);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ri-preloader-fg, #ffffff);
	opacity: 0;
	transform: translate3d(0, 8px, 0);
	animation: ri-preloader-enter 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.16s forwards;
}

@keyframes ri-preloader-enter {
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ri-preloader__logo-wrap,
	.ri-preloader__wordmark {
		animation: none !important;
		opacity: 1;
		transform: none;
	}

	.ri-preloader__logo-wrap {
		--ri-reveal: 100%;
	}

	.ri-preloader__logo-layer--ghost {
		display: none;
	}

	#ri-preloader {
		transition-duration: 0.3s;
	}

	#ri-preloader.is-done {
		opacity: 0;
		visibility: hidden;
	}
}
