/**
 * Header navigation — accessible hover, focus, and current-page states.
 * Pure CSS · underline slide · forced-colors · reduced motion.
 *
 * Underline uses ::before so ::after stays free for submenu chevrons (.gt-nav__link--has-sub).
 */

:root {
	--color-nav-default: #063652;
	--color-nav-hover: #005282;
	--color-nav-accent: #00aeef;
	--color-nav-accent-bg: rgb(0 174 239 / 0.1);
	--color-nav-on-dark-default: rgb(255 255 255 / 0.85);
	--color-nav-on-dark-hover: #fff;
}

/* —— Base link + sliding underline (::before) —— */
.gt-header-shell .gt-nav__link {
	position: relative;
	text-decoration: none;
	background-color: transparent;
	box-shadow: none;
	overflow: visible;
}

.gt-header-shell .gt-nav__link::before {
	content: '';
	position: absolute;
	left: 0.55rem;
	right: 0.55rem;
	bottom: 0.18rem;
	height: 2px;
	background-color: var(--color-nav-accent);
	transform: scaleX(0);
	transform-origin: left center;
	z-index: 1;
	pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
	.gt-header-shell .gt-nav__link::before {
		transition: transform 0.3s ease;
	}
}

/* Instant text color (outside reduced-motion) */
.gt-header-shell .gt-nav__links .gt-nav__link,
.gt-header-shell .gt-nav__submenu .gt-nav__link {
	color: var(--color-nav-default);
}

.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links .gt-nav__link {
	color: var(--color-nav-on-dark-default);
}

/* Hover + focus — identical */
.gt-header-shell .gt-nav__link:hover,
.gt-header-shell .gt-nav__link:focus-visible,
.gt-header-shell .gt-nav__links > li.menu-item-has-children:hover > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-nav__links > li.menu-item-has-children.is-submenu-open > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-nav__links > li.menu-item-has-children:hover > a.gt-nav__link,
.gt-header-shell .gt-nav__links > li.menu-item-has-children.is-submenu-open > a.gt-nav__link {
	color: var(--color-nav-hover);
	background-color: transparent;
	box-shadow: none;
	opacity: 1;
}

.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links .gt-nav__link:hover,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links .gt-nav__link:focus-visible,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.menu-item-has-children:hover > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.menu-item-has-children.is-submenu-open > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.menu-item-has-children:hover > a.gt-nav__link,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.menu-item-has-children.is-submenu-open > a.gt-nav__link {
	color: var(--color-nav-on-dark-hover);
}

.gt-header-shell .gt-nav__link:hover::before,
.gt-header-shell .gt-nav__link:focus-visible::before,
.gt-header-shell .gt-nav__links > li.menu-item-has-children:hover > .gt-nav__item-row > .gt-nav__link::before,
.gt-header-shell .gt-nav__links > li.menu-item-has-children.is-submenu-open > .gt-nav__item-row > .gt-nav__link::before,
.gt-header-shell .gt-nav__links > li.menu-item-has-children:hover > a.gt-nav__link::before,
.gt-header-shell .gt-nav__links > li.menu-item-has-children.is-submenu-open > a.gt-nav__link::before {
	transform: scaleX(1);
}

/* Keyboard focus — never suppress outline */
.gt-header-shell .gt-nav__link:focus {
	outline: none;
}

.gt-header-shell .gt-nav__link:focus-visible {
	outline: 2px solid var(--color-nav-accent);
	outline-offset: 4px;
}

/* Current / active page */
.gt-header-shell .gt-nav__links > li.current-menu-item > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-nav__links > li.current-menu-item > a.gt-nav__link,
.gt-header-shell .gt-nav__links > li.current-menu-ancestor > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-nav__links > li.current-menu-ancestor > a.gt-nav__link,
.gt-header-shell .gt-nav__submenu > li.current-menu-item > .gt-nav__link {
	color: var(--color-nav-hover);
	font-weight: 600;
}

.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.current-menu-item > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.current-menu-item > a.gt-nav__link,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.current-menu-ancestor > .gt-nav__item-row > .gt-nav__link,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__links > li.current-menu-ancestor > a.gt-nav__link {
	color: var(--color-nav-on-dark-hover);
}

