/* Haags.nl page loader — split-panel reveal (geport van sjaakbralide).
 *
 * Twee groene panelen (boven/onder) dekken het scherm af zodra de pagina laadt,
 * met het gele haags-logo in het midden. Zodra alles geladen is vegen de panelen
 * weg. Dit verbergt de korte "flits" van de main-content voordat de GSAP-intro's
 * hun beginstaat zetten — én dekt bij interne navigatie de overgang af.
 *
 * De CSS is render-blocking (in <head>) zodat de panelen al bij de eerste paint
 * dekken. Zelfstandig: hardcoded hex, geen afhankelijkheid van een globaal
 * variabelen-stylesheet. */

.hg-loader {
	position: fixed;
	inset: 0;
	z-index: 99999;
	pointer-events: none;
	font-family: "Antonio", system-ui, sans-serif;
}

.hg-loader.is-logo-in .hg-loader__logo {
	opacity: 1;
}

.hg-loader.is-revealing .hg-loader__logo {
	opacity: 0;
	transition: opacity .35s ease;
}

.hg-loader.is-revealing .hg-loader__panel {
	transform: scaleY(0);
}

.hg-loader.is-revealing .hg-loader__panel--top {
	transition-delay: .25s;
}

.hg-loader.is-revealing .hg-loader__panel--bottom {
	transition-delay: .25s;
}

.hg-loader.is-done {
	display: none;
}

.hg-loader.is-closing .hg-loader__panel {
	transform: scaleY(1);
	transition-delay: 0s;
}

.hg-loader.is-closing .hg-loader__logo {
	opacity: 1;
	transition: opacity .4s ease .35s;
}

.hg-loader__panel {
	position: fixed;
	left: 0;
	width: 100%;
	height: 51vh;
	background: #1e7a54;
	transform: scaleY(1);
	transition: transform .7s cubic-bezier(.87, 0, .13, 1);
}

.hg-loader__panel--top {
	top: 0;
	transform-origin: center top;
}

.hg-loader__panel--bottom {
	bottom: 0;
	transform-origin: center bottom;
}

.hg-loader__logo {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: min(60vw, 300px);
	height: auto;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity .45s ease;
}

/* Vangnet als PageLoader.js niet (op tijd) draait — uitgesteld door een
 * optimalisatieplugin, een scriptfout of een 404: na 6 s verdwijnt de loader
 * toch, anders bleef de hele site groen. Niet tijdens een paginatransitie
 * (.is-closing), anders zou die onzichtbaar dichtschuiven. De normale weg blijft
 * PageLoader.js (.is-done). Zonder JS: <noscript> in PageLoader.php. */
.hg-loader:not(.is-closing) {
	animation: hg-loader-failsafe 0s linear 6s forwards;
}

@keyframes hg-loader-failsafe {
	to {
		visibility: hidden;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hg-loader__panel {
		transition-duration: .3s;
	}
	.hg-loader__logo {
		transition-duration: .2s;
	}
}
