/* =========================================================
   LFD Editorial Header v12
   Desktop CTA from featured menu, larger nav text, larger mobile logo
   ========================================================= */

body.lfd-custom-header-enabled .edgtf-page-header,
body.lfd-custom-header-enabled .edgtf-mobile-header,
body.lfd-custom-header-enabled .edgtf-sticky-header {
	display: none !important;
}

body.lfd-custom-header-enabled .edgtf-login-register-widget,
body.lfd-custom-header-enabled .edgtf-user-icon,
body.lfd-custom-header-enabled .edgtf-header-widget-area,
body.lfd-custom-header-enabled .edgtf-position-right-inner > .widget {
	display: none !important;
}

body.lfd-custom-header-enabled {
	--lfd-black: #0c0c0c;
	/* 0.55 OF BLACK, NOT 0.56 OF #0c0c0c. This variable paints ten things in this file and it
	   was 4.4781:1 - under the 4.5:1 WCAG 2.2 AA asks of normal text, by 0.022. It was left alone
	   when .lfd-header-cta span was fixed, on the reasoning that one consumer's defect is not a
	   reason to move a shared token; then prototypes/legacy/menu.html rendered this file for the
	   first time and axe found OTHER consumers failing at the same 4.47:1. Ten consumers with one
	   defect between them is a token problem. rgba(0, 0, 0, 0.55) is #737373, 4.7417:1. */
	--lfd-muted: rgba(0, 0, 0, 0.55);
	--lfd-line: rgba(12, 12, 12, 0.15);
	--lfd-line-2: rgba(12, 12, 12, 0.085);
	--lfd-paper: #ffffff;
	--lfd-panel: #fbfaf8;
	--lfd-gold: #b39258;

	/* THE STACKING CONTRACT.

	   This file used to carry ten z-index values between 10 and 999999 - 99999 on the header,
	   99998 on the dropdown, 100001 on a submenu, 999999 !important on the mobile panel - each
	   one chosen to beat whatever it had just lost to. Numbers like that are not a layering
	   decision, they are the absence of one, and the next element that needs to sit on top has
	   nowhere left to go.

	   There is ONE number that faces the outside world: --lfd-header-z-root, which has to clear
	   Manon's own stack. .lfd-site-header then declares `isolation: isolate`, which makes every
	   z-index inside it LOCAL - so the six below are 1 to 5 and mean what they say, and no rule
	   inside this header can ever paint over something outside it.

	   THE PREFIX IS --lfd-header-z-*, NOT --lfd-z-*. tokens.css already owns a --lfd-z-* scale
	   (--lfd-z-header: 60, --lfd-z-dropdown: 70 and nine more). Declaring those two names here,
	   at different values, would shadow the design system's tokens for every element inside this
	   header - which tests/test_design_system.py caught and named on the run after they were
	   written. These are the header's own, and they say so. */
	--lfd-header-z-root: 9999;
	--lfd-header-z-dropdown: 1;
	--lfd-header-z-line: 2;
	--lfd-header-z-nav: 3;
	--lfd-header-z-submenu: 4;
	--lfd-header-z-fullscreen: 5;
}

body.lfd-custom-header-enabled .edgtf-content {
	padding-top: 0 !important;
}

.lfd-site-header {
	position: relative;
	z-index: var(--lfd-header-z-root, 9999);
	/* The one place a stacking context is created on purpose. Everything below is local to it. */
	isolation: isolate;
	width: 100%;
	background: #fff;
	color: var(--lfd-black);
	border-bottom: 1px solid var(--lfd-line-2);
	overflow: visible !important;
	isolation: isolate;
}

.lfd-header-line {
	position: relative;
	z-index: var(--lfd-header-z-line, 2);
	width: min(1560px, calc(100% - 56px));
	margin: 0 auto;
	min-height: 88px;
	display: grid;
	grid-template-columns: 285px minmax(0, 1fr) auto;
	align-items: center;
	gap: 30px;
	overflow: visible !important;
}

