/* Elegant site navigation — complements existing cd-* structure */

:root {
	--gm-nav-ink: #08160e;
	--gm-nav-ink-soft: #122418;
	--gm-nav-mist: rgba(248, 250, 247, 0.92);
	--gm-nav-panel: #12261a;
	--gm-nav-panel-line: rgba(255, 255, 255, 0.08);
	--gm-nav-accent: #2f6a48;
	--gm-nav-muted: #1a2e22;
	--gm-nav-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* —— Header bar —— */
.header-top {
	border-bottom: 1px solid rgba(12, 37, 22, 0.12);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.97) 0%,
		rgba(244, 248, 245, 0.94) 100%
	);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

.cd-main-header {
	background: transparent;
	height: 76px;
}

.cd-logo {
	top: 10px;
	left: 1.25rem;
	transition: opacity 0.35s var(--gm-nav-ease), transform 0.35s var(--gm-nav-ease);
}

.cd-logo:hover {
	opacity: 0.85;
	transform: translateY(-1px);
}

.cd-logo img {
	width: 72px;
	height: auto;
	display: block;
}

.cd-header-buttons {
	top: 16px;
	right: 1rem;
}

/* —— Hamburger —— */
.cd-nav-trigger {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(12, 37, 22, 0.04);
	transition: background 0.3s var(--gm-nav-ease);
}

.cd-nav-trigger:hover {
	background: rgba(12, 37, 22, 0.08);
}

.cd-nav-trigger span,
.cd-nav-trigger span::before,
.cd-nav-trigger span::after {
	background: var(--gm-nav-ink);
	height: 2px;
	border-radius: 2px;
}

/* —— Mobile brand chip (drawer only) —— */
.cd-nav-brand {
	display: none;
	padding: 2rem 1.5rem 1.25rem;
	border-bottom: 1px solid var(--gm-nav-panel-line);
	margin-bottom: 0.5rem;
}

.cd-nav-brand__name {
	display: block;
	font-family: "Playball", Georgia, serif;
	font-size: 1.65rem;
	line-height: 1.2;
	color: #f4f7f4;
	letter-spacing: 0.02em;
}

.cd-nav-brand__tag {
	display: block;
	margin-top: 0.35rem;
	font-family: "Lato", sans-serif;
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(244, 247, 244, 0.45);
}

/* —— Mobile drawer —— */
@media only screen and (max-width: 1169px) {
	.cd-nav-brand {
		display: block;
	}

	.cd-primary-nav,
	.cd-primary-nav ul {
		width: min(300px, 86vw);
		background:
			radial-gradient(ellipse 80% 40% at 100% 0%, rgba(61, 122, 86, 0.35), transparent 55%),
			linear-gradient(165deg, #163222 0%, var(--gm-nav-panel) 55%, #0a1a10 100%);
		box-shadow: -12px 0 40px rgba(0, 0, 0, 0.28);
	}

	.cd-primary-nav a,
	.cd-primary-nav ul a {
		height: auto;
		min-height: 52px;
		line-height: 1.35;
		padding: 0.95rem 1.5rem;
		font-family: "Montserrat", sans-serif;
		font-size: 0.78rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: #ffffff;
		text-decoration: none;
		border-bottom: 1px solid var(--gm-nav-panel-line);
		box-shadow: none;
		transition: color 0.25s var(--gm-nav-ease), background 0.25s var(--gm-nav-ease), padding-left 0.25s var(--gm-nav-ease);
	}

	.cd-primary-nav a:hover,
	.cd-primary-nav a:focus {
		color: #fff;
		background: rgba(255, 255, 255, 0.04);
		padding-left: 1.75rem;
		text-decoration: none;
		box-shadow: none;
	}

	.cd-primary-nav > li.is-active > a {
		color: #fff;
		font-weight: 800;
		background: rgba(61, 122, 86, 0.18);
		box-shadow: inset 3px 0 0 var(--gm-nav-accent);
		border-bottom: 1px solid var(--gm-nav-panel-line);
	}

	.cd-main-content.nav-is-visible,
	.cd-main-header.nav-is-visible {
		transform: translateX(calc(-1 * min(300px, 86vw)));
	}
}

/* —— Desktop nav —— */
@media only screen and (min-width: 1170px) {
	.cd-main-header {
		height: 88px;
	}

	.cd-logo {
		top: 12px;
		left: 3rem;
	}

	.cd-logo img {
		width: 64px;
	}

	.cd-nav-brand {
		display: none !important;
	}

	.cd-primary-nav {
		padding: 0 3rem 0 0;
		display: flex;
		align-items: center;
		float: right;
		height: 88px;
	}

	.cd-primary-nav:after {
		display: none;
	}

	.cd-primary-nav > li {
		float: none;
		margin-left: 0;
	}

	.cd-primary-nav > li > a,
	.cd-primary-nav > li > a.animsition-link,
	.cd-primary-nav > li > a.selected {
		position: relative;
		display: inline-flex;
		align-items: center;
		height: 84px;
		line-height: 1;
		padding: 0 0.85rem;
		margin: 0 0.15rem;
		font-family: "Montserrat", sans-serif;
		font-weight: 700;
		font-size: 0.7rem;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--gm-nav-ink);
		text-decoration: none !important;
		border: 0 !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
		background: transparent;
		transition: color 0.3s var(--gm-nav-ease);
	}

	/* Single underline indicator (hover + active) */
	.cd-primary-nav > li > a::after,
	.cd-primary-nav > li > a::before {
		content: none;
	}

	.cd-primary-nav > li > a::after {
		content: "";
		position: absolute;
		left: 0.85rem;
		right: 0.85rem;
		bottom: 26px;
		height: 2px;
		background: var(--gm-nav-ink);
		transform: scaleX(0);
		transform-origin: center;
		transition: transform 0.35s var(--gm-nav-ease), background 0.3s var(--gm-nav-ease);
		pointer-events: none;
		box-shadow: none;
		border: 0;
	}

	.cd-primary-nav > li > a:hover,
	.cd-primary-nav > li > a:focus {
		color: var(--gm-nav-ink);
		text-decoration: none !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
	}

	.cd-primary-nav > li > a:hover::after,
	.cd-primary-nav > li > a:focus::after {
		transform: scaleX(1);
	}

	.cd-primary-nav > li.is-active > a,
	.cd-primary-nav > li > a.selected,
	.cd-primary-nav > li.is-active > a.selected {
		color: var(--gm-nav-ink);
		font-weight: 800;
		text-decoration: none !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
	}

	.cd-primary-nav > li.is-active > a::after,
	.cd-primary-nav > li > a.selected::after,
	.cd-primary-nav > li.is-active > a.selected::after {
		transform: scaleX(1);
		background: var(--gm-nav-accent);
	}

	/* Avoid hover stacking a second line look on the active item */
	.cd-primary-nav > li.is-active > a:hover::after,
	.cd-primary-nav > li.is-active > a:focus::after {
		background: var(--gm-nav-accent);
	}
}

@media only screen and (min-width: 1400px) {
	.cd-primary-nav > li > a {
		padding: 0 1rem;
		margin: 0 0.2rem;
		font-size: 0.7rem;
	}
}
