/**
 * GFS Side Nav — multi-level drawer menu
 *
 * depth 0 — main items (Home, Services, About, Fleets, News, Careers)
 * depth 1 — subnav (Services children, or States under Fleets)
 * depth 2 — sub-subnav (fleet companies under a state)
 */

.gfs-side-nav {
	width: 100%;
	color: #fff;
	font-family: eurostile, sans-serif;
	box-sizing: border-box;
}

.gfs-side-nav *,
.gfs-side-nav *::before,
.gfs-side-nav *::after {
	box-sizing: border-box;
}

.gfs-side-nav__menu,
.gfs-side-nav__sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gfs-side-nav__item {
	margin: 0;
	padding: 0;
}

/* ----- Depth 0: main nav ----- */
.gfs-side-nav__menu > .gfs-side-nav__item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.gfs-side-nav__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.gfs-side-nav__link {
	display: block;
	flex: 1 1 auto;
	padding: 12px 0;
	color: #ffffff !important;
	text-decoration: none !important;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 400;
	/* Beat global child-theme rule: `button *, a.fl-button * { text-transform: uppercase }` */
	text-transform: none !important;
	letter-spacing: normal !important;
	transition: color 150ms ease;
	background: none;
	border: 0;
	text-align: left;
	font-family: inherit;
	cursor: pointer;
	width: 100%;
}

.gfs-side-nav button.gfs-side-nav__link,
.gfs-side-nav button.gfs-side-nav__toggle {
	text-transform: none !important;
	letter-spacing: normal !important;
}

a.gfs-side-nav__link {
	cursor: pointer;
}

.gfs-side-nav__link:hover,
.gfs-side-nav__link:focus {
	color: #ed1c24 !important;
	outline: none;
}

.gfs-side-nav__link--top {
	font-size: 20px;
	font-weight: 400;
}

/* ----- Chevron toggle ----- */
.gfs-side-nav__toggle {
	appearance: none;
	background: transparent;
	border: 0;
	color: #ed1c24;
	cursor: pointer;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	line-height: 1;
}

.gfs-side-nav__toggle:hover,
.gfs-side-nav__toggle:focus {
	outline: none;
}

.gfs-side-nav__chevron {
	display: block;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 280ms ease, margin-top 280ms ease;
	margin-top: -4px;
	will-change: transform;
}

.gfs-side-nav__item.is-open > .gfs-side-nav__row .gfs-side-nav__chevron {
	transform: rotate(225deg);
	margin-top: 4px;
}

/* When label button is used, keep expanded state in sync via parent .is-open */
.gfs-side-nav__item.is-open > .gfs-side-nav__row .gfs-side-nav__link--label {
	color: #ed1c24 !important;
}

/* ----- Submenus (depth 1 + 2) — height/opacity animated in JS ----- */
.gfs-side-nav__sub-menu {
	padding: 0 0 8px 0;
	/* Avoid layout jump flash before JS sets height */
	overflow: hidden;
}

.gfs-side-nav__sub-menu[hidden] {
	display: none !important;
}

.gfs-side-nav__sub-menu--depth-1 {
	padding-left: 14px;
	border-left: 2px solid rgba(237, 28, 36, 0.35);
	margin: 0 0 6px 4px;
}

.gfs-side-nav__sub-menu--depth-2 {
	padding-left: 12px;
	margin: 0 0 4px 2px;
	border-left: 1px solid rgba(255, 255, 255, 0.12);
}

/* Depth 1 links (Services children, state names) */
.gfs-side-nav__link--sub {
	font-size: 16px;
	padding: 8px 0;
	color: rgba(255, 255, 255, 0.92) !important;
}

/* State labels: slightly emphasized, but NOT all-caps (same casing as admin label). */
.gfs-side-nav__link--state {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none !important;
	color: rgba(255, 255, 255, 0.72) !important;
	padding: 10px 0;
}

.gfs-side-nav__item--state {
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.gfs-side-nav__item--state:last-child {
	border-bottom: 0;
}

/* Depth 2 links (fleet companies) */
.gfs-side-nav__link--subsub {
	font-size: 15px;
	padding: 6px 0;
	color: rgba(255, 255, 255, 0.85) !important;
}

.gfs-side-nav__link--sub:hover,
.gfs-side-nav__link--subsub:hover,
.gfs-side-nav__link--state:hover {
	color: #ed1c24 !important;
}

/* Standalone fleets shortcode */
.gfs-side-nav--fleets-only .gfs-side-nav__item--state {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.gfs-side-nav__menu--flat .gfs-side-nav__item--state {
	margin-bottom: 16px;
}

/* Screen reader helper */
.gfs-side-nav .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
