/* File: wp-content/themes/nad-child-theme/assets/css/nm-chrome.css
   NADmedia Header 1 / Footer 1. Brand-agnostic. Loaded when Header 1 prints. */

.nm-header,
.nm-footer {
	--nm-content-max: var(--nad-content-max, 1120px);
	--nm-gutter: clamp(1.25rem, 4vw, 4.5rem);
	--nm-space-xs: 0.25rem;
	--nm-space-sm: 0.5rem;
	--nm-space-md: 1rem;
	--nm-space-lg: 1.5rem;
	--nm-space-xl: clamp(2rem, 4vw, 3rem);
	--nm-button-min-height: 44px;
	--nm-header-offset: 4.5rem;
	--nm-radius: var(--nad-radius, 8px);
	--nm-stroke-width: 1px;
	--nm-button-stroke-width: 1px;
	--nm-duration: 200ms;
	--nm-color-bg: #ffffff;
	--nm-color-muted: #f4f4f5;
	--nm-color-text: #172033;
	--nm-color-text-muted: #5d6b82;
	--nm-color-accent: var(--nad-accent, #2b6cff);
	--nm-color-on-accent: #ffffff;
	--nm-color-border: rgba(23, 32, 51, 0.12);
	--nm-color-focus: #111111;
	--nm-font: var(--nad-font, inherit);
	--nm-header-height: var(--nm-header-offset);
	--nm-header-bg: var(--nm-color-bg);
	--nm-header-fg: var(--nm-color-text);
	--nm-header-bg-solid: var(--nm-color-bg);
	--nm-header-fg-solid: #172033;
	--nm-header-opacity: 1;
	box-sizing: border-box;
	font-family: var(--nm-font);
	max-width: 100%;
	overflow-x: clip;
	text-align: start;
}

.nm-header {
	color: var(--nm-header-fg);
}

.nm-footer {
	color: var(--nm-color-text);
}

.nm-header *,
.nm-header *::before,
.nm-header *::after,
.nm-footer *,
.nm-footer *::before,
.nm-footer *::after {
	box-sizing: border-box;
}

.nm-header a,
.nm-footer a {
	color: inherit;
	text-decoration: none;
}

.nm-header .nm-header__brand:hover,
.nm-header .nm-header__actions a:hover,
.nm-footer a:hover {
	opacity: 0.88;
}

.nm-header a:focus-visible,
.nm-header button:focus-visible,
.nm-footer a:focus-visible,
.nm-footer button:focus-visible {
	outline: 3px solid var(--nm-color-focus);
	outline-offset: 3px;
}

header.nm-header {
	background: var(--nm-header-bg);
	background: color-mix(in srgb, var(--nm-header-bg) calc(var(--nm-header-opacity, 1) * 100%), transparent);
	display: block;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 40;
	transition: background-color var(--nm-duration) ease, box-shadow var(--nm-duration) ease, color var(--nm-duration) ease;
}

.nm-header--sticky:not(.nm-header--transparent) {
	position: sticky;
}

.nm-header--transparent {
	background: transparent;
	position: fixed;
	width: 100%;
	--nm-header-fg: #ffffff;
	--nm-color-focus: #ffffff;
	--nm-color-text: #ffffff;
}

.nm-header--transparent.is-scrolled,
.nm-header.is-scrolled:not(.nm-header--transparent) {
	--nm-header-fg: var(--nm-header-scrolled-fg, var(--nm-header-fg-solid));
	--nm-color-text: var(--nm-header-scrolled-fg, var(--nm-header-fg-solid));
	--nm-color-focus: var(--nm-header-scrolled-fg, var(--nm-header-fg-solid));
	background: var(--nm-header-scrolled-bg, var(--nm-header-bg-solid));
	background: color-mix(in srgb, var(--nm-header-scrolled-bg, var(--nm-header-bg-solid)) calc(var(--nm-header-scrolled-opacity, 1) * 100%), transparent);
	box-shadow: 0 1px 0 var(--nm-color-border);
	color: var(--nm-header-fg);
}

.nm-header--transparent.nm-header--sticky.is-scrolled {
	position: fixed;
}

.nm-header__bar {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	gap: var(--nm-space-md);
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	margin: 0;
	max-width: none;
	min-height: var(--nm-header-height);
	padding-block: var(--nm-header-pad-top, var(--nm-space-sm)) var(--nm-header-pad-bottom, var(--nm-space-sm));
	padding-inline: var(--nm-header-pad-inline, var(--nm-gutter));
	width: 100%;
}

.nm-header__brand {
	grid-column: 1;
	justify-self: start;
}

.nm-header__brand,
.nm-header__brand a,
.nm-header .custom-logo-link {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	max-width: min(240px, 46vw);
}

.nm-header__logo,
.nm-header .custom-logo {
	display: block;
	height: auto;
	max-height: 48px;
	width: auto;
}

.nm-header__brand--text {
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	overflow-wrap: anywhere;
}

.nm-header__nav-desktop {
	display: none;
	grid-column: 2;
	min-width: 0;
	width: 100%;
}

.nm-header__nav-desktop nav {
	width: 100%;
}

.nm-header__menu {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--nm-nav-row-gap, 0.1rem) var(--nm-nav-gap, 0.75rem);
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	min-width: 0;
	padding: 0;
	width: 100%;
}