.lfd-header-brand {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	height: 100%;
}

.lfd-header-brand-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	color: var(--lfd-black);
	text-decoration: none;
	transform: translateY(1px);
}

.lfd-header-brand .edgtf-logo-wrapper,
.lfd-header-brand .edgtf-normal-logo,
.lfd-header-brand .edgtf-dark-logo,
.lfd-header-brand .edgtf-light-logo {
	display: block;
}

.lfd-header-brand img {
	display: block !important;
	width: auto !important;
	max-width: 255px !important;
	max-height: 54px !important;
	object-fit: contain !important;
}

.lfd-header-nav {
	position: relative;
	z-index: var(--lfd-header-z-nav, 3);
	justify-self: center;
	min-width: 0;
	overflow: visible !important;
}

.lfd-primary-menu {
	position: relative;
	z-index: var(--lfd-header-z-nav, 3);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 2.35vw, 44px);
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: visible !important;
}

.lfd-primary-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	overflow: visible !important;
}

.lfd-primary-menu a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 12px;
	line-height: 1;
	font-weight: 850;
	color: var(--lfd-black);
	white-space: nowrap;
}

.lfd-primary-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 1px;
	background: var(--lfd-black);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.2s ease;
}

.lfd-primary-menu > li:hover > a::after,
.lfd-primary-menu .current-menu-item > a::after,
.lfd-primary-menu .current-menu-ancestor > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.lfd-primary-menu > .menu-item-has-children > a {
	padding-right: 15px;
}

.lfd-primary-menu > .menu-item-has-children > a::before {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	color: var(--lfd-muted);
}

.lfd-primary-menu .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: -24px;
	min-width: 230px;
	margin: 0;
	padding: 20px 24px 22px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--lfd-line-2);
	box-shadow: 0 24px 65px rgba(0,0,0,0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
	z-index: var(--lfd-header-z-submenu, 4);
	pointer-events: none;
}

.lfd-primary-menu > li:hover > .sub-menu,
.lfd-primary-menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.lfd-primary-menu .sub-menu li + li {
	margin-top: 13px;
}

.lfd-primary-menu .sub-menu a {
	min-height: 0;
	display: block;
	font-size: 13px;
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-transform: none;
	font-weight: 500;
	color: var(--lfd-black);
	white-space: nowrap;
}

.lfd-primary-menu .sub-menu a:hover {
	color: var(--lfd-gold);
}

.lfd-header-tools {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
}

.lfd-menu-toggle {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--lfd-black);
	cursor: pointer;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 11px;
	line-height: 1;
	font-weight: 850;
}

.lfd-menu-toggle-icon {
	position: relative;
	width: 27px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.lfd-menu-toggle-icon span {
	position: absolute;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--lfd-black);
	transition: transform 0.22s ease;
}

.lfd-menu-toggle-icon span:first-child {
	transform: translateY(-6px);
}

.lfd-menu-toggle-icon span:last-child {
	transform: translateY(6px);
}

/* Compact desktop dropdown */

.lfd-menu-dropdown[hidden] {
	display: none !important;
}

.lfd-menu-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: var(--lfd-header-z-dropdown, 1);
	background: transparent;
	color: var(--lfd-black);
}

.lfd-menu-dropdown-inner {
	width: min(1260px, calc(100% - 56px));
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--lfd-line-2);
	border-top: 0;
	box-shadow: 0 28px 80px rgba(0,0,0,0.12);
	transform: translateY(-8px);
	opacity: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

body.lfd-menu-open .lfd-menu-dropdown-inner {
	transform: translateY(0);
	opacity: 1;
}

.lfd-menu-dropdown-head {
	min-height: 58px;
	padding: 0 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--lfd-line-2);
}

.lfd-menu-title {
	display: flex;
	align-items: center;
}

