/**
 * AirNexis header — sticky bar, compact CTA, and core Navigation overlay.
 * Scoped to .airnexis-header so page buttons keep the default leaf radius.
 *
 * Tablet breakpoint matches --wp--custom--breakpoint--tablet (48rem / 768px).
 * Custom properties cannot be used in @media, so 48rem is written explicitly.
 */

/* -------------------------------------------------------------------------- */
/* Fixed bar + document-flow spacer                                           */
/* -------------------------------------------------------------------------- */

.wp-site-blocks > header.wp-block-template-part:has(.airnexis-header) {
	display: block;
	min-height: 5.875rem; /* 94px desktop — keeps flow while the bar is fixed */
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	padding-top: 0;
	padding-bottom: 0;
	overflow-x: clip;
}

.wp-site-blocks > header.wp-block-template-part:has(.wp-block-navigation__responsive-container.is-menu-open) {
	overflow: visible;
}

.airnexis-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	view-transition-name: site-header;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	height: 5.875rem;
	margin: 0;
	padding-left: calc(var(--airnexis-layout-inset) + var(--wp--preset--spacing--3-xl));
	padding-right: calc(var(--airnexis-layout-inset) + var(--wp--preset--spacing--3-xl));
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	opacity: 1;
	visibility: visible;
	transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0s;
}

.airnexis-header.is-hidden {
	opacity: 0;
	transform: translate3d(0, -100%, 0);
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s;
}

/*
 * transform on the header makes it the containing block for core's
 * position:fixed overlay, so the menu is trapped in the 72/94px bar.
 * Keep transform:none while the overlay is open (including mid-hide).
 */
.airnexis-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
	opacity: 1;
	transform: none;
	visibility: visible;
	pointer-events: auto;
	z-index: 100000;
}

@media (prefers-reduced-motion: reduce) {
	.airnexis-header,
	.airnexis-header.is-hidden,
	.airnexis-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
		transition: none;
	}
}

.airnexis-header.alignfull {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: none;
}

/*
 * Blur lives on a pseudo so backdrop-filter does not become a containing
 * block for the position:fixed Navigation overlay.
 */
.airnexis-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 78%, transparent);
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
}

.airnexis-header > * {
	position: relative;
	z-index: 1;
}

.admin-bar .airnexis-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .airnexis-header {
		top: 46px;
	}
}

/* -------------------------------------------------------------------------- */
/* Logo                                                                       */
/* -------------------------------------------------------------------------- */

.airnexis-header .airnexis-header-logo {
	position: relative;
	z-index: 100001;
	margin: 0;
	flex-shrink: 0;
	line-height: 0;
}

.airnexis-header .airnexis-header-logo a {
	display: block;
	line-height: 0;
}

.airnexis-header .airnexis-header-logo img {
	display: block;
	width: 12.5625rem;
	height: 2.75rem;
	max-width: none;
}

/* -------------------------------------------------------------------------- */
/* Desktop nav links                                                          */
/* -------------------------------------------------------------------------- */

.airnexis-header .airnexis-header-nav {
	flex-shrink: 0;
}

.airnexis-header .wp-block-navigation .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.55;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.airnexis-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.airnexis-header .wp-block-navigation .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.airnexis-header .wp-block-navigation__responsive-container-content {
	gap: 1.875rem;
	align-items: center;
}

/* -------------------------------------------------------------------------- */
/* Compact Contact CTA (header only)                                          */
/* -------------------------------------------------------------------------- */

.airnexis-header .airnexis-header-cta .wp-block-button__link {
	border-radius: 1.25rem 0.125rem 1.25rem 0.125rem;
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--lg);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.55;
	color: var(--wp--preset--color--base);
}

.airnexis-header .airnexis-header-cta .wp-block-button__link:hover,
.airnexis-header .airnexis-header-cta .wp-block-button__link:focus {
	color: var(--wp--preset--color--base);
}

.airnexis-header .airnexis-header-cta-wrap,
.airnexis-header .airnexis-header-cta {
	margin: 0;
}

/* -------------------------------------------------------------------------- */
/* Hamburger + close (Figma SVGs; core overlay keeps dialog + focus trap) */
/* -------------------------------------------------------------------------- */

.airnexis-header .wp-block-navigation__responsive-container-open,
.airnexis-header .wp-block-navigation__responsive-container-close {
	box-sizing: border-box;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	color: var(--wp--preset--color--accent);
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
}

.airnexis-header .wp-block-navigation__responsive-container-open {
	background-image: url("../images/icon-hamburger.svg");
	background-size: 2.5rem 2.5rem;
}

.airnexis-header .wp-block-navigation__responsive-container-close {
	background-image: url("../images/icon-close.svg");
	background-size: 2rem 2rem;
}

.airnexis-header .wp-block-navigation__responsive-container-open svg,
.airnexis-header .wp-block-navigation__responsive-container-close svg {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	opacity: 0;
}

.airnexis-header .wp-block-navigation__responsive-container-open:focus-visible,
.airnexis-header .wp-block-navigation__responsive-container-close:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Overlay (core Navigation; hamburger at 768px and below)                    */
/* -------------------------------------------------------------------------- */

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open {
	display: flex;
	flex-direction: column;
	background-color: var(--wp--preset--color--base);
	background-image: url("../images/menu-wave.svg");
	background-repeat: no-repeat;
	background-position: 70% 140%;
	background-size: 220% auto;
}

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	padding-top: 0;
	padding-right: var(--wp--preset--spacing--xl);
	padding-bottom: var(--wp--preset--spacing--xl);
	padding-left: var(--wp--preset--spacing--xl);
}

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1rem; /* (72px bar − 40px hit target) / 2 */
	right: 0;
}

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
	padding-top: 8rem;
	align-items: flex-start;
	justify-content: flex-start;
}

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.airnexis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: var(--wp--preset--spacing--xl);
	align-items: flex-start;
}

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--3-xl);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.airnexis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--accent);
}

.airnexis-header .wp-block-navigation__responsive-container.is-menu-open .airnexis-header-cta .wp-block-button__link {
	font-size: var(--wp--preset--font-size--sm);
}

/* Keep the theme logo above the white overlay (same stacking context). */
.airnexis-header:has(.wp-block-navigation__responsive-container.is-menu-open) .airnexis-header-logo {
	z-index: 100001;
}

/* -------------------------------------------------------------------------- */
/* Mobile ≤768px                                                              */
/* -------------------------------------------------------------------------- */

@media (max-width: 48rem) {
	.wp-site-blocks > header.wp-block-template-part:has(.airnexis-header) {
		min-height: 4.5rem; /* 72px */
	}

	.airnexis-header {
		height: 4.5rem;
	}

	.airnexis-header .airnexis-header-logo img {
		width: 10.25rem;
		height: 2.25rem;
	}

	/*
	 * Core Navigation switches at 600px. Keep the overlay/hamburger through
	 * the theme tablet breakpoint (48rem).
	 */
	.airnexis-header .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.airnexis-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (min-width: 48.0625rem) {
	.airnexis-header .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none;
	}

	.airnexis-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: block;
		position: relative;
		z-index: auto;
		width: 100%;
		background-color: inherit;
	}

	.airnexis-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display: none;
	}
}

/* -------------------------------------------------------------------------- */
/* Editor canvas                                                              */
/* -------------------------------------------------------------------------- */

.editor-styles-wrapper .airnexis-header {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
}

.editor-styles-wrapper header.wp-block-template-part:has(.airnexis-header),
.editor-styles-wrapper .wp-site-blocks > header.wp-block-template-part:has(.airnexis-header) {
	min-height: 0;
}
