/* ═══════════════════════════════════════════════════════════
   Advanced Nav Menu – Creative Addons
   ═══════════════════════════════════════════════════════════ */

/* ── Reset & Base ── */

.dea-nav-menu,
.dea-nav-menu *,
.dea-nav-menu *::before,
.dea-nav-menu *::after {
	box-sizing: border-box;
}

.dea-nav-menu {
	position: relative;
	line-height: 1.5;
}

.dea-nav-menu__list,
.dea-nav-menu__mobile-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dea-nav-menu__list li,
.dea-nav-menu__mobile-list li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dea-nav-menu__list a,
.dea-nav-menu__mobile-list a {
	display: flex;
	align-items: center;
	gap: 0.4em;
	text-decoration: none;
	position: relative;
	transition: color 0.25s ease, background-color 0.25s ease;
	outline: none;
}

.dea-nav-menu__list a:focus-visible,
.dea-nav-menu__mobile-list a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.dea-nav-menu__text {
	white-space: nowrap;
}

.dea-nav-menu__empty {
	padding: 20px;
	text-align: center;
	background: #f5f5f5;
	color: #888;
	border-radius: 4px;
	font-size: 14px;
}

/* ── Indicator Icon ── */

.dea-nav-menu__indicator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform 0.3s ease;
	line-height: 1;
}

.dea-nav-menu__indicator svg {
	width: 1em;
	height: 1em;
	display: block;
}

/* Top-level: indicator points down */
.dea-nav-menu--horizontal .dea-nav-menu__list > .menu-item > a > .dea-nav-menu__indicator {
	transform: rotate(90deg);
}

.dea-nav-menu--indicator-arrow .dea-nav-menu__list > .menu-item > a > .dea-nav-menu__indicator {
	transform: rotate(0deg);
}

/* Animate indicator on open */
.dea-nav-menu--indicator-animate .dea-nav-menu__list > .menu-item.dea-submenu-open > a > .dea-nav-menu__indicator {
	transform: rotate(180deg);
}

.dea-nav-menu--indicator-animate.dea-nav-menu--indicator-chevron .dea-nav-menu__list > .menu-item.dea-submenu-open > a > .dea-nav-menu__indicator {
	transform: rotate(270deg);
}

.dea-nav-menu--indicator-animate.dea-nav-menu--indicator-arrow .dea-nav-menu__list > .menu-item.dea-submenu-open > a > .dea-nav-menu__indicator {
	transform: rotate(180deg);
}

/* Plus → Minus morph */
.dea-nav-menu--indicator-plus.dea-nav-menu--indicator-animate .dea-submenu-open > a > .dea-nav-menu__indicator svg line:first-child {
	transform: rotate(90deg);
	transform-origin: center;
	opacity: 0;
}

/* Sub-submenu indicators */
.dea-nav-menu__list .sub-menu .dea-nav-menu__indicator {
	transform: rotate(0deg);
}

.dea-nav-menu--indicator-arrow .dea-nav-menu__list .sub-menu .dea-nav-menu__indicator {
	transform: rotate(-90deg);
}

.dea-nav-menu--indicator-animate .sub-menu .dea-submenu-open > a > .dea-nav-menu__indicator {
	transform: rotate(90deg);
}

/* ── Horizontal Layout ── */

.dea-nav-menu--horizontal .dea-nav-menu__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.dea-nav-menu--horizontal .dea-nav-menu__list > .menu-item {
	position: relative;
}

.dea-nav-menu--horizontal .dea-nav-menu__list > .menu-item > a {
	height: 100%;
}

/* ── Vertical Layout ── */

.dea-nav-menu--vertical .dea-nav-menu__list {
	display: flex;
	flex-direction: column;
}

.dea-nav-menu--vertical .dea-nav-menu__list > .menu-item {
	position: relative;
}

/* ── Dropdown Layout ── */

.dea-nav-menu--dropdown .dea-nav-menu__desktop-wrap {
	display: none;
}

