/* =========================================================
   PODOSHOP MOBILE MENU — shared accordion component layer

   One source of truth for HTML-block rows:
   - Tools and Professional modifiers keep Elementor previews accurate.
   - .wd-nav-mobile.nf-mobile-menu-ready applies the same component rules
     inside the live WoodMart mobile drawer.
   ========================================================= */
:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional),
:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) *,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-block,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-block * {
	box-sizing: border-box;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional),
.wd-nav-mobile.nf-mobile-menu-ready {
	--nf-mobile-accent: #147c96;
	--nf-mobile-accent-soft: #eaf5f7;
	--nf-mobile-title: #303639;
	--nf-mobile-text: #4f5558;
	--nf-mobile-line: #e7ebed;
	--nf-mobile-muted: #6e777b;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional),
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-block {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
}

/* Main category CTA. */
:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-view-all,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	min-height: 40px !important;
	margin: 0 0 2px !important;
	padding: 9px 40px 9px 14px !important;
	border: 1px solid #dce8ea !important;
	border-radius: 10px !important;
	background: linear-gradient(90deg, #f7fbfc 0%, var(--nf-mobile-accent-soft) 100%) !important;
	box-shadow: none !important;
	color: var(--nf-mobile-accent) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-view-all::after,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all::after {
	content: "→" !important;
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	transform: translateY(-53%) !important;
}

/* Tools accordions: visually identical to standard navigation rows. */
:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick {
	display: block !important;
	width: 100% !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-group {
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-bottom: 1px solid var(--nf-mobile-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	width: 100% !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 8px 31px 8px 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--nf-mobile-text) !important;
	font: inherit !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
	text-transform: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	transition: color 140ms ease, background-color 140ms ease !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle > span {
	font: inherit !important;
	color: inherit !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle::after {
	content: "" !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	width: 7px !important;
	height: 7px !important;
	margin-top: -5px !important;
	border: 0 !important;
	border-right: 1.6px solid currentColor !important;
	border-bottom: 1.6px solid currentColor !important;
	transform: rotate(45deg) !important;
	transition: transform 180ms ease, margin-top 180ms ease !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle[aria-expanded="true"] {
	color: var(--nf-mobile-accent) !important;
	background: transparent !important;
	font-weight: 400 !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle[aria-expanded="true"]::after {
	margin-top: -1px !important;
	transform: rotate(225deg) !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-panel {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 8px 12px 10px 14px !important;
	background: #f8fafb !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-panel[hidden] {
	display: none !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-links {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 6px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 7px 8px !important;
	border: 1px solid #e2e7e9 !important;
	border-radius: 7px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--nf-mobile-text) !important;
	font-size: 12.25px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
	transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 90ms ease !important;
}


:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-link--wide {
	grid-column: 1 / -1 !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-link--all {
	grid-column: 1 / -1 !important;
	justify-content: space-between !important;
	padding-inline: 11px !important;
	color: var(--nf-mobile-accent) !important;
	background: #fff !important;
	border-color: #dbe4e6 !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-link--all::after {
	content: "→" !important;
	display: block !important;
	flex: 0 0 auto !important;
	margin-left: 8px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

/* Standard HTML-block links. */
:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-links,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-links {
	display: block !important;
	width: 100% !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-link,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 8px 31px 8px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--nf-mobile-line) !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--nf-mobile-text) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-link::after,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link::after {
	content: "" !important;
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	width: 6px !important;
	height: 6px !important;
	border: 0 !important;
	border-top: 1.4px solid var(--nf-mobile-muted) !important;
	border-right: 1.4px solid var(--nf-mobile-muted) !important;
	transform: translateY(-50%) rotate(45deg) !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-highlight,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-highlight {
	color: var(--nf-mobile-text) !important;
	font-weight: 400 !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-extra,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-extra {
	display: none !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional).is-nf-mobile-expanded .nf-mobile-menu-extra,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-block.is-nf-mobile-expanded .nf-mobile-menu-extra {
	display: flex !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-more,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more {
	display: inline-flex !important;
	align-items: center !important;
	gap: 9px !important;
	min-height: 39px !important;
	margin: 0 !important;
	padding: 8px 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--nf-mobile-accent) !important;
	font: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-more::after,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more::after {
	content: "" !important;
	display: block !important;
	width: 6px !important;
	height: 6px !important;
	margin-top: -3px !important;
	border: 0 !important;
	border-right: 1.5px solid currentColor !important;
	border-bottom: 1.5px solid currentColor !important;
	transform: rotate(45deg) !important;
	transition: transform 180ms ease !important;
}

:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-more[aria-expanded="true"]::after,
.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more[aria-expanded="true"]::after {
	margin-top: 3px !important;
	transform: rotate(225deg) !important;
}

@media (hover: hover) {
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-view-all:hover,
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle:hover,
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-link:hover,
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-link:hover,
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-more:hover {
		color: var(--nf-mobile-accent) !important;
	}

	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-link:hover {
		background: #eef7f8 !important;
		border-color: #cfe3e7 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle,
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-toggle::after,
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-quick-link,
	:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional) .nf-mobile-menu-more::after {
		transition: none !important;
	}
}

@media (max-width: 1024px) {
	.wd-nav-mobile.nf-mobile-menu-ready {
		--nf-mobile-accent: #147c96;
		--nf-mobile-accent-soft: #eaf5f7;
		--nf-mobile-title: #303639;
		--nf-mobile-text: #4f5558;
		--nf-mobile-line: #e7ebed;
		--nf-mobile-muted: #6e777b;
		transform: none !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .wd-drilldown-back {
		display: none !important;
	}

	/* Compact drawer heading with dynamic WooCommerce account on the left. */
	.nf-mobile-drawer-ready .wd-heading.nf-mobile-heading-ready {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
		height: auto !important;
		min-height: 70px !important;
		margin: 0 !important;
		padding: max(14px, env(safe-area-inset-top, 0px)) 18px 14px !important;
		border-bottom: 1px solid var(--nf-mobile-line, #e7ebed) !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	.nf-mobile-drawer-ready .wd-heading.nf-mobile-heading-ready .close-side-widget {
		position: static !important;
		float: none !important;
		display: block !important;
		flex: 0 0 auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
	}

	.nf-mobile-drawer-ready .wd-heading.nf-mobile-heading-ready .close-side-widget > a {
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		min-height: 38px !important;
		padding: 6px 0 6px 8px !important;
		color: #2f3336 !important;
		font-size: 13.5px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
	}

	.nf-mobile-drawer-ready .nf-mobile-account-link {
		display: inline-flex !important;
		align-items: center !important;
		gap: 9px !important;
		min-width: 0 !important;
		max-width: calc(100% - 96px) !important;
		min-height: 38px !important;
		margin: 0 !important;
		padding: 6px 4px 6px 0 !important;
		color: var(--nf-mobile-title, #303639) !important;
		font-size: 13.5px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	.nf-mobile-drawer-ready .nf-mobile-account-label {
		display: block !important;
		min-width: 0 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	.nf-mobile-drawer-ready .nf-mobile-account-icon {
		position: relative !important;
		display: block !important;
		flex: 0 0 22px !important;
		width: 22px !important;
		height: 22px !important;
		color: currentColor !important;
	}

	.nf-mobile-drawer-ready .nf-mobile-account-icon::before {
		content: "" !important;
		position: absolute !important;
		top: 1px !important;
		left: 7px !important;
		width: 7px !important;
		height: 7px !important;
		border: 1.6px solid currentColor !important;
		border-radius: 50% !important;
		box-sizing: border-box !important;
	}

	.nf-mobile-drawer-ready .nf-mobile-account-icon::after {
		content: "" !important;
		position: absolute !important;
		left: 3px !important;
		bottom: 1px !important;
		width: 16px !important;
		height: 9px !important;
		border: 1.6px solid currentColor !important;
		border-bottom: 0 !important;
		border-radius: 10px 10px 0 0 !important;
		box-sizing: border-box !important;
	}

	/* Top-level accordion rows. */
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		border: 0 !important;
		border-bottom: 1px solid var(--nf-mobile-line) !important;
		background: #fff !important;
		box-shadow: none !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > a.woodmart-nav-link {
		display: flex !important;
		align-items: center !important;
		min-height: 46px !important;
		margin: 0 !important;
		padding: 11px 48px 11px 18px !important;
		border: 0 !important;
		background: #fff !important;
		box-shadow: none !important;
		color: var(--nf-mobile-title) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.25 !important;
		text-transform: none !important;
		text-decoration: none !important;
		letter-spacing: 0 !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > a .nav-link-text {
		color: inherit !important;
		font: inherit !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item.is-nf-mobile-open > a.woodmart-nav-link {
		color: var(--nf-mobile-accent) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-nav-opener {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		z-index: 3 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 46px !important;
		height: 46px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-left: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		color: var(--nf-mobile-muted) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item.is-nf-mobile-open > .wd-nav-opener {
		background: transparent !important;
		color: var(--nf-mobile-accent) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-nav-opener::before {
		display: none !important;
		content: none !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-nav-opener::after {
		content: "" !important;
		display: block !important;
		width: 7px !important;
		height: 7px !important;
		margin: -3px 0 0 !important;
		border: 0 !important;
		border-right: 1.5px solid currentColor !important;
		border-bottom: 1.5px solid currentColor !important;
		font-size: 0 !important;
		transform: rotate(45deg) !important;
		transition: transform 180ms ease !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item.is-nf-mobile-open > .wd-nav-opener::after {
		margin-top: 3px !important;
		transform: rotate(225deg) !important;
	}

	/* WoodMart renders HTML-block dropdowns as a DIV, not a UL. */
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > ul {
		position: static !important;
		inset: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 14px 8px !important;
		border: 0 !important;
		transform: none !important;
		box-shadow: none !important;
		background: #fff !important;
		pointer-events: auto !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu[hidden],
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > ul[hidden] {
		display: none !important;
	}

	/* Remove Elementor's desktop container spacing inside these tiny mobile blocks. */
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu .wd-mob-nav-html-block,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu .elementor,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu .e-con,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu .e-con-inner,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu .elementor-element,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item > .wd-sub-menu .elementor-widget-container {
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		box-shadow: none !important;
	}



	/* Runtime wrapper keeps the three utility links on one ordered row. */
	.wd-nav-mobile.nf-mobile-menu-ready > .nf-mobile-utility-row {
		display: block !important;
		width: 100% !important;
		margin: 4px 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-top: 1px solid var(--nf-mobile-line) !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-links {
		display: grid !important;
		grid-template-columns: repeat(var(--nf-mobile-utility-columns, 3), minmax(0, 1fr)) !important;
		align-items: stretch !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 0 !important;
		min-height: 48px !important;
		margin: 0 !important;
		padding: 10px 7px !important;
		border: 0 !important;
		border-right: 1px solid var(--nf-mobile-line) !important;
		background: #fff !important;
		color: #666d70 !important;
		font-size: 11.5px !important;
		font-weight: 500 !important;
		line-height: 1.25 !important;
		text-align: center !important;
		text-decoration: none !important;
		white-space: normal !important;
		box-sizing: border-box !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link:last-child {
		border-right: 0 !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link .nav-link-text {
		color: inherit !important;
		font: inherit !important;
		text-align: inherit !important;
	}


	/* Match the desktop mega-menu typography and interaction language. */
	.wd-nav-mobile.nf-mobile-menu-ready,
	.nf-mobile-drawer-ready .wd-heading.nf-mobile-heading-ready {
		font-family: var(--wd-text-font, "Podoshop_ASTY_Font", Arial, Helvetica, sans-serif) !important;
		font-synthesis: none !important;
		-webkit-font-smoothing: antialiased !important;
		text-rendering: optimizeLegibility !important;
	}

	@media (pointer: fine) {
		.wd-nav-mobile.nf-mobile-menu-ready a:focus-visible,
		.wd-nav-mobile.nf-mobile-menu-ready button:focus-visible,
		.nf-mobile-drawer-ready .wd-heading a:focus-visible {
			outline: 2px solid var(--nf-mobile-accent, #147c96) !important;
			outline-offset: -2px !important;
			border-radius: 6px !important;
		}
	}

	@media (hover: hover) {
		.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link:hover,
		.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-toggle:hover,
		.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-link:hover,
		.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more:hover,
		.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link:hover,
		.nf-mobile-drawer-ready .nf-mobile-account-link:hover {
			color: var(--nf-mobile-accent) !important;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.wd-nav-mobile.nf-mobile-menu-ready *,
		.wd-nav-mobile.nf-mobile-menu-ready *::before,
		.wd-nav-mobile.nf-mobile-menu-ready *::after {
			transition-duration: 0.01ms !important;
		}
	}
}

/*
 * Drawer width policy
 * - Phones (portrait and landscape): true full-screen drawer.
 * - Tablets: wider fixed drawer, without occupying the whole viewport.
 *
 * The nf-mobile-drawer-ready class is applied by the feature's JavaScript to
 * the actual WoodMart mobile-navigation off-canvas wrapper only. Product
 * filters and other WoodMart side panels are therefore unaffected.
 */
@media (min-width: 768px) and (max-width: 1024px) and (min-height: 501px) {
	.nf-mobile-drawer-ready {
		width: 460px !important;
		min-width: 460px !important;
		max-width: min(460px, 100vw) !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 767px), (max-height: 500px) and (pointer: coarse) {
	.nf-mobile-drawer-ready {
		width: 100vw !important;
		width: 100dvw !important;
		min-width: 100vw !important;
		min-width: 100dvw !important;
		max-width: 100vw !important;
		max-width: 100dvw !important;
		box-sizing: border-box !important;
		padding-inline-start: env(safe-area-inset-left, 0px) !important;
		padding-inline-end: env(safe-area-inset-right, 0px) !important;
	}

	.nf-mobile-drawer-ready > *,
	.nf-mobile-drawer-ready .wd-nav-mobile,
	.nf-mobile-drawer-ready .mobile-pages-menu {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* Mobile touch feedback — visible on iOS Safari and Android browsers. */
@media (max-width: 1024px) and (pointer: coarse) {
	.nf-mobile-drawer-ready a,
	.nf-mobile-drawer-ready button,
	.nf-mobile-drawer-ready summary,
	.wd-nav-mobile.nf-mobile-menu-ready .wd-nav-opener {
		-webkit-tap-highlight-color: rgba(20, 124, 150, 0.14) !important;
		touch-action: manipulation !important;
	}

	/* A top-level tap highlights the complete accordion row, not just the icon. */
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item {
		transition: background-color 110ms ease !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item.is-nf-touch-active,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item:active {
		background: #f1f7f8 !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item.is-nf-touch-active > a.woodmart-nav-link,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item.is-nf-touch-active > .wd-nav-opener,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item:active > a.woodmart-nav-link,
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item:active > .wd-nav-opener {
		background: #f1f7f8 !important;
		color: var(--nf-mobile-accent, #147c96) !important;
	}

	/* Standard links receive a short pressed surface and tiny physical movement. */
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-toggle,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-link,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link,
	.nf-mobile-drawer-ready .nf-mobile-account-link,
	.nf-mobile-drawer-ready .close-side-widget > a {
		transition:
			background-color 110ms ease,
			border-color 110ms ease,
			color 110ms ease,
			transform 80ms ease !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link.is-nf-touch-active,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link:active {
		background: #f3f7f8 !important;
		color: var(--nf-mobile-title, #303639) !important;
		transform: translateX(1px) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link.is-nf-touch-active::after,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link:active::after {
		border-color: var(--nf-mobile-accent, #147c96) !important;
		transform: translate(2px, -50%) rotate(45deg) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-toggle.is-nf-touch-active,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-toggle:active {
		background: #eaf4f6 !important;
		color: var(--nf-mobile-accent, #147c96) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-link.is-nf-touch-active,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-link:active {
		background: #e6f2f4 !important;
		border-color: rgba(20, 124, 150, 0.34) !important;
		color: var(--nf-mobile-accent, #147c96) !important;
		transform: scale(0.985) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all.is-nf-touch-active,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all:active {
		background: #deeff2 !important;
		border-color: rgba(20, 124, 150, 0.34) !important;
		color: #106f87 !important;
		transform: scale(0.995) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all.is-nf-touch-active::after,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all:active::after {
		transform: translate(2px, -53%) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more.is-nf-touch-active,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more:active {
		background: #f1f7f8 !important;
		color: var(--nf-mobile-accent, #147c96) !important;
	}

	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link.is-nf-touch-active,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link:active,
	.nf-mobile-drawer-ready .nf-mobile-account-link.is-nf-touch-active,
	.nf-mobile-drawer-ready .nf-mobile-account-link:active,
	.nf-mobile-drawer-ready .close-side-widget > a.is-nf-touch-active,
	.nf-mobile-drawer-ready .close-side-widget > a:active {
		background: #f1f7f8 !important;
		color: var(--nf-mobile-accent, #147c96) !important;
		transform: scale(0.985) !important;
	}
}

@media (max-width: 1024px) and (pointer: coarse) and (prefers-reduced-motion: reduce) {
	.wd-nav-mobile.nf-mobile-menu-ready > li.nf-mobile-section-item,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-link,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-toggle,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-quick-link,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-view-all,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-menu-more,
	.wd-nav-mobile.nf-mobile-menu-ready .nf-mobile-utility-link,
	.nf-mobile-drawer-ready .nf-mobile-account-link,
	.nf-mobile-drawer-ready .close-side-widget > a,
	.wd-nav-mobile.nf-mobile-menu-ready summary {
		transform: none !important;
		transition-duration: 0.01ms !important;
	}
}

/* Extra accordion groups opened by the shared “More” control. */
:is(.nf-mobile-menu-block--tools, .nf-mobile-menu-block--professional).is-nf-mobile-expanded
  .nf-mobile-menu-extra-accordion,
.wd-nav-mobile.nf-mobile-menu-ready
  .nf-mobile-menu-block.is-nf-mobile-expanded
  .nf-mobile-menu-extra-accordion {
	display: block !important;
	width: 100% !important;
}
