/* Forge LX Labs Global Header — v1.0.0 */

/* Hide the default Astra header only when this replacement is active. */
body.forge-global-header-enabled header#masthead,
body.forge-global-header-enabled .site-header,
body.forge-global-header-enabled #ast-desktop-header,
body.forge-global-header-enabled #ast-mobile-header,
body.forge-global-header-enabled .ast-mobile-header-wrap,
body.forge-global-header-enabled .ast-primary-header-bar {
	display: none !important;
}

/* Prevent Astra/theme link colors from turning navigation links blue. */
.forge-global-header,
.forge-global-header * {
	box-sizing: border-box;
}

.forge-global-header a,
.forge-global-header a:visited,
.forge-global-header button {
	-webkit-tap-highlight-color: transparent;
}

.forge-global-header {
	--flx-header-black: #050505;
	--flx-header-panel: #0b0b0c;
	--flx-header-gold: #d9ad45;
	--flx-header-gold-light: #f0c85f;
	--flx-header-text: #ededf0;
	--flx-header-muted: #a9a9ad;
	--flx-header-line: rgba(217,173,69,.22);
	position: sticky;
	top: 0;
	z-index: 9990;
	width: 100%;
	border-bottom: 1px solid var(--flx-header-line);
	background:
		radial-gradient(circle at 12% 0%, rgba(217,173,69,.055), transparent 22%),
		rgba(5,5,5,.975);
	color: var(--flx-header-text);
	font-family: inherit;
	box-shadow: 0 15px 38px rgba(0,0,0,.30);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

body.admin-bar .forge-global-header {
	top: 32px;
}

.forge-global-header__inner {
	display: grid;
	grid-template-columns: 185px minmax(0, 1fr) auto;
	gap: clamp(20px, 3vw, 42px);
	align-items: center;
	width: min(1450px, calc(100% - 46px));
	min-height: 84px;
	margin: 0 auto;
}

.forge-global-header__logo-link {
	display: inline-block;
	width: fit-content;
	line-height: 0;
	text-decoration: none !important;
}

.forge-global-header__logo {
	display: block;
	width: 148px;
	max-width: 100%;
	height: auto;
	filter: drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

.forge-global-header__desktop-nav {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: center;
	gap: clamp(18px, 2vw, 32px);
}

.forge-global-header__nav-link {
	position: relative;
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	padding: 0 0 2px;
	color: #d8d8dc !important;
	font-size: 12px;
	font-weight: 780;
	letter-spacing: .015em;
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;
	transition: color .17s ease, filter .17s ease;
}

.forge-global-header__nav-link::after {
	content: "";
	position: absolute;
	right: 50%;
	bottom: 4px;
	left: 50%;
	height: 1px;
	background: var(--flx-header-gold-light);
	box-shadow: 0 0 7px rgba(217,173,69,.34);
	transition: right .17s ease, left .17s ease;
}

.forge-global-header__nav-link:hover,
.forge-global-header__nav-link:focus-visible,
.forge-global-header__nav-link.is-active {
	color: var(--flx-header-gold-light) !important;
	outline: none;
}

.forge-global-header__nav-link:hover::after,
.forge-global-header__nav-link:focus-visible::after,
.forge-global-header__nav-link.is-active::after {
	right: 0;
	left: 0;
}

.forge-global-header__products {
	position: relative;
	display: flex;
	align-items: center;
}

.forge-global-header__products.is-active .forge-global-header__products-link {
	color: var(--flx-header-gold-light) !important;
}

.forge-global-header__products.is-active .forge-global-header__products-link::after {
	right: 0;
	left: 0;
}

.forge-global-header__products-toggle {
	display: grid;
	width: 26px;
	height: 42px;
	place-items: center;
	margin: 0 0 0 -2px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #bdbdc2;
	cursor: pointer;
}

.forge-global-header__products-toggle svg {
	width: 10px;
	height: 7px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	transition: transform .17s ease;
}

.forge-global-header__products:hover .forge-global-header__products-toggle svg,
.forge-global-header__products.is-open .forge-global-header__products-toggle svg {
	transform: rotate(180deg);
}

.forge-global-header__dropdown {
	position: absolute;
	top: calc(100% + 14px);
	left: 50%;
	width: min(520px, 88vw);
	padding: 18px;
	border: 1px solid rgba(217,173,69,.32);
	border-radius: 12px;
	background:
		radial-gradient(circle at 90% 5%, rgba(217,173,69,.08), transparent 28%),
		#0a0a0b;
	box-shadow: 0 24px 60px rgba(0,0,0,.56);
	opacity: 0;
	pointer-events: none;
	transform: translate(-34%, -8px);
	transition: opacity .17s ease, transform .17s ease;
}

.forge-global-header__products:hover .forge-global-header__dropdown,
.forge-global-header__products:focus-within .forge-global-header__dropdown,
.forge-global-header__products.is-open .forge-global-header__dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-34%, 0);
}