.gt-header-shell .gt-nav__links > li.current-menu-item > .gt-nav__item-row > .gt-nav__link::before,
.gt-header-shell .gt-nav__links > li.current-menu-item > a.gt-nav__link::before,
.gt-header-shell .gt-nav__links > li.current-menu-ancestor > .gt-nav__item-row > .gt-nav__link::before,
.gt-header-shell .gt-nav__links > li.current-menu-ancestor > a.gt-nav__link::before,
.gt-header-shell .gt-nav__submenu > li.current-menu-item > .gt-nav__link::before {
	transform: scaleX(1);
}

/* Submenu — light dropdown */
.gt-header-shell .gt-site-header--on-light .gt-nav__submenu .gt-nav__link,
.gt-header-shell .gt-site-header--overlay.gt-header--scrolled .gt-nav__submenu .gt-nav__link {
	color: var(--color-nav-default);
}

.gt-header-shell .gt-site-header--on-light .gt-nav__submenu .gt-nav__link:hover,
.gt-header-shell .gt-site-header--on-light .gt-nav__submenu .gt-nav__link:focus-visible,
.gt-header-shell .gt-site-header--overlay.gt-header--scrolled .gt-nav__submenu .gt-nav__link:hover,
.gt-header-shell .gt-site-header--overlay.gt-header--scrolled .gt-nav__submenu .gt-nav__link:focus-visible {
	color: var(--color-nav-hover);
	background-color: var(--color-nav-accent-bg);
}

/* Submenu — dark glass (hero / Commercial Access dropdown) */
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__submenu .gt-nav__link {
	color: var(--color-nav-on-dark-default);
}

.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__submenu .gt-nav__link:hover,
.gt-header-shell .gt-site-header--overlay:not(.gt-header--scrolled) .gt-nav__submenu .gt-nav__link:focus-visible {
	color: var(--color-nav-on-dark-hover);
	background-color: rgb(255 255 255 / 0.08);
}

/* Submenu block links — full-width underline, no clip */
.gt-header-shell .gt-nav__submenu {
	overflow: visible;
}

.gt-header-shell .gt-nav__submenu .gt-nav__link {
	display: block;
	overflow: visible;
	border-radius: 0;
	padding-top: 0.55rem;
	padding-bottom: 0.65rem;
}

.gt-header-shell .gt-nav__submenu .gt-nav__link::before {
	left: 0;
	right: 0;
	bottom: 0;
}

/* —— High contrast / forced colors —— */
@media (forced-colors: active) {
	.gt-header-shell .gt-nav__link {
		color: LinkText;
		background-color: transparent;
	}

	.gt-header-shell .gt-nav__link::before {
		background-color: Highlight;
	}

	.gt-header-shell .gt-nav__link:hover,
	.gt-header-shell .gt-nav__link:focus-visible {
		color: LinkText;
		background-color: transparent;
	}

	.gt-header-shell .gt-nav__link:focus-visible {
		outline: 2px solid Highlight;
		outline-offset: 4px;
	}

	.gt-header-shell .gt-nav__links > li.current-menu-item > .gt-nav__item-row > .gt-nav__link,
	.gt-header-shell .gt-nav__links > li.current-menu-item > a.gt-nav__link,
	.gt-header-shell .gt-nav__links > li.current-menu-ancestor > .gt-nav__item-row > .gt-nav__link,
	.gt-header-shell .gt-nav__links > li.current-menu-ancestor > a.gt-nav__link,
	.gt-header-shell .gt-nav__submenu > li.current-menu-item > .gt-nav__link {
		color: LinkText;
		font-weight: 600;
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}

	.gt-header-shell .gt-nav__links > li.current-menu-item > .gt-nav__item-row > .gt-nav__link::before,
	.gt-header-shell .gt-nav__links > li.current-menu-item > a.gt-nav__link::before,
	.gt-header-shell .gt-nav__links > li.current-menu-ancestor > .gt-nav__item-row > .gt-nav__link::before,
	.gt-header-shell .gt-nav__links > li.current-menu-ancestor > a.gt-nav__link::before,
	.gt-header-shell .gt-nav__submenu > li.current-menu-item > .gt-nav__link::before {
		transform: scaleX(1);
		background-color: Highlight;
	}
}
