/**
 * Critical header + mega navigation layout.
 *
 * Plain CSS (not Tailwind). Enqueued on every page so the primary nav
 * stays horizontal even when production serves a stale main.css build.
 */

.sn-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	overflow: visible;
}

.sn-site-header .sn-container,
.sn-site-header__inner,
.sn-site-header__slot,
.sn-nav-search,
.sn-global-search,
.sn-global-search__wrap {
	overflow: visible;
}

.sn-site-header.is-search-open {
	overflow: visible;
	z-index: 60;
}

.sn-site-header__backdrop {
	position: fixed;
	inset: 0;
	z-index: 40;
	background: rgb(28 32 31 / 0.3);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease;
}

body.is-nav-search-open .sn-site-header__backdrop {
	opacity: 1;
	pointer-events: auto;
}

.sn-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 4.5rem;
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
}

.sn-site-header__actions {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 0.5rem;
}

.sn-mega-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sn-mega-nav__item {
	position: relative;
	list-style: none;
}

.sn-mega-nav__trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.sn-mega-nav__simple-link {
	display: inline-flex;
	align-items: center;
}

.sn-mega-nav__chevron {
	width: 0.875rem;
	height: 0.875rem;
	flex-shrink: 0;
	opacity: 0.5;
}

/* Keep dropdown panels out of document flow */
.sn-mega-panel {
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	padding-top: 0.5rem;
	z-index: 60;
	width: min(60rem, calc(100vw - 2rem));
}

.sn-mega-nav__item .sn-mega-panel[hidden] {
	display: none !important;
}

@media (min-width: 1024px) {
	.sn-site-header__inner {
		min-height: 5rem;
	}

	.sn-site-header__slot {
		display: flex;
		flex: 1 1 0%;
		justify-content: center;
		min-width: 0;
	}

	.sn-primary-nav {
		display: flex;
		flex: 1 1 0%;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		min-width: 0;
	}

	.sn-mega-nav__list {
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}
}

@media (max-width: 1023px) {
	.sn-site-header__slot,
	.sn-primary-nav {
		display: none;
	}
}

.sn-site-header.is-search-open .sn-primary-nav {
	display: none;
}

.sn-site-header.is-search-open .sn-site-header__slot {
	display: flex;
	flex: 1 1 0%;
	min-width: 0;
}