.lfd-menu-title span {
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 9px;
	line-height: 1;
	font-weight: 850;

	/* THE SAME 4.4781:1 DEFECT, IN THE COPY AXE HAS NEVER SEEN.
	   This file declares .lfd-header-cta span too, and --lfd-muted here is rgba(12, 12, 12, 0.56)
	   - byte for byte the value components/header/header.css carried. No preview page loads
	   lfd-menu.css, so the browser gate has never rendered this rule; it was found by reading the
	   cascade rather than by measuring it, and fixing only the other copy would have left a live
	   failure behind a green lane.

	   --lfd-muted itself is NOT changed: it has ten consumers in this file and this defect is one
	   of them. Changing the variable would be the global edit that is out of scope here.

	   The fallback is load-bearing, not belt-and-braces. lfd-menu.css is enqueued with no
	   dependencies, and the design-system layers are enqueued only when a component asks for
	   them, so tokens.css is not guaranteed to be on the page. Without the fallback this would be
	   invalid at computed-value time and inherit. rgb(0 0 0 / 0.55) is what the token expands to,
	   so the two branches are the same colour and there is no divergence to maintain. */
	color: var(--lfd-color-text-quiet, rgb(0 0 0 / 0.55));
}

.lfd-menu-close {
	position: relative;
	width: 32px;
	height: 32px;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.lfd-menu-close span {
	position: absolute;
	left: 5px;
	right: 5px;
	top: 50%;
	height: 1px;
	background: var(--lfd-black);
}

.lfd-menu-close span:first-child {
	transform: rotate(45deg);
}

.lfd-menu-close span:last-child {
	transform: rotate(-45deg);
}


.lfd-menu-dropdown-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 34px;
	padding: 30px 28px 32px;
	min-height: 350px;
	max-height: calc(100vh - 150px);
	overflow: auto;
	background: #fff;
}

.lfd-menu-navigation-wrap {
	min-width: 0;
	overflow: visible;
}

.lfd-mega-menu {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px 34px;
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
	overflow: visible;
}

.lfd-mega-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.lfd-mega-menu > li {
	padding-top: 15px;
	border-top: 1px solid var(--lfd-line-2);
	min-width: 0;
}

.lfd-mega-menu > li > a {
	position: relative;
	display: inline-flex;
	margin-bottom: 0;
	padding-right: 18px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 13px;
	line-height: 1.15;
	font-weight: 900;
	color: var(--lfd-black);
}

.lfd-mega-menu > .menu-item-has-children > a::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 13px;
	font-weight: 500;
	color: var(--lfd-muted);
}

.lfd-mega-menu > li > a:hover {
	color: var(--lfd-gold);
}

/* Desktop dropdowns inside compact menu */
.lfd-mega-menu > li > .sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	min-width: 230px;
	max-width: 280px;
	margin: 0;
	padding: 16px 18px 18px;
	list-style: none;
	display: grid;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--lfd-line-2);
	box-shadow: 0 22px 55px rgba(0,0,0,0.10);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
	pointer-events: none;
	z-index: var(--lfd-header-z-submenu, 4);
}

.lfd-mega-menu > li:hover > .sub-menu,
.lfd-mega-menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.lfd-mega-menu .sub-menu a {
	display: inline-flex;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.28;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--lfd-muted);
	transition: color 0.18s ease, padding-left 0.18s ease;
}

.lfd-mega-menu .sub-menu a:hover {
	color: var(--lfd-black);
	padding-left: 5px;
}

.lfd-mega-menu > li:not(.menu-item-has-children) > a {
	font-size: 15px;
	line-height: 1.18;
	letter-spacing: -0.01em;
	text-transform: none;
	font-weight: 650;
	padding-right: 0;
}

/* Hide mobile accordion buttons on desktop */
.lfd-submenu-toggle {
	display: none;
}

/* Promo cards */

.lfd-menu-promos {
	border-left: 1px solid var(--lfd-line-2);
	padding-left: 30px;
}