.dea-nav-menu--dropdown .dea-nav-menu__toggle-wrap {
	display: flex !important;
}

/* ── Submenus (Desktop) ── */

.dea-nav-menu__list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	min-width: 220px;
	margin: 0;
	padding: 0;
	list-style: none;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}

/* Nested submenus open to the right */
.dea-nav-menu__list .sub-menu .sub-menu {
	top: 0;
	left: 100%;
}

/* Show submenu */
.dea-nav-menu__list .menu-item.dea-submenu-open > .sub-menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

/* Submenu animation: fade */
.dea-nav-menu--submenu-fade .dea-nav-menu__list .sub-menu {
	transform: none;
}

/* Submenu animation: fade-slide */
.dea-nav-menu--submenu-fade-slide .dea-nav-menu__list > .menu-item > .sub-menu {
	transform: translateY(8px);
}

.dea-nav-menu--submenu-fade-slide .dea-nav-menu__list > .menu-item.dea-submenu-open > .sub-menu {
	transform: translateY(0);
}

.dea-nav-menu--submenu-fade-slide .dea-nav-menu__list .sub-menu .sub-menu {
	transform: translateX(8px);
}

.dea-nav-menu--submenu-fade-slide .dea-nav-menu__list .sub-menu .dea-submenu-open > .sub-menu {
	transform: translateX(0);
}

/* Submenu animation: slide */
.dea-nav-menu--submenu-slide .dea-nav-menu__list > .menu-item > .sub-menu {
	transform: translateY(-10px);
}

.dea-nav-menu--submenu-slide .dea-nav-menu__list > .menu-item.dea-submenu-open > .sub-menu {
	transform: translateY(0);
}

.dea-nav-menu--submenu-slide .dea-nav-menu__list .sub-menu .sub-menu {
	transform: translateX(-10px);
}

.dea-nav-menu--submenu-slide .dea-nav-menu__list .sub-menu .dea-submenu-open > .sub-menu {
	transform: translateX(0);
}

/* Submenu animation: none */
.dea-nav-menu--submenu-none .dea-nav-menu__list .sub-menu {
	transition: none;
}

/* Vertical submenus */
.dea-nav-menu--vertical .dea-nav-menu__list .sub-menu {
	position: relative;
	top: auto;
	left: auto;
	padding-inline-start: 1em;
	min-width: 0;
	box-shadow: none;
	background: transparent;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease, opacity 0.25s ease, visibility 0.25s;
}

.dea-nav-menu--vertical .dea-nav-menu__list .sub-menu .sub-menu {
	left: auto;
	top: auto;
}

.dea-nav-menu--vertical .dea-nav-menu__list .menu-item.dea-submenu-open > .sub-menu {
	max-height: 2000px;
}

/* ── Hover Animations (line-based) ── */

.dea-nav-menu--hover-underline .dea-nav-menu__list > .menu-item > a::after,
.dea-nav-menu--hover-overline .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::after {
	content: '';
	position: absolute;
	left: 0;
	height: 2px;
	background-color: currentColor;
	transition: transform 0.3s ease, opacity 0.3s ease;
	pointer-events: none;
}

.dea-nav-menu--hover-underline .dea-nav-menu__list > .menu-item > a::after {
	bottom: 0;
	width: 100%;
}

.dea-nav-menu--hover-overline .dea-nav-menu__list > .menu-item > a::before {
	top: 0;
	width: 100%;
}

.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::before {
	top: 0;
	width: 100%;
}

.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::after {
	bottom: 0;
	width: 100%;
}

/* Style: Slide */
.dea-nav-menu--hover-style-slide.dea-nav-menu--hover-underline .dea-nav-menu__list > .menu-item > a::after,
.dea-nav-menu--hover-style-slide.dea-nav-menu--hover-overline .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-style-slide.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-style-slide.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::after {
	transform: scaleX(0);
	transform-origin: left center;
}