.forge-global-header__dropdown::before {
	content: "";
	position: absolute;
	top: -15px;
	left: 0;
	width: 100%;
	height: 15px;
}

.forge-global-header__dropdown-heading {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	padding: 2px 2px 14px;
	border-bottom: 1px solid rgba(217,173,69,.14);
}

.forge-global-header__dropdown-heading span {
	color: var(--flx-header-gold-light);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.forge-global-header__dropdown-heading a {
	color: #bdbdc1 !important;
	font-size: 10px;
	font-weight: 800;
	text-decoration: none !important;
}

.forge-global-header__dropdown-heading a:hover,
.forge-global-header__dropdown-heading a:focus-visible {
	color: var(--flx-header-gold-light) !important;
	outline: none;
}

.forge-global-header__dropdown-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin-top: 13px;
}

.forge-global-header__dropdown-grid a {
	display: flex;
	min-height: 40px;
	align-items: center;
	justify-content: space-between;
	padding: 9px 11px;
	border: 1px solid rgba(217,173,69,.12);
	border-radius: 7px;
	background: #080809;
	color: #d4d4d8 !important;
	font-size: 11px;
	font-weight: 780;
	line-height: 1.35;
	text-decoration: none !important;
	transition:
		border-color .16s ease,
		background .16s ease,
		color .16s ease,
		transform .16s ease;
}

.forge-global-header__dropdown-grid a span {
	color: var(--flx-header-gold-light);
}

.forge-global-header__dropdown-grid a:hover,
.forge-global-header__dropdown-grid a:focus-visible {
	transform: translateX(2px);
	border-color: rgba(240,200,95,.43);
	background: rgba(217,173,69,.055);
	color: var(--flx-header-gold-light) !important;
	outline: none;
}

.forge-global-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.forge-global-header__action {
	display: inline-flex;
	min-height: 30px;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border: 1px solid rgba(217,173,69,.28);
	border-radius: 999px;
	background: rgba(8,8,9,.72);
	color: #d4d4d8 !important;
	font-size: 9px;
	font-weight: 930;
	letter-spacing: .055em;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
	transition:
		border-color .16s ease,
		background .16s ease,
		color .16s ease,
		box-shadow .16s ease;
}

.forge-global-header__action:hover,
.forge-global-header__action:focus-visible,
.forge-global-header__action.is-active {
	border-color: rgba(240,200,95,.68);
	background: rgba(217,173,69,.07);
	color: var(--flx-header-gold-light) !important;
	box-shadow: inset 0 0 0 1px rgba(240,200,95,.08);
	outline: none;
}

.forge-global-header__action--gold {
	color: var(--flx-header-gold-light) !important;
}

.forge-global-header__cart {
	display: inline-flex;
	min-width: 43px;
	min-height: 35px;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 5px 7px;
	border: 1px solid transparent;
	border-radius: 7px;
	color: var(--flx-header-gold-light) !important;
	text-decoration: none !important;
	transition: border-color .16s ease, background .16s ease;
}

.forge-global-header__cart:hover,
.forge-global-header__cart:focus-visible {
	border-color: rgba(217,173,69,.28);
	background: rgba(217,173,69,.055);
	outline: none;
}