.lfd-menu-promo-list {
	display: grid;
	gap: 12px;
}

.lfd-promo-card {
	display: grid;
	gap: 9px;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--lfd-line-2);
	text-decoration: none;
	color: var(--lfd-black);
}

.lfd-promo-card + .lfd-promo-card {
	padding-top: 16px;
}

.lfd-promo-card span {
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 8.5px;
	line-height: 1;
	font-weight: 850;
	color: var(--lfd-muted);
}

.lfd-promo-card strong {
	text-transform: uppercase;
	letter-spacing: -0.025em;
	font-size: 20px;
	line-height: 0.98;
	font-weight: 900;
	color: var(--lfd-black);
}

.lfd-promo-card em {
	font-style: normal;
	font-size: 13px;
	line-height: 1.43;
	color: var(--lfd-muted);
}

.lfd-promo-card b {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	width: max-content;
	margin-top: 2px;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 9px;
	line-height: 1;
	font-weight: 900;
	color: var(--lfd-black);
}

.lfd-promo-card b::after {
	content: "→";
	font-size: 13px;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0;
}

.lfd-promo-card:hover strong,
.lfd-promo-card:hover b {
	color: var(--lfd-gold);
}

.lfd-menu-dropdown-footer {
	min-height: 54px;
	padding: 0 28px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 28px;
	border-top: 1px solid var(--lfd-line-2);
	background: #fff;
}

.lfd-menu-dropdown-footer a {
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 8.5px;
	line-height: 1;
	font-weight: 900;
	color: var(--lfd-muted);
}

.lfd-menu-dropdown-footer a:hover {
	color: var(--lfd-black);
}

/* Tablet */