.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:hover::after,
.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:focus::after,
.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:focus::before {
	transform: scaleX(1);
}

/* Active indicator (slide) */
.dea-nav-menu--hover-style-slide.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::after,
.dea-nav-menu--hover-style-slide.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::after,
.dea-nav-menu--hover-style-slide.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::before,
.dea-nav-menu--hover-style-slide.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::before {
	transform: scaleX(1);
}

/* Style: Fade */
.dea-nav-menu--hover-style-fade.dea-nav-menu--hover-underline .dea-nav-menu__list > .menu-item > a::after,
.dea-nav-menu--hover-style-fade.dea-nav-menu--hover-overline .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-style-fade.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-style-fade.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::after {
	opacity: 0;
}

.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:hover::after,
.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:focus::after,
.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:focus::before {
	opacity: 1;
}

.dea-nav-menu--hover-style-fade.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::after,
.dea-nav-menu--hover-style-fade.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::after,
.dea-nav-menu--hover-style-fade.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::before,
.dea-nav-menu--hover-style-fade.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::before {
	opacity: 1;
}

/* Style: Grow */
.dea-nav-menu--hover-style-grow.dea-nav-menu--hover-underline .dea-nav-menu__list > .menu-item > a::after,
.dea-nav-menu--hover-style-grow.dea-nav-menu--hover-overline .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-style-grow.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::before,
.dea-nav-menu--hover-style-grow.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::after {
	transform: scaleX(0);
	transform-origin: center center;
}

.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:hover::after,
.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:focus::after,
.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:focus::before {
	transform: scaleX(1);
}

.dea-nav-menu--hover-style-grow.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::after,
.dea-nav-menu--hover-style-grow.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::after,
.dea-nav-menu--hover-style-grow.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::before,
.dea-nav-menu--hover-style-grow.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::before {
	transform: scaleX(1);
}

/* ── Hover: Background ── */

.dea-nav-menu--hover-background .dea-nav-menu__list > .menu-item > a {
	overflow: hidden;
}

.dea-nav-menu--hover-background .dea-nav-menu__list > .menu-item > a::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	transition: transform 0.3s ease, opacity 0.3s ease;
	pointer-events: none;
}

.dea-nav-menu--hover-background.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a::before {
	background-color: currentColor;
	opacity: 0.08;
	transform: translateX(-101%);
}

.dea-nav-menu--hover-background.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-background.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:focus::before {
	transform: translateX(0);
}

.dea-nav-menu--hover-background.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a::before {
	background-color: currentColor;
	opacity: 0;
}

.dea-nav-menu--hover-background.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-background.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:focus::before {
	opacity: 0.08;
}

.dea-nav-menu--hover-background.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a::before {
	background-color: currentColor;
	opacity: 0.08;
	transform: scale(0);
	border-radius: 50%;
}

.dea-nav-menu--hover-background.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-background.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:focus::before {
	transform: scale(1.5);
}

/* Active for background */
.dea-nav-menu--hover-background.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::before,
.dea-nav-menu--hover-background.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::before {
	opacity: 0.08;
	transform: none;
}

/* ── Hover: Framed ── */

.dea-nav-menu--hover-framed .dea-nav-menu__list > .menu-item > a::before {
	content: '';
	position: absolute;
	inset: 0;
	border: 2px solid currentColor;
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}

.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-fade .dea-nav-menu__list > .menu-item > a:focus::before {
	opacity: 1;
}

.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a::before {
	transform: translateY(4px);
}

.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:focus::before {
	opacity: 1;
	transform: translateY(0);
}

.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a::before {
	transform: scale(0.85);
}

.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:hover::before,
.dea-nav-menu--hover-framed.dea-nav-menu--hover-style-grow .dea-nav-menu__list > .menu-item > a:focus::before {
	opacity: 1;
	transform: scale(1);
}