.forge-global-header__cart svg {
	width: 23px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.45;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.forge-global-header__cart-count {
	min-width: 12px;
	color: var(--flx-header-gold-light);
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
}

.forge-global-header__menu-toggle {
	display: none;
	width: 43px;
	height: 39px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	padding: 0;
	border: 1px solid rgba(217,173,69,.27);
	border-radius: 7px;
	background: #080809;
	cursor: pointer;
}

.forge-global-header__menu-toggle span {
	display: block;
	width: 18px;
	height: 1px;
	background: var(--flx-header-gold-light);
	transition: transform .17s ease, opacity .17s ease;
}

.forge-global-header__menu-toggle.is-open span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.forge-global-header__menu-toggle.is-open span:nth-child(2) {
	opacity: 0;
}

.forge-global-header__menu-toggle.is-open span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.forge-global-header__mobile-menu {
	border-top: 1px solid rgba(217,173,69,.15);
	background: #070708;
	box-shadow: 0 28px 55px rgba(0,0,0,.48);
}

.forge-global-header__mobile-inner {
	width: min(760px, calc(100% - 32px));
	max-height: calc(100vh - 110px);
	margin: 0 auto;
	padding: 22px 0 29px;
	overflow-y: auto;
}

.forge-global-header__mobile-title {
	margin-bottom: 12px;
	color: var(--flx-header-gold-light);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.forge-global-header__mobile-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.forge-global-header__mobile-product-grid a {
	display: grid;
	min-height: 42px;
	place-items: center;
	padding: 8px;
	border: 1px solid rgba(217,173,69,.16);
	border-radius: 7px;
	background: #0a0a0b;
	color: #d7d7db !important;
	font-size: 10px;
	font-weight: 780;
	text-align: center;
	text-decoration: none !important;
}

.forge-global-header__mobile-product-grid a:hover,
.forge-global-header__mobile-product-grid a:focus-visible {
	border-color: rgba(240,200,95,.50);
	color: var(--flx-header-gold-light) !important;
	outline: none;
}

.forge-global-header__mobile-view-all {
	display: inline-block;
	margin-top: 12px;
	color: var(--flx-header-gold-light) !important;
	font-size: 10px;
	font-weight: 850;
	text-decoration: none !important;
}

.forge-global-header__mobile-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(217,173,69,.13);
}

.forge-global-header__mobile-link {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border: 1px solid rgba(217,173,69,.14);
	border-radius: 7px;
	background: #09090a;
	color: #d5d5d9 !important;
	font-size: 10px;
	font-weight: 800;
	text-decoration: none !important;
}

.forge-global-header__mobile-link span {
	color: var(--flx-header-gold-light);
}

.forge-global-header__mobile-link:hover,
.forge-global-header__mobile-link:focus-visible,
.forge-global-header__mobile-link.is-active {
	border-color: rgba(240,200,95,.48);
	background: rgba(217,173,69,.055);
	color: var(--flx-header-gold-light) !important;
	outline: none;
}

@media (max-width: 1260px) {
	.forge-global-header__desktop-nav {
		display: none;
	}

	.forge-global-header__inner {
		grid-template-columns: 170px 1fr auto;
	}

	.forge-global-header__actions {
		grid-column: 3;
	}

	.forge-global-header__menu-toggle {
		display: inline-flex;
	}

	.forge-global-header__action {
		display: none;
	}
}

@media (max-width: 620px) {
	body.admin-bar .forge-global-header {
		top: 46px;
	}

	.forge-global-header__inner {
		grid-template-columns: 145px 1fr auto;
		width: min(100% - 24px, 760px);
		min-height: 72px;
		gap: 10px;
	}

	.forge-global-header__logo {
		width: 132px;
	}

	.forge-global-header__cart {
		min-width: 38px;
		padding-right: 4px;
		padding-left: 4px;
	}

	.forge-global-header__menu-toggle {
		width: 39px;
	}

	.forge-global-header__mobile-product-grid,
	.forge-global-header__mobile-links {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.forge-global-header *,
	.forge-global-header *::before,
	.forge-global-header *::after {
		animation: none !important;
		transition-duration: .01ms !important;
	}
}
