/**
 * Phase 2 — Industrial mega menu visual refinement (desktop-first).
 * Semantic masthead: `header.pt-mega-site-header` (banner) may contain `.pt-mega-topstrip__center` announcement strip plus `.pt-mega-shell--sync-row`, or `.pt-mega-shell` alone.
 * Legacy Divi / TB suppression scoped under body.pt-mega-menu-active.
 */

.pt-mega-site-header {
	/* Shared horizontal gutter: top strip + shell use the same inset so centered copy lines up with the bar. */
	--pt-mega-header-pad-x: clamp(1.35rem, 3vw, 2.5rem);
	/* Chrome row + top announcement strip share gutter and (below 981px) column rhythm via these tracks. */
	--pt-mega-sync-grid-cols: minmax(0, auto) minmax(12rem, 1fr) minmax(0, auto);
	--pt-mega-sync-grid-gap: clamp(1.25rem, 2.2vw, 2.5rem);
	/* Vertical hit band between bar bottom and mega panel top (fixed mega is centered; top-level <li> stays narrow). */
	--pt-mega-hover-bridge: 1.35rem;
	/* Pull mega panels slightly up toward the chrome; keep small — large values overlap the nav bar. */
	--pt-mega-dropdown-overlap: 6px;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	position: relative;
	/* Above typical Divi hero/z-index stacks; below WP admin bar (99999) */
	z-index: 98000;
}

/**
 * Desktop: mega masthead stays in document flow (first thing after `<body>`), then `#page-container`.
 * No fixed header + padding hacks — content naturally starts below the banner. Divi legacy fixed-nav
 * padding on `#page-container` is zeroed so it does not stack with our external header.
 */
@media (min-width: 981px) and (max-width: 1320px) {
	.pt-mega-site-header {
		--pt-mega-sync-grid-cols: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
		--pt-mega-sync-grid-gap: clamp(0.65rem, 1.5vw, 1.5rem);
	}
}

@media (min-width: 981px) {
	body.pt-mega-menu-active #page-container {
		padding-top: 0 !important;
	}

	body.pt-mega-menu-active .pt-mega-site-header {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		transition: none;
		transform: none;
		will-change: auto;
	}
}

/**
 * Top announcement strip is `header > .pt-mega-topstrip__center` (above chrome). Full-bleed bar uses `::before`.
 */