.nm-header__menu a {
	align-items: center;
	display: inline-flex;
	font-size: var(--nm-nav-font-size, 0.8125rem);
	font-weight: var(--nm-nav-font-weight, 700);
	letter-spacing: var(--nm-nav-letter-spacing, 0.04em);
	line-height: var(--nm-nav-line-height, 1.2);
	max-width: 100%;
	min-height: var(--nm-button-min-height);
	overflow-wrap: anywhere;
	padding: var(--nm-nav-pad-y, 0) var(--nm-nav-pad-x, 0);
	text-transform: var(--nm-nav-text-transform, uppercase);
}

.nm-header__menu > li {
	position: relative;
}

.nm-header__menu .sub-menu {
	background: var(--nm-header-bg);
	border: var(--nm-stroke-width, 1px) solid var(--nm-stroke-color, var(--nm-color-border));
	border-radius: var(--nm-radius);
	box-shadow: 0 8px 24px rgba(23, 32, 51, 0.08);
	color: var(--nm-color-text);
	display: none;
	left: 0;
	list-style: none;
	margin: 0;
	min-width: 12rem;
	padding: var(--nm-space-sm);
	position: absolute;
	top: 100%;
	z-index: 2;
}

.nm-header__menu > li:hover > .sub-menu,
.nm-header__menu > li:focus-within > .sub-menu {
	display: block;
}

.nm-header__actions {
	align-items: center;
	display: none;
	flex-shrink: 0;
	flex-wrap: wrap;
	gap: var(--nm-space-sm);
	grid-column: 3;
	margin: 0;
}

.nm-header__actions--drawer {
	display: flex;
	grid-column: auto;
}

.nm-header .nm-button--primary {
	background: var(--nm-header-cta-primary-bg, var(--nm-color-accent));
	border-color: var(--nm-button-stroke-color, var(--nm-header-cta-primary-bg, var(--nm-color-accent)));
	color: var(--nm-header-cta-primary-fg, var(--nm-color-on-accent));
}

.nm-header .nm-button--secondary {
	background: var(--nm-header-cta-secondary-bg, transparent);
	border-color: var(--nm-button-stroke-color, var(--nm-header-cta-secondary-fg, currentColor));
	color: var(--nm-header-cta-secondary-fg, var(--nm-color-text));
}

.nm-header__toggle {
	align-items: center;
	background: transparent;
	border: var(--nm-button-stroke-width, 1px) solid var(--nm-button-stroke-color, currentColor);
	border-radius: var(--nm-radius);
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	grid-column: 4;
	height: 44px;
	justify-content: center;
	justify-self: end;
	margin-inline-start: auto;
	padding: 0;
	width: 44px;
}

