/*
 * Del Mar Navigation Suite
 * All menu rules require the runtime .dmns-panel marker so Elementor, Woodmart
 * and unrelated side panels remain untouched.
 */

body.dmns-menu-open {
	overflow: hidden !important;
}

.dmns-overlay {
	position: fixed;
	z-index: 999990;
	inset: 0;
	background: var(--dmns-overlay-color);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	-webkit-backdrop-filter: blur(var(--dmns-overlay-blur));
	backdrop-filter: blur(var(--dmns-overlay-blur));
	transition:
		opacity var(--dmns-overlay-duration) cubic-bezier(0.19, 1, 0.22, 1),
		visibility 0s linear var(--dmns-overlay-duration);
}

.dmns-overlay.dmns-is-visible {
	opacity: var(--dmns-overlay-opacity);
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

body.dmns-menu-open .wd-close-side {
	opacity: 0 !important;
	pointer-events: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled {
	--wd-side-hidden-w: var(--dmns-panel-width);
	display: flex;
	position: fixed;
	z-index: 999991;
	inset-block: var(--wd-admin-bar-h, 0px) 0;
	left: 0;
	width: min(var(--dmns-panel-width), 100vw) !important;
	height: auto;
	max-width: 100vw;
	padding: 0 !important;
	border: 0 !important;
	border-right: var(--dmns-panel-border) !important;
	background: var(--dmns-panel-bg) !important;
	box-shadow: var(--dmns-panel-shadow);
	flex-direction: column;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	transform: translate3d(-101%, 0, 0) !important;
	opacity: 1;
	visibility: visible;
	transition:
		transform var(--dmns-panel-duration) cubic-bezier(0.19, 1, 0.22, 1),
		opacity var(--dmns-panel-duration) ease !important;
	will-change: transform;
}

body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled.dmns-is-open,
body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled.wd-opened {
	transform: translate3d(0, 0, 0) !important;
	opacity: 1;
}

body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled.dmns-panel-animation-fade {
	transform: none !important;
	opacity: 0;
	pointer-events: none;
}

body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled.dmns-panel-animation-fade.dmns-is-open,
body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled.dmns-panel-animation-fade.wd-opened {
	opacity: 1;
	pointer-events: auto;
}

body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled.dmns-panel-animation-none {
	transition: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel:not(.dmns-viewport-enabled) > .dmns-menu-header {
	display: none;
}

.dmns-panel .mobile-nav-tabs,
.dmns-panel > .wd-search-form,
.dmns-panel > .wd-heading {
	display: none !important;
}

.dmns-menu-header {
	display: flex;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	min-height: calc(var(--dmns-panel-top) + var(--dmns-logo-box-height));
	padding: var(--dmns-panel-top) var(--dmns-panel-x) 0;
	align-items: flex-start;
	flex: 0 0 auto;
}

.dmns-logo {
	display: block;
	margin-top: var(--dmns-logo-top);
	margin-right: var(--dmns-logo-right);
	margin-left: var(--dmns-logo-left);
	line-height: 0;
}

.dmns-logo picture,
.dmns-logo img {
	display: block;
}

.dmns-logo img {
	width: var(--dmns-logo-width);
	height: var(--dmns-logo-height);
	max-width: none;
	object-fit: contain;
	object-position: left top;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-menu-close {
	display: flex !important;
	position: absolute !important;
	inset: auto !important;
	top: calc(var(--dmns-panel-top) + var(--dmns-close-top)) !important;
	right: calc(var(--dmns-panel-x) + var(--dmns-close-right)) !important;
	bottom: auto !important;
	left: auto !important;
	box-sizing: border-box !important;
	width: var(--dmns-close-size) !important;
	height: var(--dmns-close-size) !important;
	min-width: var(--dmns-close-size) !important;
	min-height: var(--dmns-close-size) !important;
	max-width: var(--dmns-close-size) !important;
	max-height: var(--dmns-close-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--dmns-close-color) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	transform: none !important;
	cursor: pointer !important;
	appearance: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-menu-close:hover,
body.dmns-enabled .mobile-nav.dmns-panel .dmns-menu-close:focus,
body.dmns-enabled .mobile-nav.dmns-panel .dmns-menu-close:active {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--dmns-close-color) !important;
	transform: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-menu-close:focus {
	outline: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-menu-close:focus-visible {
	outline: 1px solid var(--dmns-close-color) !important;
	outline-offset: 6px !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-close-glyph {
	display: block !important;
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	pointer-events: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-close-glyph::before,
body.dmns-enabled .mobile-nav.dmns-panel .dmns-close-glyph::after {
	display: none !important;
	content: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-close-svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	overflow: visible !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: var(--dmns-close-stroke) !important;
	stroke-linecap: square !important;
	vector-effect: non-scaling-stroke;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-close-is-custom .dmns-close-glyph {
	background: var(--dmns-close-color) !important;
	-webkit-mask: var(--dmns-close-icon) center / contain no-repeat !important;
	mask: var(--dmns-close-icon) center / contain no-repeat !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-close-is-custom .dmns-close-svg {
	display: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel.dmns-viewport-enabled > ul.dmns-menu {
	display: block !important;
	box-sizing: border-box;
	width: 100%;
	margin: 52px 0 0 !important;
	padding: 0 var(--dmns-panel-x) 45px !important;
	background: transparent !important;
	flex: 0 0 auto;
	list-style: none !important;
	transform: none !important;
}

.dmns-panel .dmns-menu > .menu-item {
	display: block !important;
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: var(--dmns-separator) !important;
	background: transparent !important;
}

.dmns-panel .dmns-menu > .menu-item:last-child {
	border-bottom-color: transparent !important;
}

.dmns-panel .dmns-menu .menu-item > a,
.dmns-panel .dmns-menu .menu-item > a.woodmart-nav-link {
	display: flex !important;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: var(--dmns-item-y) 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--dmns-text-color) !important;
	font-family: var(--dmns-font-family) !important;
	font-size: var(--dmns-font-size) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: var(--dmns-line-height) !important;
	letter-spacing: var(--dmns-letter-spacing) !important;
	text-decoration: none !important;
	text-transform: none !important;
	align-items: center;
	transition:
		opacity 220ms ease,
		color 220ms ease,
		background-color 220ms ease,
		transform 220ms ease;
}

.dmns-panel .dmns-menu .menu-item-has-children > a {
	padding-right: 38px !important;
}

.dmns-panel .dmns-menu .nav-link-text {
	color: inherit !important;
	font: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
}

.dmns-panel .dmns-menu .current-menu-item > a,
.dmns-panel .dmns-menu .current-menu-ancestor > a {
	color: var(--dmns-active-color) !important;
}

.dmns-panel .dmns-menu .current-menu-item > a::before,
.dmns-panel .dmns-menu .current-menu-ancestor > a::before {
	position: absolute;
	top: 50%;
	left: -17px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
	content: "";
	transform: translateY(-50%);
}

.dmns-panel .dmns-menu .wd-nav-opener {
	display: grid !important;
	position: absolute !important;
	z-index: 2;
	top: 0 !important;
	right: -12px !important;
	width: 42px !important;
	height: calc((var(--dmns-font-size) * var(--dmns-line-height)) + (var(--dmns-item-y) * 2)) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	place-items: center;
	cursor: pointer;
}

.dmns-panel .dmns-menu .wd-nav-opener::before,
.dmns-panel .dmns-menu .wd-nav-opener::after {
	display: none !important;
}

.dmns-panel .dmns-menu .wd-nav-opener > span,
.dmns-panel .dmns-menu .wd-nav-opener::marker {
	display: none !important;
}

.dmns-panel .dmns-menu .wd-nav-opener {
	color: var(--dmns-text-color) !important;
}

.dmns-panel .dmns-menu .wd-nav-opener {
	-webkit-mask: var(--dmns-arrow-icon) center / 14px 14px no-repeat;
	mask: var(--dmns-arrow-icon) center / 14px 14px no-repeat;
	background-color: currentColor !important;
	transition: transform 300ms cubic-bezier(0.19, 1, 0.22, 1) !important;
}

.dmns-panel .dmns-menu .menu-item.dmns-submenu-open > .wd-nav-opener {
	transform: rotate(90deg);
}

.dmns-panel .dmns-menu .wd-nav-opener:focus-visible {
	outline: 1px solid var(--dmns-text-color) !important;
	outline-offset: -8px;
}

.dmns-panel .dmns-menu .wd-sub-menu,
.dmns-panel .dmns-menu .sub-menu {
	display: block !important;
	position: static !important;
	box-sizing: border-box;
	max-height: 0;
	margin: 0 !important;
	padding: 0 0 0 16px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transform: translateY(-5px) !important;
	pointer-events: none;
	transition:
		max-height 420ms cubic-bezier(0.19, 1, 0.22, 1),
		opacity 220ms ease,
		transform 320ms ease,
		visibility 0s linear 420ms !important;
}

.dmns-panel .dmns-menu .dmns-submenu-open > .wd-sub-menu,
.dmns-panel .dmns-menu .dmns-submenu-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) !important;
	pointer-events: auto;
	transition-delay: 0s !important;
}

.dmns-panel .dmns-menu .wd-sub-menu .menu-item,
.dmns-panel .dmns-menu .sub-menu .menu-item {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.dmns-panel .dmns-menu .wd-sub-menu .menu-item > a,
.dmns-panel .dmns-menu .sub-menu .menu-item > a {
	padding: 5px 0 !important;
	font-size: max(13px, calc(var(--dmns-font-size) - 2px)) !important;
	line-height: 1.55 !important;
}

.dmns-panel.dmns-item-animation-slide.dmns-animate-items .dmns-menu > .menu-item {
	animation: dmns-item-slide 520ms both cubic-bezier(0.19, 1, 0.22, 1);
	animation-delay: calc(var(--dmns-item-index, 0) * var(--dmns-item-delay));
}

.dmns-panel.dmns-item-animation-fade.dmns-animate-items .dmns-menu > .menu-item {
	animation: dmns-item-fade 420ms both ease;
	animation-delay: calc(var(--dmns-item-index, 0) * var(--dmns-item-delay));
}

@keyframes dmns-item-slide {
	from {
		opacity: 0;
		transform: translate3d(-10px, 5px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes dmns-item-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

body.dmns-enabled .wd-header-mobile-nav.dmns-trigger-styled > a {
	display: inline-flex !important;
	height: 40px !important;
	min-height: 40px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	line-height: 1 !important;
}

.dmns-trigger-styled .wd-tools-icon {
	color: var(--dmns-trigger-color) !important;
}

body.dmns-enabled .wd-header-mobile-nav.dmns-trigger-styled .wd-tools-icon {
	display: inline-flex !important;
	position: relative !important;
	box-sizing: border-box !important;
	width: var(--dmns-trigger-size) !important;
	height: var(--dmns-trigger-size) !important;
	min-width: var(--dmns-trigger-size) !important;
	min-height: var(--dmns-trigger-size) !important;
	margin-right: var(--dmns-trigger-spacing) !important;
	margin-left: var(--dmns-trigger-spacing) !important;
	padding: 0 !important;
	background-color: transparent;
	font-size: 0 !important;
	line-height: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 var(--dmns-trigger-size) !important;
	transform: none !important;
}

body.dmns-enabled .wd-header-mobile-nav.dmns-trigger-styled .wd-tools-text {
	display: inline-flex !important;
	height: var(--dmns-trigger-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	transform: none !important;
}

body.dmns-enabled .wd-header-mobile-nav.dmns-trigger-styled:not(.dmns-custom-trigger) .wd-tools-icon::before {
	display: block !important;
	width: 68% !important;
	height: 52% !important;
	background:
		linear-gradient(currentColor, currentColor) top / 100% 1.5px no-repeat,
		linear-gradient(currentColor, currentColor) center / 100% 1.5px no-repeat,
		linear-gradient(currentColor, currentColor) bottom / 100% 1.5px no-repeat !important;
	content: "" !important;
	font-family: inherit !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

body.dmns-enabled .wd-header-mobile-nav.dmns-custom-trigger .wd-tools-icon {
	background: var(--dmns-trigger-color) !important;
	-webkit-mask: var(--dmns-trigger-icon) center / contain no-repeat !important;
	mask: var(--dmns-trigger-icon) center / contain no-repeat !important;
}

body.dmns-enabled .wd-header-mobile-nav.dmns-custom-trigger .wd-tools-icon::before,
body.dmns-enabled .wd-header-mobile-nav.dmns-custom-trigger .wd-tools-icon::after {
	display: none !important;
	content: none !important;
}

body.dmns-enabled .mobile-nav.dmns-panel .dmns-close-svg line {
	vector-effect: non-scaling-stroke;
}

@media (prefers-reduced-motion: reduce) {
	.dmns-overlay,
	.dmns-panel,
	.dmns-panel *,
	.dmns-panel *::before,
	.dmns-panel *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-delay: 0ms !important;
		transition-duration: 0.01ms !important;
	}
}
