/* ==========================================================================
   Menu — transparant, sticky met blur
   Stijl-states:
   - default          → boven de hero: transparant, witte tekst, geen logo
   - is-past-hero     → hero is voorbij: blur-balk, donkere tekst, logo zichtbaar
   - is-menu-open     → mobiel: fullscreen blauwe overlay, blur uitgeschakeld
   ========================================================================== */

.site-nav {
	position: fixed;
	top: 50px;
	left: 50px;
	right: 50px;
	z-index: 200;
	border-radius: var(--ms-radius-lg);
	transition: top 0.35s ease, left 0.35s ease, right 0.35s ease;
	/* GEEN backdrop-filter/transform op dit element zelf:
	   die zouden de containing-block voor fixed descendants
	   wijzigen — daardoor zou het overlay-menu niet meer
	   correct fullscreen kunnen. */
}

/* Bij scroll: menu schuift dichter naar de bovenkant (en zijkant) */
.site-nav.is-past-hero {
	top: 20px;
	left: 32px;
	right: 32px;
}

/* De inner wrapper draagt de visuele "balk"-staat (blur/achtergrond). */
.site-nav__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 26px 50px;
	border-radius: var(--ms-radius-lg);
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease, padding 0.35s ease;
}

.site-nav.is-past-hero .site-nav__inner {
	padding: 16px 40px;
}

/* Logo — fade in zodra de hero uit beeld is */
.site-nav__logo {
	display: flex;
	align-items: center;
	color: var(--ms-sand);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease, color 0.3s ease;
}
.site-nav.is-past-hero .site-nav__logo {
	opacity: 1;
	pointer-events: auto;
	color: var(--ms-ink);
}
.site-nav__logo svg {
	width: 140px;
	height: auto;
	display: block;
}
.site-nav__logo svg path {
	fill: currentColor;
	transition: fill 0.3s ease;
}

/* Menu items lijst */
.site-nav__list {
	display: flex;
	align-items: center;
	gap: 38px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-nav__list a {
	color: var(--ms-sand);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.3px;
	padding: 8px 0;
	position: relative;
	transition: color 0.3s ease, opacity 0.2s ease;
}
.site-nav__list a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1.5px;
	background-color: var(--ms-orange);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
}
.site-nav__list a:hover::after,
.site-nav__list a.is-active::after {
	transform: scaleX(1);
}
.site-nav__list a:hover {
	opacity: 1;
	color: var(--ms-orange);
}

/* Hero-voorbij staat: blur-balk + donkere tekst */
.site-nav.is-past-hero .site-nav__inner {
	background-color: rgba(252, 249, 240, 0.75);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	box-shadow: 0 4px 30px rgba(28, 38, 45, 0.06);
}
.site-nav.is-past-hero .site-nav__list a {
	color: var(--ms-ink);
}
.site-nav.is-past-hero .site-nav__list a:hover {
	color: var(--ms-orange);
}

/* Wanneer menu open is: backdrop-filter UIT.
   Anders wordt .site-nav__inner de containing block voor
   de fullscreen overlay-list en plakt die binnen de menubar. */
.site-nav.is-menu-open .site-nav__inner {
	background-color: transparent !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	box-shadow: none !important;
}

/* Hamburger (verborgen op desktop) */
.site-nav__toggle {
	display: none;
	width: 44px;
	height: 44px;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	position: relative;
	z-index: 110;
}
.site-nav__toggle__bar {
	display: block;
	width: 24px;
	height: 2px;
	background-color: var(--ms-sand);
	margin: 5px auto;
	border-radius: 1px;
	transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
.site-nav.is-past-hero .site-nav__toggle__bar {
	background-color: var(--ms-ink);
}

/* Open hamburger → kruisje */
.site-nav.is-menu-open .site-nav__toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.site-nav.is-menu-open .site-nav__toggle__bar:nth-child(2) {
	opacity: 0;
}
.site-nav.is-menu-open .site-nav__toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* ==========================================================================
   Mobiel — hamburger + fullscreen overlay menu
   ========================================================================== */

@media (max-width: 900px) {
	.site-nav {
		top: 16px;
		left: 16px;
		right: 16px;
	}
	.site-nav.is-past-hero {
		top: 10px;
		left: 10px;
		right: 10px;
	}

	.site-nav__inner {
		padding: 14px 20px;
	}
	.site-nav.is-past-hero .site-nav__inner {
		padding: 12px 18px;
	}

	.site-nav__logo svg {
		width: 110px;
	}

	.site-nav__toggle {
		display: block;
	}

	/* Lijst = fullscreen overlay */
	.site-nav__list {
		position: fixed;
		inset: 0;
		background-color: var(--ms-blue);
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 30px;
		padding: 80px 20px;
		transform: translateX(100%);
		transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
		z-index: 100;
		right: -10px;
		overflow-y: auto;
	}
	.site-nav.is-menu-open .site-nav__list {
		transform: translateX(0);
	}

	.site-nav__list a {
		font-family: var(--ms-font-display);
		font-size: 32px;
		color: var(--ms-sand);
		font-weight: normal;
		padding: 8px 14px;
		opacity: 0;
		transform: translateY(15px);
		transition: opacity 0.4s ease, transform 0.4s ease, color 0.2s ease;
	}
	.site-nav.is-menu-open .site-nav__list a {
		opacity: 1;
		transform: translateY(0);
		color: var(--ms-sand) !important;
	}

	/* Gefaseerd binnenkomen */
	.site-nav.is-menu-open .site-nav__list li:nth-child(1) a { transition-delay: 0.10s; }
	.site-nav.is-menu-open .site-nav__list li:nth-child(2) a { transition-delay: 0.17s; }
	.site-nav.is-menu-open .site-nav__list li:nth-child(3) a { transition-delay: 0.24s; }
	.site-nav.is-menu-open .site-nav__list li:nth-child(4) a { transition-delay: 0.31s; }
	.site-nav.is-menu-open .site-nav__list li:nth-child(5) a { transition-delay: 0.38s; }
	.site-nav.is-menu-open .site-nav__list li:nth-child(6) a { transition-delay: 0.45s; }

	.site-nav__list a::after {
		bottom: -2px;
	}

	/* Hamburger bars altijd licht bij open menu (boven blauwe overlay) */
	.site-nav.is-menu-open .site-nav__toggle__bar {
		background-color: var(--ms-sand) !important;
	}
}