.nm-header__toggle-bars {
	display: flex;
	flex-direction: column;
	gap: 5px;
	height: 16px;
	justify-content: space-between;
	width: 18px;
}

.nm-header__toggle-bars span {
	background: currentColor;
	display: block;
	height: 2px;
	transition: transform var(--nm-duration) ease, opacity var(--nm-duration) ease;
	width: 100%;
}

.nm-header__toggle[aria-expanded="true"] .nm-header__toggle-bars span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.nm-header__toggle[aria-expanded="true"] .nm-header__toggle-bars span:nth-child(2) {
	opacity: 0;
}

.nm-header__toggle[aria-expanded="true"] .nm-header__toggle-bars span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.nm-header__drawer {
	background: var(--nm-header-bg-solid);
	border-top: 1px solid var(--nm-color-border);
	box-sizing: border-box;
	color: var(--nm-header-fg-solid);
	padding: var(--nm-space-lg) var(--nm-gutter) var(--nm-space-xl);
	--nm-color-text: var(--nm-header-fg-solid);
	--nm-color-focus: var(--nm-header-fg-solid);
}

.nm-header__drawer[hidden] {
	display: none;
}

.nm-header__menu--drawer {
	align-items: stretch;
	flex-direction: column;
	gap: 0;
}

.nm-header__menu--drawer a {
	min-height: 48px;
}

.nm-header__menu--drawer .sub-menu {
	border: 0;
	box-shadow: none;
	display: block;
	padding-left: var(--nm-space-md);
	position: static;
}

.nm-header__actions--drawer {
	display: flex;
	flex-direction: column;
	margin-top: var(--nm-space-lg);
}

.nm-header__actions--drawer .nm-button {
	width: 100%;
}

.nm-footer {
	--nm-header-fg: var(--nm-color-text);
	background: var(--nm-color-muted);
	margin-top: 0;
	padding: var(--nm-space-xl) 0 0;
}

.nm-footer__grid {
	display: grid;
	gap: var(--nm-space-xl);
	grid-template-columns: minmax(0, 1fr);
	padding-bottom: var(--nm-space-xl);
}

.nm-footer__heading,
.nm-footer__title {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 var(--nm-space-md);
	text-transform: uppercase;
}

.nm-footer__title a {
	font-size: 1.15rem;
	letter-spacing: 0.02em;
	text-transform: none;
}

.nm-footer__logo {
	display: block;
	height: auto;
	max-height: 56px;
	max-width: min(220px, 100%);
	width: auto;
}

.nm-footer__tagline {
	color: var(--nm-color-text-muted);
	line-height: 1.5;
	margin: var(--nm-space-md) 0 0;
	max-width: 28rem;
}

.nm-footer__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nm-space-sm);
	margin: var(--nm-space-lg) 0 0;
}

.nm-footer__menu,
.nm-footer__meta,
.nm-footer__social {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nm-footer__cta .nm-button {
	max-width: 100%;
}

.nm-footer__menu a,
.nm-footer__meta a {
	display: inline-flex;
	max-width: 100%;
	min-height: 44px;
	align-items: center;
	overflow-wrap: anywhere;
}

.nm-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nm-space-sm);
	margin-top: var(--nm-space-md);
}

.nm-footer__social a {
	align-items: center;
	border: var(--nm-button-stroke-width, 1px) solid var(--nm-button-stroke-color, currentColor);
	border-radius: 999px;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.nm-footer__social svg {
	display: block;
	fill: currentColor;
	height: 18px;
	width: 18px;
}

.nm-footer__legal {
	border-top: 1px solid var(--nm-color-border);
	color: var(--nm-color-text);
	font-size: 0.85rem;
	padding: var(--nm-space-md) 0;
}

.nm-footer__legal p {
	color: inherit;
	margin: 0;
}

/* Colibri global `p` color must not override Footer 1 legal copy. */
#colibri .nm-footer .nm-footer__legal,
#colibri .nm-footer .nm-footer__legal p {
	color: var(--nm-color-text);
}