.dea-nav-menu--hover-framed.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-item > a::before,
.dea-nav-menu--hover-framed.dea-nav-menu--active-indicator .dea-nav-menu__list > .current-menu-ancestor > a::before {
	opacity: 1;
	transform: none;
}

/* ── Hamburger Toggle ── */

.dea-nav-menu__toggle-wrap {
	display: none;
}

.dea-nav-menu__toggle {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 6px;
	position: relative;
	z-index: 100000;
}

.dea-nav-menu__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.dea-nav-menu__toggle-line {
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

/* Morph: hamburger → X (only when toggle-morph is enabled) */
.dea-nav-menu--toggle-morph.dea-mobile-open .dea-nav-menu__toggle-line--top {
	transform: translateY(7px) rotate(45deg);
}

.dea-nav-menu--toggle-morph.dea-mobile-open .dea-nav-menu__toggle-line--mid {
	opacity: 0;
	transform: scaleX(0);
}

.dea-nav-menu--toggle-morph.dea-mobile-open .dea-nav-menu__toggle-line--bot {
	transform: translateY(-7px) rotate(-45deg);
}

/* No morph: hide the toggle when menu is open */
.dea-nav-menu:not(.dea-nav-menu--toggle-morph).dea-mobile-open .dea-nav-menu__toggle {
	visibility: hidden;
	pointer-events: none;
}

/* ── Mobile Menu Panel ── */

.dea-nav-menu__mobile-wrap {
	display: none;
	position: relative;
}

/* ── Close Button ── */

.dea-nav-menu__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	cursor: pointer;
	color: #333;
	padding: 6px;
	line-height: 1;
	transition: color 0.25s ease, background-color 0.25s ease;
}

.dea-nav-menu__close svg {
	width: 20px;
	height: 20px;
	display: block;
}

.dea-nav-menu__close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.dea-nav-menu__mobile-list {
	padding: 16px;
}

.dea-nav-menu__mobile-list li {
	border-bottom: 1px solid #eee;
}

.dea-nav-menu__mobile-list a {
	padding: 12px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-decoration: none;
	transition: color 0.2s ease;
}

.dea-nav-menu__mobile-list a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.dea-nav-menu__mobile-list .sub-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	padding-inline-start: 1em;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease;
}

.dea-nav-menu__mobile-list .dea-submenu-open > .sub-menu {
	max-height: 2000px;
}

.dea-nav-menu__mobile-list .dea-nav-menu__indicator {
	transition: transform 0.3s ease;
}

.dea-nav-menu__mobile-list .dea-submenu-open > a > .dea-nav-menu__indicator {
	transform: rotate(90deg);
}

.dea-nav-menu--indicator-arrow .dea-nav-menu__mobile-list .dea-submenu-open > a > .dea-nav-menu__indicator {
	transform: rotate(180deg);
}

.dea-nav-menu--indicator-plus .dea-nav-menu__mobile-list .dea-submenu-open > a > .dea-nav-menu__indicator svg line:first-child {
	transform: rotate(90deg);
	transform-origin: center;
	opacity: 0;
}

/* ── Mobile Panel Types ── */