@media (min-width: 981px) {
	header.pt-mega-site-header > .pt-mega-topstrip__center {
		position: relative;
		z-index: 100091;
		box-sizing: border-box;
		max-width: 92rem;
		margin-left: auto;
		margin-right: auto;
		padding-inline: var(--pt-mega-header-pad-x);
		padding-block: 0;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		vertical-align: middle;
		gap: 6px;
		min-width: 0;
		height: 45px;
		min-height: 45px;
		text-align: right;
		font-size: 0.8125rem;
		line-height: 1.45;
		color: #1b0c09;
		background: transparent;
		border-bottom: 0;
		box-shadow: none;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center::before {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 0;
		bottom: 0;
		width: 100vw;
		z-index: 0;
		pointer-events: none;
		background: #fff;
		border-bottom: 0;
		box-shadow: none;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center > * {
		position: relative;
		z-index: 1;
	}

	.pt-mega-topstrip__spacer-logo-wrap {
		opacity: 0;
		pointer-events: none;
		user-select: none;
		display: flex;
		align-items: center;
		max-width: min(22rem, 46vw);
	}

	.pt-mega-topstrip__spacer-logo-wrap--text .pt-mega-shell__title-link {
		pointer-events: none;
	}

	.pt-mega-topstrip__end {
		display: none !important;
	}

	header.pt-mega-site-header > .pt-mega-shell--sync-row {
		box-sizing: border-box;
		width: 100%;
		max-width: 92rem;
		margin-left: auto;
		margin-right: auto;
		padding-inline: var(--pt-mega-header-pad-x);
	}

	.pt-mega-shell--sync-row {
		display: grid;
		grid-template-columns: var(--pt-mega-sync-grid-cols);
		align-items: center;
		column-gap: var(--pt-mega-sync-grid-gap);
		row-gap: 0;
		min-height: 5.25rem;
		overflow: visible;
	}

	.pt-mega-shell--sync-row > .pt-mega-shell__brand,
	.pt-mega-shell--sync-row > .pt-mega-shell__logo-link,
	.pt-mega-shell--sync-row > .pt-mega-shell__title-link {
		grid-column: 1;
		justify-self: start;
		min-width: 0;
	}

	.pt-mega-shell--sync-row > nav.pt-mega-nav {
		grid-column: 2;
		justify-self: stretch;
		min-width: 0;
	}

	.pt-mega-shell--sync-row > .pt-mega-shell__tools {
		grid-column: 3;
		justify-self: stretch;
		min-width: 0;
	}

	/*
	 * Wordmark / site-title align visually with nav cap-height (logo glyphs often sit low in the box). Site icon unchanged.
	 */
	header.pt-mega-site-header .pt-mega-shell--sync-row > .pt-mega-shell__brand:not(:has(.pt-mega-shell__logo-img--site-icon)),
	header.pt-mega-site-header .pt-mega-shell--sync-row > .pt-mega-shell__logo-link:not(:has(.pt-mega-shell__logo-img--site-icon)),
	header.pt-mega-site-header .pt-mega-shell--sync-row > .pt-mega-shell__title-link,
	header.pt-mega-site-header .pt-mega-shell__header-inner > .pt-mega-shell__brand:not(:has(.pt-mega-shell__logo-img--site-icon)),
	header.pt-mega-site-header .pt-mega-shell__header-inner > .pt-mega-shell__logo-link:not(:has(.pt-mega-shell__logo-img--site-icon)),
	header.pt-mega-site-header .pt-mega-shell__header-inner > .pt-mega-shell__title-link {
		transform: translateY(-10px);
	}

	header.pt-mega-site-header .pt-mega-shell--sync-row > .pt-mega-shell__logo-link:has(.pt-mega-shell__logo-img--site-icon),
	header.pt-mega-site-header .pt-mega-shell__header-inner > .pt-mega-shell__logo-link:has(.pt-mega-shell__logo-img--site-icon) {
		transform: none;
	}

	.pt-mega-topstrip__contact-link {
		flex: 0 0 auto;
		font-size: 0.6875rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		text-decoration: none;
		color: #1b0c09 !important;
		white-space: nowrap;
		padding: 0.25rem 0.15rem;
		border-radius: 2px;
		transition:
			color 0.15s ease,
			text-decoration-thickness 0.15s ease;
	}

	.pt-mega-topstrip__contact-link:hover,
	.pt-mega-topstrip__contact-link:focus-visible {
		color: #1b0c09 !important;
		text-decoration: underline;
		text-underline-offset: 0.18em;
		text-decoration-thickness: 2px;
	}

	.pt-mega-topstrip__contact-link:focus-visible {
		outline: 2px solid #c63f1f;
		outline-offset: 2px;
	}

	/* Top strip: cloned `<ul.et_pb_social_media_follow>` sits in `.pt-mega-topstrip__center` (mirror wrappers stripped). */
	.pt-mega-topstrip__center .pt-mega-social-follow-mirror {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		gap: 6px;
		flex: 0 0 auto;
		width: max-content;
		min-width: 0;
		max-width: 100%;
		padding-block: 0 !important;
		margin-block: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}

	/*
	 * Divi Social Follow defaults: `margin: 0 0 22px` on the UL and `margin-bottom: 8px` on LIs — kills the thin top strip layout.
	 */
	header.pt-mega-site-header > .pt-mega-topstrip__center ul.et_pb_social_media_follow {
		margin: 0 !important;
		margin-block: 0 !important;
		margin-bottom: 0 !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li {
		margin: 0 !important;
		margin-block: 0 !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	.pt-mega-topstrip__center .et_pb_social_media_follow {
		flex: 0 0 auto;
		box-sizing: border-box;
		width: max-content !important;
		max-width: 100%;
		margin: 0;
		padding: 0;
		padding-block: 0 !important;
		padding-inline: 0 !important;
		list-style: none;
		background: transparent;
		border: 0;
		box-shadow: none;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end !important;
		gap: 16px;
		line-height: normal;
	}

	/* Module + `.clearfix` can leave the `<ul>` wider than its icons/copy; strip pseudo-rows and trailing anchor gutter. */
	header.pt-mega-site-header > .pt-mega-topstrip__center ul.et_pb_social_media_follow.clearfix::before,
	header.pt-mega-site-header > .pt-mega-topstrip__center ul.et_pb_social_media_follow.clearfix::after {
		content: none !important;
		display: none !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li:last-child:not(.pt-mega-topstrip__copy-li),
	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li:last-child:not(.pt-mega-topstrip__copy-li) a,
	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li:last-child:not(.pt-mega-topstrip__copy-li) a.icon {
		margin-inline-end: 0 !important;
		margin-right: 0 !important;
		padding-inline-end: 0 !important;
	}

	header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li {
		margin: 0 !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
		list-style: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 0 !important;
		line-height: normal !important;
		vertical-align: unset !important;
	}

	header.pt-mega-site-header .pt-mega-topstrip__center .pt-mega-social-follow-mirror,
	header.pt-mega-site-header .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope {
		align-items: center;
		align-self: center;
	}

	/*
	 * Divi centers ETmodules glyphs by matching ::before line-height to the icon box height.
	 * Do not use line-height: 1 here — it pins the glyph to the top of the block.
	 */
	header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow a.icon {
		box-sizing: border-box !important;
		height: 2rem !important;
		width: 2rem !important;
		min-height: 2rem !important;
		min-width: 2rem !important;
		max-height: 2rem !important;
		max-width: 2rem !important;
		padding: 0 !important;
		margin-right: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		vertical-align: middle !important;
	}

	header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li:last-child a.icon {
		margin-right: 0 !important;
	}

	header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow a.icon::before {
		font-size: 1rem !important;
		line-height: 2rem !important;
		height: 2rem !important;
		width: 2rem !important;
		display: block !important;
		position: relative !important;
		z-index: 10 !important;
		margin: 0 !important;
	}

	/*
	 * Mirrored Social Follow: outer scope uses `et-l--header` (see mega-menu.php) so Divi layout CSS
	 * does not treat this node like a full-width TB footer strip.
	 */
	header.pt-mega-site-header .pt-mega-social-follow-tb-scope.et-l--header,
	header.pt-mega-site-header .pt-mega-social-follow-tb-scope.et-l--footer {
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
		float: none !important;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	header.pt-mega-site-header .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope.et-l--header,
	header.pt-mega-site-header .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope.et-l--footer {
		justify-content: flex-end;
		width: max-content !important;
		max-width: 100%;
		padding-block: 0 !important;
		margin-block: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}

	header.pt-mega-site-header .pt-mega-social-follow-tb-scope .et_builder_inner_content {
		margin: 0 !important;
		padding: 0 !important;
		width: fit-content !important;
		max-width: 100% !important;
		min-width: 0 !important;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		align-self: center;
		justify-content: flex-end;
		vertical-align: middle;
		gap: 0;
	}

	header.pt-mega-site-header .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope .et_builder_inner_content {
		display: inline-flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		align-content: center !important;
		align-self: auto !important;
		padding-block: 0 !important;
		margin-block: 0 !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		width: fit-content !important;
		line-height: normal !important;
		box-sizing: border-box !important;
	}

	/* Divi layout wrappers sometimes ship bottom padding / pseudo clearfix height — strip it in the thin top bar only. */
	header.pt-mega-site-header > .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope .et_builder_inner_content::before,
	header.pt-mega-site-header > .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope .et_builder_inner_content::after {
		content: none !important;
		display: none !important;
	}

	header.pt-mega-site-header .pt-mega-social-follow-mirror a.follow_button {
		display: none !important;
	}

	/* Legacy filter markup: custom SVG anchors only */
	.pt-mega-topstrip__center a.pt-mega-social {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 1.85rem;
		min-height: 1.85rem;
		padding: 0 0.3rem;
		box-sizing: border-box;
		border: 1px solid rgba(27, 12, 9, 0.22);
		border-radius: 2px;
		background: rgba(27, 12, 9, 0.04);
		color: #1b0c09 !important;
		text-decoration: none;
		font-size: 0.625rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		transition:
			border-color 0.15s ease,
			background 0.15s ease,
			color 0.15s ease;
	}

	.pt-mega-topstrip__center a.pt-mega-social.pt-mega-social--icon {
		padding: 0.38rem;
		font-size: 0;
		line-height: 0;
		letter-spacing: 0;
		text-transform: none;
		font-weight: 400;
	}

	.pt-mega-topstrip__center a.pt-mega-social:hover,
	.pt-mega-topstrip__center a.pt-mega-social:focus-visible {
		border-color: rgba(27, 12, 9, 0.35);
		background: rgba(27, 12, 9, 0.07);
		color: #1b0c09 !important;
	}

	.pt-mega-topstrip__center a.pt-mega-social:focus-visible {
		outline: 2px solid #c63f1f;
		outline-offset: 2px;
	}

	.pt-mega-topstrip__center a.pt-mega-social svg,
	.pt-mega-topstrip__center .pt-mega-social__svg {
		display: block;
		width: 1.125rem;
		height: 1.125rem;
		fill: currentColor;
		flex-shrink: 0;
	}

	/* Same social markup as `.pt-mega-shell__social` — hide duplicate in chrome row on desktop. */
	body.pt-mega-topstrip-has-social .pt-mega-shell__social {
		display: none !important;
	}

	/* Phone lives in the top strip only — never duplicate in the chrome tools row. */
	header.pt-mega-site-header .pt-mega-shell__phone {
		display: none !important;
	}
}

/* Top strip first row: announcement line | social icons */
header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li.pt-mega-topstrip__copy-li {
	display: inline-flex !important;
	flex: 0 1 auto;
	min-width: 0;
	align-items: center !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap;
	line-height: 1.45;
}

@media (max-width: 980px) {
	header.pt-mega-site-header > .pt-mega-topstrip__center {
		display: block;
		max-width: none;
		margin: 0;
		padding: 0.42rem var(--pt-mega-header-pad-x);
		box-sizing: border-box;
		position: relative;
		z-index: 100091;
		background: #fff;
		color: #1b0c09;
		border-bottom: 0;
		box-shadow: none;
		font-size: 0.8125rem;
		line-height: 1.45;
		text-align: right;
		min-height: 45px;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope.et-l--header,
	header.pt-mega-site-header > .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope.et-l--footer {
		width: max-content !important;
		max-width: 100%;
		padding-block: 0 !important;
		margin-block: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .pt-mega-social-follow-tb-scope .et_builder_inner_content {
		display: inline-flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		padding-block: 0 !important;
		margin-block: 0 !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		width: fit-content !important;
		line-height: normal !important;
		box-sizing: border-box !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center ul.et_pb_social_media_follow {
		margin: 0 !important;
		margin-block: 0 !important;
		margin-bottom: 0 !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li {
		margin: 0 !important;
		margin-block: 0 !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .pt-mega-social-follow-mirror {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: 6px;
		flex: 0 0 auto;
		width: max-content;
		max-width: 100%;
		padding-block: 0 !important;
		margin-block: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end !important;
		flex: 0 0 auto;
		box-sizing: border-box;
		width: max-content !important;
		max-width: 100%;
		gap: 16px;
		padding-block: 0 !important;
		padding-inline: 0 !important;
		margin-block: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center ul.et_pb_social_media_follow.clearfix::before,
	header.pt-mega-site-header > .pt-mega-topstrip__center ul.et_pb_social_media_follow.clearfix::after {
		content: none !important;
		display: none !important;
	}

	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li:last-child:not(.pt-mega-topstrip__copy-li),
	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li:last-child:not(.pt-mega-topstrip__copy-li) a,
	header.pt-mega-site-header > .pt-mega-topstrip__center .et_pb_social_media_follow > li:last-child:not(.pt-mega-topstrip__copy-li) a.icon {
		margin-inline-end: 0 !important;
		margin-right: 0 !important;
		padding-inline-end: 0 !important;
	}

	.pt-mega-topstrip__end {
		display: none !important;
	}
}

.pt-mega-topstrip__text {
	display: inline;
	margin: 0;
	padding: 0;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-align: right;
	text-wrap: balance;
	font-size: inherit;
	line-height: inherit;
	color: rgba(171, 53, 27, 1);
	white-space: nowrap;
}

.pt-mega-topstrip__sep {
	white-space: nowrap;
}

.pt-mega-topstrip__lead {
	font-weight: 700;
	letter-spacing: 0.02em;
}

.pt-mega-topstrip__body {
	font-weight: 400;
}

.pt-mega-topstrip__tel {
	display: inline;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: rgba(171, 53, 27, 1) !important;
	text-decoration: none !important;
	white-space: nowrap;
	line-height: inherit;
}

.pt-mega-topstrip__tel:hover,
.pt-mega-topstrip__tel:focus-visible {
	color: rgba(171, 53, 27, 1) !important;
	text-decoration: underline !important;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 2px;
}

.pt-mega-topstrip__tel:focus-visible {
	outline: 2px solid #c63f1f;
	outline-offset: 2px;
}

.pt-mega-shell {
	position: relative;
	z-index: 1;
	isolation: isolate;
	font-family: inherit;
	color: #1b0c09;
	background: #fff;
	border-bottom: 1px solid #c4bfb9;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.45),
		0 2px 6px rgba(27, 12, 9, 0.06);
}

/* Sync layout: announcement strip sits above the chrome row — drop shell border/shadow so the pair reads as one unit. */
.pt-mega-shell.pt-mega-shell--sync-row {
	border: 0;
	box-shadow: none;
}

.pt-mega-shell__header-inner {
	box-sizing: border-box;
	max-width: 92rem;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	padding-left: var(--pt-mega-header-pad-x);
	padding-right: var(--pt-mega-header-pad-x);
	min-height: 5.25rem;
	display: grid;
	grid-template-columns: var(--pt-mega-sync-grid-cols);
	align-items: center;
	gap: var(--pt-mega-sync-grid-gap);
	overflow: visible;
}

.pt-mega-shell__brand {
	flex-shrink: 0;
	min-width: 0;
	max-width: min(22rem, 46vw);
	overflow: visible;
	display: flex;
	align-items: center;
}

.pt-mega-shell__header-inner > .pt-mega-shell__logo-link,
.pt-mega-shell__header-inner > .pt-mega-shell__title-link {
	flex-shrink: 0;
	min-width: 0;
	max-width: min(22rem, 46vw);
	overflow: visible;
}

.pt-mega-shell__logo-link {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
	border-radius: 2px;
}

.pt-mega-shell__logo-link:focus-visible {
	outline: 2px solid #c63f1f;
	outline-offset: 3px;
}

.pt-mega-shell__logo-img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: clamp(44px, 5.5vw, 58px);
	object-fit: contain;
	object-position: left center;
}

.pt-mega-shell__logo-picture {
	display: inline-block;
	line-height: 0;
	vertical-align: bottom;
}

.pt-mega-shell__logo-picture .pt-mega-shell__logo-img {
	display: block;
}

/*
 * Mid-width desktop (981–1320px): one header row — logo | primary nav | tools.
 * Brandmark + icon search free enough space; keep nav compact so it stays on one line.
 */
@media (min-width: 981px) and (max-width: 1320px) {
	.pt-mega-shell__header-inner,
	.pt-mega-shell--sync-row {
		align-items: center;
		min-height: 5.25rem;
	}

	.pt-mega-shell__brand,
	.pt-mega-shell__header-inner > .pt-mega-shell__logo-link,
	.pt-mega-shell__header-inner > .pt-mega-shell__title-link,
	.pt-mega-shell--sync-row > .pt-mega-shell__logo-link,
	.pt-mega-shell--sync-row > .pt-mega-shell__title-link {
		justify-self: start;
		align-self: center;
		max-width: min(22rem, 46vw);
	}

	.pt-mega-shell__tools {
		justify-self: end;
		align-self: center;
		flex-wrap: nowrap;
		gap: 0.55rem 0.75rem;
	}

	/* Full wordmark sizing (fallback); brandmark via <picture> in this band */
	.pt-mega-shell__logo-img,
	.pt-mega-shell__logo-picture .pt-mega-shell__logo-img {
		max-height: clamp(44px, 5.5vw, 58px);
		max-width: 100%;
		object-fit: contain;
	}

	/* Brandmark-only source (`<picture>` mark): slightly larger than wordmark cap so it reads clearly. */
	.pt-mega-shell__logo-picture .pt-mega-shell__logo-img {
		max-height: clamp(62px, 8.25vw, 82px);
		max-width: min(7.25rem, 23vw);
		width: auto;
		height: auto;
	}

	.pt-mega-nav {
		justify-self: stretch;
		justify-content: center;
		width: 100%;
		min-width: 0;
	}

	.pt-mega-nav__primary {
		justify-content: center;
		width: 100%;
		min-width: 0;
	}

	.pt-mega-shell__search {
		flex: 0 1 14rem;
		min-width: 0;
		max-width: min(18rem, 42vw);
	}

	.pt-mega-shell__search .pt-search__input {
		padding: 0.45rem 0.55rem;
		font-size: 0.8125rem;
	}

	.pt-mega-shell__search .pt-search__button {
		padding: 0.45rem 0.7rem;
		font-size: 0.6875rem;
		min-height: 2.35rem;
	}

	.pt-mega-shell__phone-number {
		font-size: clamp(0.9rem, 2.2vw, 1.05rem);
	}

	.pt-mega-nav__list {
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		width: 100%;
		min-width: 0;
		gap: 0.2rem 0.35rem;
	}

	.pt-mega-nav__list > .pt-mega-nav__item {
		flex: 0 0 auto;
	}

	.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__link--depth-0 {
		padding: 0.48rem 0.55rem;
		font-size: clamp(0.6875rem, 1.15vw, 0.8125rem);
		letter-spacing: 0.055em;
		white-space: nowrap;
	}
}

@media (min-width: 981px) and (max-width: 1080px) {
	.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__link--depth-0 {
		padding: 0.42rem 0.42rem;
		letter-spacing: 0.045em;
	}

	.pt-mega-shell__search {
		max-width: min(15rem, 38vw);
	}
}

/**
 * Wide desktop (≥1440px): slightly larger wordmark / logo cap — more presence without dominating the bar.
 */
@media (min-width: 1440px) {
	header.pt-mega-site-header .pt-mega-topstrip__spacer-logo-wrap {
		max-width: min(26rem, 34vw);
	}

	.pt-mega-shell__brand,
	.pt-mega-shell__header-inner > .pt-mega-shell__logo-link,
	.pt-mega-shell__header-inner > .pt-mega-shell__title-link,
	.pt-mega-shell--sync-row > .pt-mega-shell__logo-link,
	.pt-mega-shell--sync-row > .pt-mega-shell__title-link {
		max-width: min(26rem, 34vw);
	}

	.pt-mega-shell__logo-img,
	.pt-mega-shell__logo-picture .pt-mega-shell__logo-img {
		max-height: clamp(58px, 4.35vw, 72px);
	}

	.pt-mega-shell__logo-img--site-icon {
		max-height: clamp(48px, 4.35vw, 58px);
		max-width: min(11.5rem, 27vw);
	}
}

.pt-mega-shell__logo-img--site-icon {
	object-fit: contain;
	max-height: clamp(44px, 5.35vw, 52px);
	max-width: min(11rem, 29vw);
	width: auto;
	height: auto;
}


.pt-mega-shell__title-link {
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: #1b0c09;
}

.pt-mega-shell__title-link:hover,
.pt-mega-shell__title-link:focus-visible {
	color: #b93a1d;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 2px;
}

/* ---- Center: primary navigation (stretch items to bar height so mega aligns with shell bottom) ---- */
/* Clickable affordance: Divi / child globals sometimes set `a { cursor: text }` on nav regions */
header.pt-mega-site-header nav.pt-mega-nav a.pt-mega-nav__link,
header.pt-mega-site-header .pt-mega-shell__logo-link,
header.pt-mega-site-header .pt-mega-shell__title-link,
header.pt-mega-site-header .pt-mega-shell__phone-link,
header.pt-mega-site-header .pt-mega-shell__contact-link,
header.pt-mega-site-header .pt-mega-topstrip__contact-link,
header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow a.icon,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow a.icon,
header.pt-mega-site-header .pt-mega-shell__social a,
header.pt-mega-site-header .pt-mega-social-follow-mirror a {
	cursor: pointer;
}

/*
 * Mega header mirrors of Divi Social Follow: restore each network’s default brand background
 * (matches Divi SocialMediaFollowItem defaults) so icons are not read as one orange brand block.
 */
header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li[class*='et-social-'] a.icon::before,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li[class*='et-social-'] a.icon::before,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow li[class*='et-social-'] a.icon::before {
	color: #fff !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-snapchat a.icon::before,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-snapchat a.icon::before,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow li.et-social-snapchat a.icon::before {
	color: #1b0c09 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-amazon a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-amazon a.icon {
	background-color: #ff9900 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-bandcamp a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-bandcamp a.icon {
	background-color: #629aa9 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-behance a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-behance a.icon {
	background-color: #0057ff !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-bitbucket a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-bitbucket a.icon {
	background-color: #205081 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-buffer a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-buffer a.icon {
	background-color: #000000 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-codepen a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-codepen a.icon {
	background-color: #000000 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-deviantart a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-deviantart a.icon {
	background-color: #05cc47 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-dribbble a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-dribbble a.icon {
	background-color: #ea4c8d !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-facebook a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-facebook a.icon {
	background-color: #3b5998 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-flikr a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-flikr a.icon {
	background-color: #ff0084 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-flipboard a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-flipboard a.icon {
	background-color: #e12828 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-foursquare a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-foursquare a.icon {
	background-color: #f94877 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-github a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-github a.icon {
	background-color: #333333 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-goodreads a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-goodreads a.icon {
	background-color: #553b08 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-google a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-google a.icon {
	background-color: #4285f4 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-houzz a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-houzz a.icon {
	background-color: #7ac142 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-instagram a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-instagram a.icon {
	background-color: #ea2c59 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-itunes a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-itunes a.icon {
	background-color: #fe7333 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-last_fm a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-last_fm a.icon {
	background-color: #b90000 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-line a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-line a.icon {
	background-color: #00c300 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-linkedin a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-linkedin a.icon {
	background-color: #007bb6 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-medium a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-medium a.icon {
	background-color: #00ab6c !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-meetup a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-meetup a.icon {
	background-color: #e0393e !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-myspace a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-myspace a.icon {
	background-color: #3b5998 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-odnoklassniki a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-odnoklassniki a.icon {
	background-color: #ed812b !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-patreon a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-patreon a.icon {
	background-color: #f96854 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-periscope a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-periscope a.icon {
	background-color: #3aa4c6 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-pinterest a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-pinterest a.icon {
	background-color: #cb2027 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-quora a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-quora a.icon {
	background-color: #a82400 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-reddit a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-reddit a.icon {
	background-color: #ff4500 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-researchgate a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-researchgate a.icon {
	background-color: #40ba9b !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-rss a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-rss a.icon {
	background-color: #ff8a3c !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-skype a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-skype a.icon {
	background-color: #12a5f4 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-snapchat a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-snapchat a.icon {
	background-color: #fffc00 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-soundcloud a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-soundcloud a.icon {
	background-color: #ff8800 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-spotify a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-spotify a.icon {
	background-color: #1db954 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-steam a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-steam a.icon {
	background-color: #00adee !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-telegram a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-telegram a.icon {
	background-color: #179cde !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-tiktok a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-tiktok a.icon {
	background-color: #fe2c55 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-tripadvisor a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-tripadvisor a.icon {
	background-color: #00af87 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-tumblr a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-tumblr a.icon {
	background-color: #32506d !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-twitch a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-twitch a.icon {
	background-color: #6441a5 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-twitter a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-twitter a.icon {
	background-color: #000000 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-vimeo a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-vimeo a.icon {
	background-color: #45bbff !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-vk a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-vk a.icon {
	background-color: #45668e !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-weibo a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-weibo a.icon {
	background-color: #eb7350 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-whatsapp a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-whatsapp a.icon {
	background-color: #25d366 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-xing a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-xing a.icon {
	background-color: #026466 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-yelp a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-yelp a.icon {
	background-color: #af0606 !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li.et-social-youtube a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li.et-social-youtube a.icon {
	background-color: #a82400 !important;
}

/* Solid black hover/focus — instant (no transition), glyph stays visible in white. */
header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li[class*='et-social-'] a.icon,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li[class*='et-social-'] a.icon,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow li[class*='et-social-'] a.icon {
	transition: none !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li[class*='et-social-'] a.icon:hover,
header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li[class*='et-social-'] a.icon:focus-visible,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li[class*='et-social-'] a.icon:hover,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li[class*='et-social-'] a.icon:focus-visible,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow li[class*='et-social-'] a.icon:hover,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow li[class*='et-social-'] a.icon:focus-visible {
	background-color: #000000 !important;
	border-color: transparent !important;
	box-shadow: none !important;
	transition: none !important;
}

header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li[class*='et-social-'] a.icon:hover::before,
header.pt-mega-site-header .pt-mega-topstrip__center .et_pb_social_media_follow li[class*='et-social-'] a.icon:focus-visible::before,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li[class*='et-social-'] a.icon:hover::before,
header.pt-mega-site-header .pt-mega-shell__social .et_pb_social_media_follow li[class*='et-social-'] a.icon:focus-visible::before,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow li[class*='et-social-'] a.icon:hover::before,
header.pt-mega-site-header .pt-mega-topstrip__end .et_pb_social_media_follow li[class*='et-social-'] a.icon:focus-visible::before {
	color: #ffffff !important;
	transition: none !important;
}

.pt-mega-nav {
	position: relative;
	min-width: 0;
	overflow: visible;
	display: flex;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 0;
}

.pt-mega-nav__primary {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
}

.pt-mega-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	align-content: center;
	justify-content: center;
	height: 100%;
	/* Row gap must breathe when items wrap (narrow desktop); column gap stays tight */
	gap: 0.45rem 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	overflow: visible;
}

@media (min-width: 981px) {
	.pt-mega-nav__primary {
		align-items: center;
	}

	.pt-mega-nav__list {
		height: auto;
		align-items: center;
	}
}

.pt-mega-nav__list > .pt-mega-nav__item {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	overflow: visible;
}

.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__link--depth-0 {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 0.68rem 1.15rem;
	font-size: 0.8125rem;
	/* Nivel 1: negrita (700 suele estar cargada en Open Sans; 800 a veces no y cae a 400) */
	font-weight: 700 !important;
	line-height: 1.2;
	letter-spacing: 0.085em;
	text-transform: uppercase;
	text-decoration: none;
	color: #1b0c09;
	border-radius: 3px;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease;
}

/* Vence reglas globales de Divi / `a { font: … }` que anulan el peso */
header.pt-mega-site-header nav.pt-mega-nav ul#pt-mega-nav-menu > li.menu-item > a.pt-mega-nav__link.pt-mega-nav__link--depth-0 {
	font-weight: 700 !important;
}

header.pt-mega-site-header nav.pt-mega-nav .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item > .pt-mega-nav__link {
	font-weight: 700 !important;
	font-size: 0.8125rem;
	letter-spacing: 0.085em;
}

.pt-mega-nav__list > .menu-item-has-children > .pt-mega-nav__link--depth-0::after {
	content: "";
	display: inline-block;
	width: 0.3rem;
	height: 0.3rem;
	margin-left: 0.05em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-0.12em);
	opacity: 0.72;
}

.pt-mega-nav__list > .pt-mega-nav__item:hover > .pt-mega-nav__link--depth-0,
.pt-mega-nav__list > .pt-mega-nav__item:focus-within > .pt-mega-nav__link--depth-0,
.pt-mega-nav__list > .pt-mega-nav__item.pt-mega-nav__item--mega-open > .pt-mega-nav__link--depth-0 {
	background-color: rgba(198, 63, 31, 0.1);
	color: #1b0c09;
	box-shadow:
		inset 0 -2px 0 #c63f1f,
		0 1px 0 rgba(255, 255, 255, 0.5);
}

.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__link--depth-0:hover,
.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__link--depth-0:focus-visible {
	background-color: rgba(198, 63, 31, 0.12);
	box-shadow:
		inset 0 -2px 0 #b93a1d,
		0 1px 0 rgba(255, 255, 255, 0.5);
}

.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__link--depth-0:focus-visible {
	outline: 2px solid #c63f1f;
	outline-offset: 2px;
}

.pt-mega-nav__list > .pt-mega-nav__item.current-menu-item > .pt-mega-nav__link--depth-0,
.pt-mega-nav__list > .pt-mega-nav__item.current-menu-ancestor > .pt-mega-nav__link--depth-0 {
	box-shadow: inset 0 -3px 0 #c63f1f;
	background-color: rgba(198, 63, 31, 0.06);
}

/* ---- Right: search + phone + optional social ---- */
.pt-mega-shell__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem 1.35rem;
	min-width: 0;
}

@media (min-width: 981px) {
	.pt-mega-shell__tools {
		flex-wrap: nowrap;
	}
}

.pt-mega-shell__search {
	flex: 1 1 11rem;
	max-width: 20rem;
	min-width: 9rem;
}

.pt-mega-shell__search .pt-search {
	max-width: none;
	width: 100%;
	gap: 0;
	border-radius: 3px;
	overflow: hidden;
	box-shadow: inset 0 1px 2px rgba(27, 12, 9, 0.06);
	border: 1px solid #b5b0aa;
	background: #fff;
}

/*
 * Undo global .pt-search flex-wrap. overflow: visible so Lucide stroke is not clipped
 * (parent .pt-search uses overflow: hidden for radius — that still clips non-toolbar forms).
 */
.pt-mega-shell__search .pt-search--mega-toolbar {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	overflow: visible;
}

.pt-mega-shell__search .pt-search--mega-toolbar .pt-search__input {
	border-radius: 2px 0 0 2px;
}

.pt-mega-shell__search .pt-search--mega-toolbar .pt-search__button {
	border-radius: 0 2px 2px 0;
}

.pt-mega-shell__search .pt-search__input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	border-radius: 0;
	padding: 0.52rem 0.75rem;
	font-size: 0.875rem;
	background: #fff;
	box-shadow: none;
}

.pt-mega-shell__search .pt-search__input:focus,
.pt-mega-shell__search .pt-search__input:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px #c63f1f;
}

.pt-mega-shell__search .pt-search__button {
	flex: 0 0 auto;
	border: 0;
	border-left: 1px solid #d8d4d0;
	border-radius: 0;
	padding: 0.52rem 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: #efecea;
	color: #1b0c09;
	min-height: 2.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition:
		background 0.15s ease,
		color 0.15s ease,
		border-color 0.15s ease;
}

.pt-mega-shell__search .pt-search__button:hover {
	background: var(--pt-color-brand-orange-tint-bg, #fff2ec);
	color: #b93a1d;
	border-left-color: rgba(198, 63, 31, 0.35);
}

/*
 * Mega toolbar: Lucide icon only at all breakpoints (no "SEARCH" label; placeholder + aria-label).
 */
.pt-mega-shell__search .pt-search--mega-toolbar .pt-search__button--with-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	flex: 0 0 2.75rem;
	width: 2.75rem;
	min-width: 2.75rem;
	max-width: 2.75rem;
	padding: 0;
	gap: 0;
	overflow: visible;
	letter-spacing: 0;
	text-transform: none;
}

.pt-mega-shell__search .pt-search--mega-toolbar .pt-search__button-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	align-self: stretch;
	width: 100%;
	min-height: 0;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	line-height: 0;
}

.pt-mega-shell__search .pt-search--mega-toolbar .pt-search__icon-svg {
	display: block;
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
	overflow: visible;
	transform: translate(-2.5px, -3px);
}

.pt-mega-shell__phone {
	display: none !important;
}

.pt-mega-shell__phone-link {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-end;
	text-decoration: none;
	color: #1b0c09;
	line-height: 1.18;
	text-align: right;
	padding: 0.15rem 0;
	border-radius: 2px;
	transition: color 0.15s ease;
}

.pt-mega-shell__phone-link:hover,
.pt-mega-shell__phone-link:focus-visible {
	color: #b93a1d;
}

.pt-mega-shell__phone-link:focus-visible {
	outline: 2px solid #c63f1f;
	outline-offset: 3px;
}

.pt-mega-shell__phone-kicker {
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #5c534f;
	margin-bottom: 0.12rem;
}

.pt-mega-shell__phone-number {
	font-size: 1.125rem;
	font-weight: 800;
	letter-spacing: 0.03em;
}

.pt-mega-shell__contact {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

.pt-mega-shell__contact-link {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.15rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.085em;
	text-transform: uppercase;
	text-decoration: none;
	color: #1b0c09;
	border-radius: 3px;
	transition:
		color 0.18s ease,
		box-shadow 0.18s ease,
		background-color 0.18s ease;
}

.pt-mega-shell__contact-link:hover,
.pt-mega-shell__contact-link:focus-visible {
	color: #b93a1d;
	box-shadow: inset 0 -2px 0 #c63f1f;
	background-color: rgba(198, 63, 31, 0.06);
}

.pt-mega-shell__contact-link:focus-visible {
	outline: 2px solid #c63f1f;
	outline-offset: 2px;
}

.pt-mega-shell__social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
}

.pt-mega-shell__social .pt-mega-social-follow-mirror {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
}

.pt-mega-shell__social .pt-mega-social-follow-mirror .et_pb_social_media_follow {
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent;
	border: 0;
	box-shadow: none;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
	line-height: normal;
}

@media (min-width: 981px) {
	header.pt-mega-site-header .pt-mega-shell__social .pt-mega-social-follow-mirror .et_pb_social_media_follow li {
		margin: 0 !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: normal !important;
		vertical-align: unset !important;
	}

	header.pt-mega-site-header .pt-mega-shell__social .pt-mega-social-follow-mirror .et_pb_social_media_follow a.icon {
		box-sizing: border-box !important;
		height: 2rem !important;
		width: 2rem !important;
		min-height: 2rem !important;
		min-width: 2rem !important;
		max-height: 2rem !important;
		max-width: 2rem !important;
		padding: 0 !important;
		margin-right: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		vertical-align: middle !important;
	}

	header.pt-mega-site-header .pt-mega-shell__social .pt-mega-social-follow-mirror .et_pb_social_media_follow li:last-child a.icon {
		margin-right: 0 !important;
	}

	header.pt-mega-site-header .pt-mega-shell__social .pt-mega-social-follow-mirror .et_pb_social_media_follow a.icon::before {
		font-size: 1rem !important;
		line-height: 2rem !important;
		height: 2rem !important;
		width: 2rem !important;
		display: block !important;
		position: relative !important;
		z-index: 10 !important;
		margin: 0 !important;
	}
}

header.pt-mega-site-header .pt-mega-shell__social .pt-mega-social-follow-tb-scope.et-l--header,
header.pt-mega-site-header .pt-mega-shell__social .pt-mega-social-follow-tb-scope.et-l--footer {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	float: none !important;
	position: relative !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

header.pt-mega-site-header .pt-mega-shell__social .pt-mega-social-follow-tb-scope .et_builder_inner_content {
	margin: 0 !important;
	padding: 0 !important;
	width: fit-content !important;
	max-width: 100% !important;
	min-width: 0 !important;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	vertical-align: middle;
	gap: 0;
}

.pt-mega-shell__social a.pt-mega-social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0 0.35rem;
	border: 1px solid #b5b0aa;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.55);
	color: #1b0c09;
	text-decoration: none;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		color 0.15s ease;
}

.pt-mega-shell__social a.pt-mega-social.pt-mega-social--icon {
	padding: 0.42rem;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
}

.pt-mega-shell__social a.pt-mega-social.pt-mega-social--icon .pt-mega-social__svg,
.pt-mega-shell__social svg {
	display: block;
	width: 1.125rem;
	height: 1.125rem;
	fill: currentColor;
	flex-shrink: 0;
}

.pt-mega-shell__social a.pt-mega-social:hover,
.pt-mega-shell__social a.pt-mega-social:focus-visible {
	border-color: #c63f1f;
	background: var(--pt-color-brand-orange-tint-bg, #fff2ec);
	color: #b93a1d;
}

/* ---- Mega panels: fixed, centered to viewport (matches centered content column), hover bridge ---- */
.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__sub--depth-0 {
	position: fixed;
	left: 50%;
	right: auto;
	top: calc(var(--pt-mega-dropdown-top, 6.5rem) - var(--pt-mega-dropdown-overlap, 0px));
	margin: 0;
	z-index: 100092;
	display: grid;
	box-sizing: border-box;
	width: min(68rem, calc(100vw - 2rem));
	max-width: min(68rem, calc(100vw - 2rem));
	min-width: 0;
	padding: 1.35rem 1.65rem 1.65rem;
	list-style: none;
	background: #fdfcfa;
	color: #1b0c09;
	border: 1px solid rgba(27, 12, 9, 0.1);
	border-radius: 8px;
	/* Drop shadow + inset top: reads as the shell sitting above the open panel. */
	box-shadow:
		0 28px 64px rgba(27, 12, 9, 0.12),
		0 12px 28px rgba(27, 12, 9, 0.08),
		inset 0 10px 18px -8px rgba(27, 12, 9, 0.08),
		inset 0 1px 0 rgba(27, 12, 9, 0.04),
		0 0 0 1px rgba(255, 255, 255, 0.65) inset;
	grid-template-columns: repeat(auto-fit, minmax(12.75rem, 1fr));
	column-gap: 1.65rem;
	row-gap: 1.35rem;
	align-items: start;
	max-height: calc(
		100vh - var(--pt-mega-dropdown-top, 6.5rem) + var(--pt-mega-dropdown-overlap, 0px) - 1.25rem
	);
	overflow-x: hidden;
	overflow-y: auto;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(-50%, -6px, 0);
	transition:
		opacity 0.2s ease,
		transform 0.24s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.22s ease,
		visibility 0s linear 0.22s;
	will-change: opacity, transform;
}

/*
 * Invisible hover bridge above the panel: full viewport width so diagonal moves from a narrow
 * top-level <li> still count as hovering that item (fixed panel is centered, not under the label).
 */
.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__sub--depth-0::before {
	content: "";
	position: absolute;
	left: 50%;
	right: auto;
	width: 100vw;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	transform: translateX(-50%);
	top: calc(-1 * var(--pt-mega-hover-bridge, 1.35rem));
	height: var(--pt-mega-hover-bridge, 1.35rem);
	pointer-events: none;
}

.pt-mega-nav__list > .pt-mega-nav__item:focus-within > .pt-mega-nav__sub--depth-0::before,
.pt-mega-nav__list > .pt-mega-nav__item:hover > .pt-mega-nav__sub--depth-0::before,
.pt-mega-nav__list > .pt-mega-nav__item.pt-mega-nav__item--mega-open > .pt-mega-nav__sub--depth-0::before {
	pointer-events: auto;
}

/*
 * Second bridge: fixed strip just above the panel, generated on the <li> only while open
 * (:hover / :focus-within). Keeps :hover on the item while the pointer crosses the gap below
 * the bar (submenu is out of flow so the <li> box does not include the panel).
 */
@media (min-width: 981px) {
	.pt-mega-nav__list > .menu-item-has-children:hover::before,
	.pt-mega-nav__list > .menu-item-has-children:focus-within::before,
	.pt-mega-nav__list > .menu-item-has-children.pt-mega-nav__item--mega-open::before {
		content: "";
		position: fixed;
		left: 0;
		right: 0;
		width: 100%;
		max-width: none;
		top: calc(
			var(--pt-mega-dropdown-top, 6.5rem) - var(--pt-mega-dropdown-overlap, 0px) -
				var(--pt-mega-hover-bridge, 1.35rem)
		);
		height: var(--pt-mega-hover-bridge, 1.35rem);
		pointer-events: auto;
		z-index: 100091;
		background: transparent;
	}
}

.pt-mega-nav__list > .pt-mega-nav__item:focus-within > .pt-mega-nav__sub--depth-0,
.pt-mega-nav__list > .pt-mega-nav__item:hover > .pt-mega-nav__sub--depth-0,
.pt-mega-nav__list > .pt-mega-nav__item.pt-mega-nav__item--mega-open > .pt-mega-nav__sub--depth-0 {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(-50%, 0, 0);
	transition:
		opacity 0.18s ease,
		transform 0.26s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.22s ease,
		visibility 0s linear 0s;
}

/*
 * Product mega columns (PRODUCTS, PARTS & SERVICES, legacy “Products & Services”):
 * auto-fit collapses empty tracks so columns share panel width.
 */
.pt-mega-nav__root--products > .pt-mega-nav__sub--depth-0,
.pt-mega-nav__root--parts-services > .pt-mega-nav__sub--depth-0,
.pt-mega-nav__root--products-services > .pt-mega-nav__sub--depth-0 {
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	column-gap: 1.85rem;
	row-gap: 1.35rem;
}

/*
 * Locations mega panel: same column / row rhythm as product roots
 * (.pt-mega-nav__root--products > .pt-mega-nav__sub--depth-0).
 */
.pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 {
	grid-template-columns: repeat(auto-fit, minmax(11.25rem, 1fr));
	column-gap: 1.85rem;
	row-gap: 1.35rem;
}

/*
 * One grid track per state (--pt-loc-ncols from PHP). Flat menus use grid-column on each store <li>.
 * Horizontal gap = product columns (1.85rem). Vertical gap between store rows = depth-1 flex gap (0.125rem).
 */
.pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0.pt-mega-nav__sub--loc-cols {
	grid-template-columns: repeat(var(--pt-loc-ncols, 4), minmax(0, 1fr));
	grid-auto-flow: row;
	align-items: start;
	column-gap: 1.85rem;
	row-gap: 0.125rem;
}

.pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item {
	position: relative;
	min-height: 100%;
	padding-right: 0.35rem;
}

/* Vertical rules: between state columns; offset matches half of column-gap (1.85rem / 2). */
.pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0:not(.pt-mega-nav__sub--loc-cols--flat) > .pt-mega-nav__item:not(:last-child)::after {
	content: "";
	position: absolute;
	right: calc(-0.925rem);
	top: 0.15rem;
	bottom: 0.15rem;
	width: 1px;
	background: linear-gradient(180deg, transparent 0%, #dcd7d2 18%, #dcd7d2 82%, transparent 100%);
	pointer-events: none;
}

/*
 * Locations column titles (states): same treatment as product mega column headings
 * (.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item > .pt-mega-nav__link), e.g. “Hydraulics”.
 */

/* Same stack spacing as product columns: ul uses global .pt-mega-nav__sub--depth-1 (gap: 0.125rem). */
.pt-mega-nav__root--loc-panel .pt-mega-nav__item--loc-state .pt-mega-nav__sub--depth-1 {
	margin-top: 0;
	margin-left: 0;
	padding-left: 0.65rem;
	border-left: 2px solid #ece8e4;
}

/*
 * Flat Locations menu (Locations → store pages): state comes from pt_location_state taxonomy;
 * first row of each state gets a synthetic header via ::before + data-pt-loc-state on the <li>.
 */
.pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item--loc-flat-group-start::before {
	content: attr(data-pt-loc-state);
	display: block;
	margin: 0 0 0.65rem;
	padding: 0 0 0.55rem;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.085em;
	text-transform: uppercase;
	text-decoration: none;
	color: #281913;
	background-color: transparent;
	border: 0;
	border-bottom: 3px solid #c63f1f;
	border-radius: 0;
	box-shadow: none;
	pointer-events: none;
}

/* Idem .pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link; vertical rhythm from grid row-gap (0.125rem). */
header.pt-mega-site-header nav.pt-mega-nav .pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item--loc-flat-city > .pt-mega-nav__link {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.42;
	text-decoration: none;
	color: #433931;
	padding: 0.36rem 0.48rem;
	margin: 0 -0.48rem;
	border-radius: 3px;
	border: 0;
	border-bottom: 0;
	text-transform: none;
	letter-spacing: 0.01em;
	box-shadow: none;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease;
}

header.pt-mega-site-header nav.pt-mega-nav .pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item--loc-flat-city > .pt-mega-nav__link:hover,
header.pt-mega-site-header nav.pt-mega-nav .pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item--loc-flat-city > .pt-mega-nav__link:focus-visible {
	background-color: rgba(198, 63, 31, 0.12);
	color: #b93a1d;
	text-decoration: none;
	box-shadow: inset 3px 0 0 #c63f1f;
	transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
	header.pt-mega-site-header nav.pt-mega-nav .pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item--loc-flat-city > .pt-mega-nav__link:hover,
	header.pt-mega-site-header nav.pt-mega-nav .pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item--loc-flat-city > .pt-mega-nav__link:focus-visible {
		transform: none;
	}
}

/* Flat Locations: keep the viewed store link visibly “active” inside the panel */
header.pt-mega-site-header nav.pt-mega-nav .pt-mega-nav__root--loc-panel > .pt-mega-nav__sub--depth-0 > .pt-mega-nav__item--loc-flat-city.current-menu-item > .pt-mega-nav__link {
	background-color: rgba(198, 63, 31, 0.14);
	color: #1b0c09;
	font-weight: 700;
	box-shadow: inset 3px 0 0 #c63f1f;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.pt-mega-nav__list > .pt-mega-nav__item > .pt-mega-nav__sub--depth-0 {
		transition:
			opacity 0.12s ease,
			visibility 0s linear 0.12s;
		transform: translate3d(-50%, 0, 0);
		will-change: auto;
	}

	.pt-mega-nav__list > .pt-mega-nav__item:focus-within > .pt-mega-nav__sub--depth-0,
	.pt-mega-nav__list > .pt-mega-nav__item:hover > .pt-mega-nav__sub--depth-0,
	.pt-mega-nav__list > .pt-mega-nav__item.pt-mega-nav__item--mega-open > .pt-mega-nav__sub--depth-0 {
		transition: opacity 0.12s ease, visibility 0s linear 0s;
		transform: translate3d(-50%, 0, 0);
	}
}

/* Column heading (depth 1 parent link) — stronger hierarchy */
.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item {
	margin: 0;
	padding: 0 0 0.15rem;
	min-width: 0;
	border-bottom: none;
}

.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item > .pt-mega-nav__link {
	display: block;
	margin: 0 0 0.65rem;
	padding: 0 0 0.55rem;
	/* Match primary bar (.pt-mega-nav__link--depth-0): same size, weight, tracking */
	font-size: 0.8125rem;
	font-weight: 700 !important;
	line-height: 1.2;
	letter-spacing: 0.085em;
	text-transform: uppercase;
	text-decoration: none;
	color: #281913;
	border-bottom: 3px solid #c63f1f;
	transition:
		color 0.18s ease,
		border-color 0.18s ease,
		letter-spacing 0.18s ease,
		background-color 0.18s ease;
}

.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item > .pt-mega-nav__link:hover,
.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item > .pt-mega-nav__link:focus-visible {
	color: #b93a1d;
	border-bottom-color: #9f3118;
	background-color: rgba(198, 63, 31, 0.06);
}

.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item.current-menu-item > .pt-mega-nav__link,
.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item.current-menu-ancestor > .pt-mega-nav__link {
	color: #1b0c09;
	border-bottom-color: #c63f1f;
	background-color: rgba(198, 63, 31, 0.08);
	box-shadow: inset 0 -1px 0 rgba(198, 63, 31, 0.35);
}

.pt-mega-nav__sub--depth-0 > .pt-mega-nav__item.current-menu-item > .pt-mega-nav__link {
	font-weight: 800;
}

/* Column body links */
.pt-mega-nav__sub--depth-1 {
	position: static;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item {
	margin: 0;
	padding: 0;
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.42;
	text-decoration: none;
	color: #433931;
	padding: 0.36rem 0.48rem;
	margin: 0 -0.48rem;
	border-radius: 3px;
	border: 0;
	text-transform: none;
	letter-spacing: 0.01em;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease;
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link:hover,
.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link:focus-visible {
	background-color: rgba(198, 63, 31, 0.12);
	color: #b93a1d;
	text-decoration: none;
	box-shadow: inset 3px 0 0 #c63f1f;
	transform: translateX(2px);
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item.current-menu-item > .pt-mega-nav__link,
.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item.current-menu-ancestor > .pt-mega-nav__link {
	background-color: rgba(198, 63, 31, 0.14);
	color: #1b0c09;
	font-weight: 700;
	box-shadow: inset 3px 0 0 #c63f1f;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link {
		transition: background-color 0.12s ease, color 0.12s ease;
	}

	.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link:hover,
	.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link:focus-visible {
		transform: none;
	}
}

/* Deeper nesting */
.pt-mega-nav__sub--depth-2 {
	margin-top: 0.35rem;
	margin-left: 0.4rem;
	padding-left: 0.65rem;
	border-left: 2px solid #ece8e4;
}

.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	color: #5c534f;
	padding: 0.28rem 0.4rem;
	margin: 0 -0.4rem;
	border-radius: 3px;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease,
		box-shadow 0.18s ease;
}

.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link:hover,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link:focus-visible {
	background-color: rgba(198, 63, 31, 0.1);
	color: #b93a1d;
	box-shadow: inset 2px 0 0 #c63f1f;
	transform: translateX(2px);
}

.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item.current-menu-item > .pt-mega-nav__link,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item.current-menu-ancestor > .pt-mega-nav__link {
	background-color: rgba(198, 63, 31, 0.14);
	color: #1b0c09;
	font-weight: 700;
	box-shadow: inset 2px 0 0 #c63f1f;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link {
		transition: background-color 0.12s ease, color 0.12s ease;
	}

	.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link:hover,
	.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link:focus-visible {
		transform: none;
	}
}

/*
 * Product links with SVG icons (mega-menu-icons.php).
 * WordPress adds pt-mega-nav__sub--depth-N using the *parent* menu depth, not the child <li> depth.
 * Items with pt-mega-nav__item--depth-2 sit under ul.pt-mega-nav__sub--depth-1 — not --depth-2.
 */
.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon {
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 0;
	width: 100%;
	box-sizing: border-box;
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon .pt-mega-nav__label,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon .pt-mega-nav__label {
	flex: 1 1 auto;
	min-width: 0;
	line-height: inherit;
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon .pt-mega-nav__icon,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon .pt-mega-nav__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 1.125rem;
	height: 1.125rem;
	line-height: 0;
	opacity: 0.72;
	color: inherit;
	transition: opacity 0.18s ease;
	transform: translateY(2px);
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon .pt-mega-nav__icon-svg,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon .pt-mega-nav__icon-svg {
	display: block;
	width: 16px;
	height: 16px;
	max-width: 100%;
	max-height: 100%;
	margin-right: 5px;
}

.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon:hover .pt-mega-nav__icon,
.pt-mega-nav__sub--depth-1 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon:focus-visible .pt-mega-nav__icon,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon:hover .pt-mega-nav__icon,
.pt-mega-nav__sub--depth-2 > .pt-mega-nav__item > .pt-mega-nav__link.pt-mega-nav__link--with-icon:focus-visible .pt-mega-nav__icon {
	opacity: 1;
}

@media (max-width: 980px) {
	.pt-mega-shell {
		display: none !important;
	}
}

/**
 * Desktop: mega strip replaces Divi / Theme Builder primary header chrome (legacy menu hidden).
 * Mobile: mega strip is hidden above — Divi header + menu stay available for tap navigation.
 */
body.pt-mega-menu-active.pthose-mega-topstrip-on #top-header {
	display: none !important;
}

/**
 * Theme Builder global header: hide Sections that are not the menu band (Divi adds
 * `et_pb_section--with-menu` on the Section that contains the Menu module).
 * That removes stacked strips such as “Now open…” (section 0) and duplicate 24/7 (section 1).
 * Escape hatch: Section CSS class `pt-mega-keep-header-section` or legacy `pt-mega-keep-first-header-section`.
 */
body.pt-mega-menu-active.pthose-mega-topstrip-on .et-l--header .et_builder_inner_content > .et_pb_section:not(.et_pb_section--with-menu):not(.pt-mega-keep-header-section):not(.pt-mega-keep-first-header-section) {
	display: none !important;
}

/** Explicit duplicate anywhere in TB header (optional manual class on Section/Row) */
body.pt-mega-menu-active.pthose-mega-topstrip-on .et-l--header .pt-mega-topstrip-duplicate {
	display: none !important;
}

@media (min-width: 981px) {
	body.pt-mega-menu-active #main-header {
		display: none !important;
	}

	/* Menu/logo Section is redundant vs mega shell */
	body.pt-mega-menu-active .et-l--header .et_pb_section--with-menu {
		display: none !important;
	}

	body.pt-mega-menu-active .et-l--header .et_pb_menu,
	body.pt-mega-menu-active .et-l--header .et_pb_fullwidth_menu {
		display: none !important;
	}
}