body.nm-chrome-drawer-open {
	overflow: hidden;
}

/* Header 1 on NM templates: Colibri header is not the site chrome. Hide leftovers.
   Gate on nm-has-shell (template identity), not footer owner — Header 1 + Colibri Footer
   on Terra must still hide Colibri page-header. Colibri-built pages keep .page-header. */
body.nm-has-header-1.nm-has-shell .h-navigation_outer,
body.nm-has-header-1.nm-has-shell .page-header,
body.nm-has-header-1.nm-chrome-nm .h-navigation_outer,
body.nm-has-header-1.nm-chrome-nm .page-header {
	display: none;
}

.nm-header__toggle--circle {
	border-radius: 999px;
}

.nm-header__toggle--text {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	min-width: 44px;
	padding: 0 0.85rem;
	text-transform: uppercase;
	width: auto;
}

.nm-header > .nm-header__bar,
.nm-header > .nm-header__drawer {
	position: relative;
	z-index: 2;
}

.nm-header.nm-block--has-bg {
	isolation: isolate;
}

.nm-header.nm-block--has-bg:not(.nm-header--sticky):not(.nm-header--transparent) {
	position: relative;
}

.nm-header > .nm-block__media {
	z-index: 0;
	opacity: var(--nm-header-opacity, 1);
}

.nm-header.is-scrolled > .nm-block__media {
	opacity: var(--nm-header-scrolled-opacity, 1);
}

.nm-header .nm-block__overlay {
	display: none;
}

.nm-header.nm-block--bg-color:not(.is-scrolled):not(.nm-header--transparent) {
	background: color-mix(in srgb, var(--nm-block-bg, var(--nm-header-bg)) calc(var(--nm-header-opacity, 1) * 100%), transparent);
}

.nm-header--transparent.nm-block--bg-color {
	background: var(--nm-block-bg);
}

.nm-footer.nm-block--bg-image,
.nm-footer.nm-block--bg-video,
.nm-footer.nm-block--bg-slideshow,
.nm-header.nm-block--bg-image,
.nm-header.nm-block--bg-video,
.nm-header.nm-block--bg-slideshow {
	background: transparent;
}

.nm-header--nav-hamburger .nm-header__nav-desktop,
.nm-header--layout-logo-actions .nm-header__nav-desktop {
	display: none;
}