/* Slide Left */
.dea-nav-menu__mobile-wrap--slide-left {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 300px;
	max-width: 85vw;
	z-index: 99999;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.dea-mobile-open .dea-nav-menu__mobile-wrap--slide-left {
	transform: translateX(0);
}

/* Slide Right */
.dea-nav-menu__mobile-wrap--slide-right {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 300px;
	max-width: 85vw;
	z-index: 99999;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.dea-mobile-open .dea-nav-menu__mobile-wrap--slide-right {
	transform: translateX(0);
}

/* Fade */
.dea-nav-menu__mobile-wrap--fade {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 99999;
	opacity: 0;
	transform: translateY(-10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}

.dea-nav-menu--mobile-full .dea-nav-menu__mobile-wrap--fade {
	width: 100%;
}

.dea-mobile-open .dea-nav-menu__mobile-wrap--fade {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* Push */
.dea-nav-menu__mobile-wrap--push {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 300px;
	max-width: 85vw;
	z-index: 99999;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.dea-mobile-open .dea-nav-menu__mobile-wrap--push {
	transform: translateX(0);
}

/* Fullscreen */
.dea-nav-menu__mobile-wrap--fullscreen {
	position: fixed;
	inset: 0;
	z-index: 99999;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: scale(0.95);
	transition: opacity 0.35s ease, transform 0.35s ease;
	pointer-events: none;
}

.dea-nav-menu__mobile-wrap--fullscreen .dea-nav-menu__mobile-list {
	text-align: center;
	font-size: 1.25em;
}

.dea-mobile-open .dea-nav-menu__mobile-wrap--fullscreen {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
}

/* ── Overlay ── */

.dea-nav-menu__overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.dea-mobile-open > .dea-nav-menu__overlay {
	display: block;
	opacity: 1;
}

.dea-mobile-open.dea-nav-menu--mobile-fullscreen > .dea-nav-menu__overlay {
	display: none;
}

.dea-mobile-open.dea-nav-menu--mobile-fade > .dea-nav-menu__overlay {
	display: none;
}

/* ── Body Scroll Lock ── */

body.dea-nav-menu-noscroll {
	overflow: hidden !important;
}

/* Push content effect */
body.dea-nav-menu-push {
	transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

body.dea-nav-menu-push.dea-nav-menu-pushed {
	transform: translateX(300px);
	overflow: hidden !important;
}

/* ── Responsive Breakpoints ── */

/* Default: hide toggle, show desktop */
.dea-nav-menu__toggle-wrap {
	display: none;
	position: relative;
	z-index: 100000;
}

.dea-nav-menu__desktop-wrap {
	display: block;
}

/*
 * Mobile wrap is hidden by default but NOT with display:none.
 * For fixed/absolute panels, the transform or opacity already hides them visually.
 * JS controls inline display when opening/closing to avoid media-query conflicts.
 */
.dea-nav-menu__mobile-wrap {
	display: none;
}

/* When JS has opened the menu, ensure the panel is visible regardless of breakpoint */
.dea-mobile-open > .dea-nav-menu__mobile-wrap {
	display: block !important;
}

.dea-mobile-open.dea-nav-menu--mobile-fullscreen > .dea-nav-menu__mobile-wrap {
	display: flex !important;
}

/* Tablet breakpoint: < 1025px */
@media (max-width: 1024px) {
	.dea-nav-menu--bp-tablet .dea-nav-menu__desktop-wrap {
		display: none;
	}

	.dea-nav-menu--bp-tablet .dea-nav-menu__toggle-wrap {
		display: flex;
	}

	.dea-nav-menu--bp-tablet .dea-nav-menu__mobile-wrap {
		display: block;
	}

	.dea-nav-menu--bp-tablet.dea-nav-menu--mobile-fullscreen .dea-nav-menu__mobile-wrap {
		display: flex;
	}
}

/* Mobile breakpoint: < 768px */
@media (max-width: 767px) {
	.dea-nav-menu--bp-mobile .dea-nav-menu__desktop-wrap {
		display: none;
	}

	.dea-nav-menu--bp-mobile .dea-nav-menu__toggle-wrap {
		display: flex;
	}

	.dea-nav-menu--bp-mobile .dea-nav-menu__mobile-wrap {
		display: block;
	}

	.dea-nav-menu--bp-mobile.dea-nav-menu--mobile-fullscreen .dea-nav-menu__mobile-wrap {
		display: flex;
	}
}

/* Always hamburger */
.dea-nav-menu--bp-always .dea-nav-menu__desktop-wrap {
	display: none;
}

.dea-nav-menu--bp-always .dea-nav-menu__toggle-wrap {
	display: flex;
}

.dea-nav-menu--bp-always .dea-nav-menu__mobile-wrap {
	display: block;
}

.dea-nav-menu--bp-always.dea-nav-menu--mobile-fullscreen .dea-nav-menu__mobile-wrap {
	display: flex;
}

/* None: no responsive */
.dea-nav-menu--bp-none .dea-nav-menu__toggle-wrap {
	display: none !important;
}

.dea-nav-menu--bp-none .dea-nav-menu__mobile-wrap {
	display: none !important;
}

/* ── RTL Support ── */

[dir="rtl"] .dea-nav-menu--hover-style-slide.dea-nav-menu--hover-underline .dea-nav-menu__list > .menu-item > a::after,
[dir="rtl"] .dea-nav-menu--hover-style-slide.dea-nav-menu--hover-overline .dea-nav-menu__list > .menu-item > a::before,
[dir="rtl"] .dea-nav-menu--hover-style-slide.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::before,
[dir="rtl"] .dea-nav-menu--hover-style-slide.dea-nav-menu--hover-double .dea-nav-menu__list > .menu-item > a::after {
	transform-origin: right center;
}

[dir="rtl"] .dea-nav-menu__list .sub-menu .sub-menu {
	left: auto;
	right: 100%;
}

[dir="rtl"] .dea-nav-menu--submenu-fade-slide .dea-nav-menu__list .sub-menu .sub-menu {
	transform: translateX(-8px);
}

[dir="rtl"] .dea-nav-menu--submenu-fade-slide .dea-nav-menu__list .sub-menu .dea-submenu-open > .sub-menu {
	transform: translateX(0);
}

[dir="rtl"] .dea-nav-menu--submenu-slide .dea-nav-menu__list .sub-menu .sub-menu {
	transform: translateX(10px);
}

[dir="rtl"] .dea-nav-menu--submenu-slide .dea-nav-menu__list .sub-menu .dea-submenu-open > .sub-menu {
	transform: translateX(0);
}

[dir="rtl"] .dea-nav-menu--indicator-chevron .dea-nav-menu__list .sub-menu .dea-nav-menu__indicator {
	transform: rotate(180deg);
}

[dir="rtl"] .dea-nav-menu--indicator-chevron.dea-nav-menu--indicator-animate .sub-menu .dea-submenu-open > a > .dea-nav-menu__indicator {
	transform: rotate(270deg);
}

[dir="rtl"] .dea-nav-menu__mobile-wrap--slide-left {
	left: auto;
	right: 0;
	transform: translateX(100%);
}

[dir="rtl"] .dea-mobile-open .dea-nav-menu__mobile-wrap--slide-left {
	transform: translateX(0);
}

[dir="rtl"] .dea-nav-menu__mobile-wrap--slide-right {
	right: auto;
	left: 0;
	transform: translateX(-100%);
}

[dir="rtl"] .dea-mobile-open .dea-nav-menu__mobile-wrap--slide-right {
	transform: translateX(0);
}

[dir="rtl"] .dea-nav-menu__mobile-wrap--push {
	left: auto;
	right: 0;
	transform: translateX(100%);
}

[dir="rtl"] .dea-mobile-open .dea-nav-menu__mobile-wrap--push {
	transform: translateX(0);
}

[dir="rtl"] body.dea-nav-menu-push.dea-nav-menu-pushed {
	transform: translateX(-300px);
}

[dir="rtl"] .dea-nav-menu--hover-background.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a::before {
	transform: translateX(101%);
}

[dir="rtl"] .dea-nav-menu--hover-background.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:hover::before,
[dir="rtl"] .dea-nav-menu--hover-background.dea-nav-menu--hover-style-slide .dea-nav-menu__list > .menu-item > a:focus::before {
	transform: translateX(0);
}

/* ── Print ── */
@media print {
	.dea-nav-menu__toggle-wrap,
	.dea-nav-menu__mobile-wrap,
	.dea-nav-menu__overlay {
		display: none !important;
	}

	.dea-nav-menu__desktop-wrap {
		display: block !important;
	}
}