@media (max-width: 1280px) {
	.lfd-header-line {
		width: min(100% - 34px, 1560px);
		grid-template-columns: 235px minmax(0, 1fr) auto;
		gap: 18px;
	}

	.lfd-header-brand img {
		max-width: 220px !important;
	}

	.lfd-primary-menu {
		gap: clamp(14px, 1.7vw, 25px);
	}

	.lfd-primary-menu a {
		font-size: 10px;
		letter-spacing: 0.11em;
	}

	.lfd-menu-dropdown-inner {
		width: min(1180px, calc(100% - 34px));
	}

	.lfd-mega-menu {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.lfd-menu-dropdown-body {
		grid-template-columns: minmax(0, 1fr) 290px;
	}
}

/* Mobile fullscreen panel */

@media (max-width: 1024px) {
	.lfd-header-line {
		min-height: 74px;
		grid-template-columns: 1fr auto;
		width: calc(100% - 28px);
	}

	.lfd-header-nav {
		display: none;
	}

	.lfd-header-brand img {
		max-width: 205px !important;
		max-height: 44px !important;
	}

	.lfd-menu-toggle-text {
		display: none;
	}

	.lfd-menu-toggle-icon {
		width: 27px;
		height: 20px;
	}

	.lfd-menu-dropdown {
		position: fixed;
		inset: 0;
		z-index: var(--lfd-header-z-fullscreen, 5);
		background: #fff;
		overflow: auto;
	}

	.admin-bar .lfd-menu-dropdown {
		top: 46px;
	}

	.lfd-menu-dropdown-inner {
		width: calc(100% - 32px);
		min-height: 100vh;
		margin: 0 auto;
		border: 0;
		box-shadow: none;
		display: grid;
		grid-template-rows: auto auto 1fr auto;
	}

	.lfd-menu-dropdown-head {
		min-height: 76px;
		padding: 0;
	}

	.lfd-menu-title span {
		font-size: 10px;
	}


	.lfd-menu-dropdown-body {
		display: block;
		min-height: 0;
		max-height: none;
		overflow: visible;
		padding: 24px 0 36px;
	}

	.lfd-mega-menu {
		display: block;
	}

	.lfd-mega-menu > li {
		position: relative;
		padding-top: 0;
		border-top: 0;
		border-bottom: 1px solid rgba(12, 12, 12, 0.055);
	}

	.lfd-mega-menu > li > a,
	.lfd-mega-menu > li:not(.menu-item-has-children) > a {
		display: flex;
		align-items: center;
		min-height: 64px;
		margin: 0;
		padding-right: 50px;
		font-size: 21px;
		line-height: 1;
		letter-spacing: 0;
		text-transform: uppercase;
		font-weight: 800;
	}

	.lfd-mega-menu > .menu-item-has-children > a::after {
		display: none;
	}

	.lfd-submenu-toggle {
		display: block;
		position: absolute;
		top: 13px;
		right: 0;
		width: 38px;
		height: 38px;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.lfd-submenu-toggle::before,
	.lfd-submenu-toggle::after {
		content: "";
		position: absolute;
		left: 10px;
		right: 10px;
		top: 50%;
		height: 1px;
		background: var(--lfd-black);
		transition: transform 0.2s ease;
	}

	.lfd-submenu-toggle::after {
		transform: rotate(90deg);
	}

	.lfd-mega-menu > li.is-open > .lfd-submenu-toggle::after {
		transform: rotate(0deg);
	}

	.lfd-mega-menu > li > .sub-menu {
		position: static;
		min-width: 0;
		max-width: none;
		display: none;
		gap: 0;
		padding: 0 0 18px;
		margin: 0;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		pointer-events: auto;
	}

	.lfd-mega-menu > li.is-open > .sub-menu {
		display: grid;
	}

	.lfd-mega-menu .sub-menu a {
		display: block;
		padding: 8px 0;
		font-size: 16px;
		line-height: 1.35;
		color: var(--lfd-muted);
		letter-spacing: 0;
	}

	.lfd-menu-promos {
		margin-top: 32px;
		border-left: 0;
		border-top: 1px solid var(--lfd-line-2);
		padding-left: 0;
		padding-top: 24px;
	}

	.lfd-promo-card strong {
		font-size: 24px;
	}

	.lfd-menu-dropdown-footer {
		min-height: 92px;
		padding: 20px 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 22px;
		align-items: center;
	}
}

@media (max-width: 520px) {
	.lfd-header-line {
		width: calc(100% - 24px);
	}

	.lfd-header-brand img {
		max-width: 178px !important;
		max-height: 40px !important;
	}

	.lfd-menu-dropdown-inner {
		width: calc(100% - 26px);
	}


	.lfd-mega-menu > li > a,
	.lfd-mega-menu > li:not(.menu-item-has-children) > a {
		font-size: 20px;
	}
}


/* =========================================================
   v10 refinements
   ========================================================= */

/* No duplicated quick links in mobile */
.lfd-mobile-quick-links {
	display: none !important;
}

/* Cleaner mobile menu: fewer heavy divider lines */
@media (max-width: 1024px) {
	.lfd-menu-dropdown-head {
		border-bottom: 1px solid rgba(12, 12, 12, 0.055);
	}

	.lfd-mega-menu > li {
		border-bottom: 1px solid rgba(12, 12, 12, 0.055);
	}

	.lfd-menu-dropdown-body {
		padding-top: 18px;
	}

	.lfd-menu-promos {
		border-top: 1px solid rgba(12, 12, 12, 0.06);
		margin-top: 26px;
		padding-top: 22px;
	}

	.lfd-promo-card {
		border-bottom: 0;
		padding-bottom: 8px;
	}

	.lfd-promo-card + .lfd-promo-card {
		border-top: 1px solid rgba(12, 12, 12, 0.055);
		padding-top: 18px;
	}

	.lfd-menu-dropdown-footer {
		border-top: 1px solid rgba(12, 12, 12, 0.055);
	}
}

/* Social links are now output from a WordPress menu */
.lfd-menu-dropdown-footer {
	justify-content: flex-start;
}

.lfd-social-menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lfd-social-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lfd-social-menu a {
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	font-size: 8.5px;
	line-height: 1;
	font-weight: 900;
	color: var(--lfd-muted);
}

.lfd-social-menu a:hover {
	color: var(--lfd-black);
}

@media (max-width: 1024px) {
	.lfd-social-menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 22px;
		width: 100%;
	}
}


/* =========================================================
   v11 desktop CTA + mobile refinements
   ========================================================= */

/* Desktop: no opened menu button, only editable registration CTA */
.lfd-header-tools {
	gap: 0;
}

.lfd-header-cta {
	display: inline-grid;
	align-content: center;
	min-width: 150px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--lfd-line);
	text-decoration: none;
	color: var(--lfd-black);
	background: #fff;
	transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.lfd-header-cta span {
	display: block;
	margin-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 8.5px;
	line-height: 1;
	font-weight: 850;
	color: var(--lfd-muted);
}

.lfd-header-cta strong {
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 10px;
	line-height: 1;
	font-weight: 900;
	color: var(--lfd-black);
	white-space: nowrap;
}

.lfd-header-cta:hover {
	border-color: rgba(12, 12, 12, 0.32);
	background: #fbfaf8;
	transform: translateY(-1px);
}

@media (min-width: 1025px) {
	.lfd-menu-toggle {
		display: none !important;
	}

	.lfd-primary-menu a {
		font-size: 12px;
		letter-spacing: 0.13em;
	}

	.lfd-primary-menu .sub-menu a {
		font-size: 14px;
	}

	/* Desktop dropdown panel is disabled because the Menu button is hidden */
	.lfd-menu-dropdown {
		display: none !important;
	}
}

/* Tablet / mobile: keep menu button, hide desktop CTA if space is limited */
@media (max-width: 1024px) {
	.lfd-header-line {
		grid-template-columns: 1fr auto;
	}

	.lfd-header-cta {
		display: none !important;
	}

	.lfd-menu-toggle {
		display: inline-flex !important;
	}

	/* Larger logo in mobile header */
	.lfd-header-brand img {
		max-width: 230px !important;
		max-height: 50px !important;
	}

	/* Larger mobile menu text */
	.lfd-mega-menu > li > a,
	.lfd-mega-menu > li:not(.menu-item-has-children) > a {
		font-size: 24px !important;
		min-height: 68px;
	}

	.lfd-mega-menu .sub-menu a {
		font-size: 17px !important;
		line-height: 1.38;
	}

	.lfd-promo-card strong {
		font-size: 26px;
	}

	.lfd-promo-card em {
		font-size: 15px;
	}

	.lfd-menu-title span {
		font-size: 11px;
	}
}

@media (max-width: 520px) {
	.lfd-header-brand img {
		max-width: 205px !important;
		max-height: 46px !important;
	}

	.lfd-mega-menu > li > a,
	.lfd-mega-menu > li:not(.menu-item-has-children) > a {
		font-size: 22px !important;
	}
}


/* =========================================================
   v12 mobile logo refinement
   ========================================================= */

@media (max-width: 1024px) {
	.lfd-header-line {
		min-height: 82px;
	}

	.lfd-header-brand img {
		max-width: 265px !important;
		max-height: 58px !important;
	}
}

@media (max-width: 520px) {
	.lfd-header-line {
		min-height: 80px;
	}

	.lfd-header-brand img {
		max-width: 235px !important;
		max-height: 54px !important;
	}
}

@media (max-width: 380px) {
	.lfd-header-brand img {
		max-width: 220px !important;
		max-height: 52px !important;
	}
}



/* =========================================================
   LFD Header — Safe sharp SVG logo display
   Does not touch menu / mobile menu / header grid
   ========================================================= */

body .lfd-site-header-v9 .edgtf-logo-wrapper {
  display: flex !important;
  align-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Desktop logo */
body .lfd-site-header-v9 .edgtf-logo-wrapper a[itemprop="url"] {
  display: block !important;

  width: 285px !important;
  max-width: 285px !important;
  height: 62px !important;
  max-height: 62px !important;

  min-height: 0 !important;
  line-height: 1 !important;

  visibility: visible !important;
  opacity: 1 !important;

  background-image: url("/wp-content/uploads/2026/05/LFD-full-dark.svg") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: 285px auto !important;
}

/* Hide Manon image output because theme gives wrong inline height */
body .lfd-site-header-v9 .edgtf-logo-wrapper a[itemprop="url"] img {
  display: none !important;
}

/* Tablet / mobile */
@media (max-width: 1024px) {
  body .lfd-site-header-v9 .edgtf-logo-wrapper a[itemprop="url"] {
    width: 300px !important;
    max-width: 300px !important;
    height: 65px !important;
    max-height: 65px !important;
    background-size: 300px auto !important;
  }
}

@media (max-width: 480px) {
  body .lfd-site-header-v9 .edgtf-logo-wrapper a[itemprop="url"] {
    width: 260px !important;
    max-width: 260px !important;
    height: 56px !important;
    max-height: 56px !important;
    background-size: 260px auto !important;
  }
}

/* =========================================================
   LFD Header — Dropdown hover bridge fix
   Keeps submenu open while moving cursor from menu item to dropdown
   ========================================================= */

body .lfd-site-header-v9 .lfd-header-nav li {
  position: relative !important;
}

/* Make parent menu item keep dropdown area active */
body .lfd-site-header-v9 .lfd-header-nav li.menu-item-has-children,
body .lfd-site-header-v9 .lfd-header-nav li:has(ul) {
  position: relative !important;
}

/* Invisible hover bridge between main menu item and dropdown */
body .lfd-site-header-v9 .lfd-header-nav li.menu-item-has-children::after,
body .lfd-site-header-v9 .lfd-header-nav li:has(ul)::after {
  content: "" !important;
  position: absolute !important;
  left: -18px !important;
  right: -18px !important;
  top: 100% !important;
  height: 28px !important;
  z-index: var(--lfd-header-z-line, 2);
  background: transparent !important;
  pointer-events: auto !important;
}

/* Submenu base */
body .lfd-site-header-v9 .lfd-header-nav ul.sub-menu,
body .lfd-site-header-v9 .lfd-header-nav li > ul {
  margin-top: 18px !important;
  z-index: var(--lfd-header-z-submenu, 4);
  pointer-events: auto !important;
}

/* Keep submenu visible when hovering parent OR submenu */
body .lfd-site-header-v9 .lfd-header-nav li:hover > ul,
body .lfd-site-header-v9 .lfd-header-nav li:focus-within > ul,
body .lfd-site-header-v9 .lfd-header-nav li > ul:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Prevent submenu from disappearing too aggressively */
body .lfd-site-header-v9 .lfd-header-nav li > ul {
  transition:
    opacity 0.18s ease,
    visibility 0.18s ease,
    transform 0.18s ease !important;
}

/* Dropdown visual style safety */
body .lfd-site-header-v9 .lfd-header-nav li > ul li,
body .lfd-site-header-v9 .lfd-header-nav ul.sub-menu li {
  position: relative !important;
  white-space: nowrap !important;
}

body .lfd-site-header-v9 .lfd-header-nav li > ul a,
body .lfd-site-header-v9 .lfd-header-nav ul.sub-menu a {
  display: block !important;
  white-space: nowrap !important;
}
/* =========================================================
   MILESTONE B - the header's brand mark, its one call to action,
   and the breakpoints where the three columns stopped fitting.

   Everything below uses the project's canonical breakpoints - 1440, 1180, 834, 390, 320 - and
   only those. The rules above it were written against 1024/1025, which is a breakpoint nothing
   else in this project tests at, so a layout that broke at 1180 was never looked at.
   ========================================================= */

/* --- the text wordmark, which is what a site with no logo uploaded now shows ---------------- */

.lfd-wordmark {
	display: block;
	font-family: var(--lfd-font-display, "Times New Roman", Georgia, serif);
	font-weight: 900;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 0.98;
	color: var(--lfd-black);
	white-space: nowrap;
}

.lfd-wordmark__line {
	display: block;
	font-size: 15px;
}

.lfd-wordmark__line + .lfd-wordmark__line {
	/* The second line is the longer one; tracking it slightly tighter keeps the two flush left
	   at the same optical width instead of stepping out to the right. */
	letter-spacing: 0.055em;
}

/* --- the call to action --------------------------------------------------------------------- */

/* ONE BORDER.
   The CTA drew a 1px box, and .lfd-header-tools sat inside a header that draws its own
   border-bottom; at the bottom edge of the bar the two lines met and read as a doubled, slightly
   mismatched rule. The CTA is inset from the bar's edge now, so the two lines never touch, and
   the box-shadow that used to fake a second edge on hover is gone. */
.lfd-header-cta {
	position: relative;
	align-self: center;
	box-shadow: none;
	border-radius: 0;
	column-gap: 10px;
}

.lfd-header-cta:hover,
.lfd-header-cta:focus-visible {
	box-shadow: none;
}

.lfd-header-cta:focus-visible {
	outline: 2px solid var(--lfd-black);
	outline-offset: 2px;
}

/* The state, when Appearance > LFD Site Settings says there is one. A word, not a colour alone:
   colour on its own is not information a colour-blind visitor receives. */
.lfd-header-cta__state {
	display: block;
	grid-column: 1 / -1;
	margin-top: 3px;
	font-style: normal;
	font-size: 8px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lfd-muted);
}

.lfd-header-cta--closing-soon .lfd-header-cta__state {
	color: #8a5a1f;
}

.lfd-header-cta--closed {
	background: var(--lfd-panel);
}

.lfd-header-cta--closed .lfd-header-cta__state,
.lfd-header-cta--coming-soon .lfd-header-cta__state {
	color: var(--lfd-muted);
}

/* The same call to action inside the full-screen menu, which is where a narrow viewport meets
   it. It is the SAME resolved CTA - not a second one written into the template. */
.lfd-promo-card--cta {
	border-color: var(--lfd-black);
}

/* --- 1440: the three columns stop fitting -------------------------------------------------- */

@media (max-width: 1440px) {
	.lfd-header-line {
		/* 285px was a fixed brand column. Below 1440 that is a quarter of the bar reserved for a
		   logo that is usually narrower than it, and the navigation - the column that actually
		   needs the room - was the one that ran out. It sizes to its content now, capped. */
		grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
		gap: 22px;
	}

	.lfd-header-brand img {
		max-width: 210px !important;
	}
}

/* --- 1180: tighten before anything overlaps ------------------------------------------------ */

@media (max-width: 1180px) {
	.lfd-header-line {
		width: min(1560px, calc(100% - 44px));
		gap: 16px;
	}

	.lfd-header-brand img {
		max-width: 170px !important;
	}

	.lfd-primary-menu {
		gap: 18px;
	}

	.lfd-primary-menu a {
		font-size: 11px;
		letter-spacing: 0.08em;
	}

	.lfd-header-cta {
		min-width: 0;
		padding: 0 14px;
	}

	.lfd-header-cta strong {
		font-size: 9.5px;
		letter-spacing: 0.09em;
	}
}

/* --- 834 and below: the bar is brand + menu button, and the CTA is in the panel ------------- */

@media (max-width: 834px) {
	.lfd-header-line {
		width: calc(100% - 32px);
		min-height: 72px;
	}

	.lfd-wordmark__line {
		font-size: 13px;
	}
}

@media (max-width: 390px) {
	.lfd-header-line {
		width: calc(100% - 24px);
	}

	.lfd-wordmark__line {
		font-size: 12px;
	}
}