@media (min-width: 56.25em) {
	.nm-header__nav-desktop {
		display: block;
	}

	.nm-header--nav-start .nm-header__menu {
		justify-content: flex-start;
	}

	.nm-header--nav-center .nm-header__menu {
		justify-content: center;
	}

	.nm-header--nav-end .nm-header__menu {
		justify-content: flex-end;
	}

	.nm-header__actions:not(.nm-header__actions--drawer) {
		display: flex;
	}

	.nm-header--no-bar-cta .nm-header__actions:not(.nm-header__actions--drawer) {
		display: none;
	}

	.nm-header:not(.nm-header--nav-hamburger):not(.nm-header--layout-logo-actions) .nm-header__toggle,
	.nm-header:not(.nm-header--nav-hamburger):not(.nm-header--layout-logo-actions) .nm-header__drawer {
		display: none;
	}

	.nm-header--nav-hamburger .nm-header__nav-desktop,
	.nm-header--layout-logo-actions .nm-header__nav-desktop {
		display: none;
	}

	.nm-header--nav-hamburger .nm-header__toggle,
	.nm-header--layout-logo-actions .nm-header__toggle {
		display: inline-flex;
	}

	.nm-header--layout-stacked:not(.nm-header--nav-hamburger):not(.nm-header--layout-logo-actions) .nm-header__nav-desktop {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.nm-footer__grid {
		grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	}

	.nm-footer--layout-stacked .nm-footer__grid,
	.nm-footer--cols-1 .nm-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.nm-footer--layout-four.nm-footer--cols-2 .nm-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nm-footer--layout-four.nm-footer--cols-3 .nm-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.nm-header,
	.nm-header__toggle-bars span,
	.nm-button,
	.nm-header__menu a {
		transition: none;
	}
}

/* Header 1 menu interaction. Scoped to .nm-header__menu so Colibri nav is untouched. */
.nm-header__menu a {
	background-image: none;
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 0.08em;
	opacity: 1;
	text-decoration: none;
	transition: opacity var(--nm-duration) ease, color var(--nm-duration) ease, background-color var(--nm-duration) ease, background-size var(--nm-duration) ease, transform var(--nm-duration) ease;
}

.nm-header[data-nm-nav-hover="fade"] .nm-header__menu a:hover,
.nm-header[data-nm-nav-hover="fade"] .nm-header__menu a:focus-visible {
	opacity: 0.88;
}

.nm-header[data-nm-nav-hover="underline"] .nm-header__menu a,
.nm-header[data-nm-nav-hover="underline-grow"] .nm-header__menu a {
	background-image: linear-gradient(currentColor, currentColor);
}

.nm-header[data-nm-nav-hover="underline"] .nm-header__menu a:hover,
.nm-header[data-nm-nav-hover="underline"] .nm-header__menu a:focus-visible,
.nm-header[data-nm-nav-hover="underline-grow"] .nm-header__menu a:hover,
.nm-header[data-nm-nav-hover="underline-grow"] .nm-header__menu a:focus-visible {
	background-size: 100% 0.08em;
}

.nm-header[data-nm-nav-hover="color"] .nm-header__menu a:hover,
.nm-header[data-nm-nav-hover="color"] .nm-header__menu a:focus-visible {
	color: var(--nm-color-accent);
}

.nm-header[data-nm-nav-hover="lift"] .nm-header__menu a:hover,
.nm-header[data-nm-nav-hover="lift"] .nm-header__menu a:focus-visible {
	transform: translateY(-1px);
}

.nm-header[data-nm-nav-hover="highlight"] .nm-header__menu a {
	border-radius: var(--nm-radius);
}

.nm-header[data-nm-nav-hover="highlight"] .nm-header__menu a:hover,
.nm-header[data-nm-nav-hover="highlight"] .nm-header__menu a:focus-visible {
	background-color: color-mix(in srgb, currentColor 12%, transparent);
}

.nm-header[data-nm-nav-current="underline"] .nm-header__menu .current-menu-item > a,
.nm-header[data-nm-nav-current="underline"] .nm-header__menu .current_page_item > a {
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 100% 0.08em;
}

.nm-header[data-nm-nav-current="color"] .nm-header__menu .current-menu-item > a,
.nm-header[data-nm-nav-current="color"] .nm-header__menu .current_page_item > a {
	color: var(--nm-color-accent);
}

.nm-header[data-nm-nav-current="weight"] .nm-header__menu .current-menu-item > a,
.nm-header[data-nm-nav-current="weight"] .nm-header__menu .current_page_item > a {
	font-weight: 800;
}

.nm-header[data-nm-nav-current="background"] .nm-header__menu .current-menu-item > a,
.nm-header[data-nm-nav-current="background"] .nm-header__menu .current_page_item > a {
	background-color: color-mix(in srgb, currentColor 12%, transparent);
	border-radius: var(--nm-radius);
}

.nm-header__menu--drawer {
	--nm-nav-gap: 0;
}

body.nm-nav-compat-colibri.nm-header-mode-legacy-colibri .h-navigation_outer .h-navigation a {
	font-size: var(--nm-nav-font-size, inherit);
	font-weight: var(--nm-nav-font-weight, inherit);
	letter-spacing: var(--nm-nav-letter-spacing, inherit);
	line-height: var(--nm-nav-line-height, inherit);
	text-transform: var(--nm-nav-text-transform, inherit);
}

@media not all and (min-width: 56.25em) {
	.nm-header__actions:not(.nm-header__actions--drawer),
	body.nadmedia-customizer-preview .nm-header__actions:not(.nm-header__actions--drawer) {
		display: none;
	}
}
