.mk2e-nav { position: relative; display: flex; flex-direction: column; }
.mk2e-nav ul { list-style: none; margin: 0; padding: 0; }
.mk2e-nav__list { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.mk2e-nav-layout-vertical .mk2e-nav__list { flex-direction: column; align-items: stretch; }
.mk2e-nav-full-yes .mk2e-nav__list { justify-content: stretch; }
.mk2e-nav-full-yes:not(.mk2e-nav-layout-vertical) .mk2e-nav__item { flex: 1 1 auto; }

.mk2e-nav__item { position: relative; display: flex; flex-wrap: wrap; align-items: center; }
.mk2e-nav__link {
	display: block; flex: 1 1 auto; padding: .6em .9em; line-height: 1.3; color: inherit; text-decoration: none;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.mk2e-nav__subtoggle {
	appearance: none; display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 2em; height: 2em; margin-inline-start: -.6em; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer;
}
.mk2e-nav__chevron {
	width: .5em; height: .5em; border-right: 2px solid var(--mk2e-ind, currentColor); border-bottom: 2px solid var(--mk2e-ind, currentColor);
	transform: translateY(-25%) rotate(45deg); transition: transform .2s ease;
}
.mk2e-nav__item.is-open > .mk2e-nav__subtoggle .mk2e-nav__chevron { transform: translateY(25%) rotate(-135deg); }
.elementor-widget:not(.mk2e-indicator-yes) .mk2e-nav__subtoggle { opacity: 0; }
.elementor-widget:not(.mk2e-indicator-yes) .mk2e-nav__subtoggle:focus-visible { opacity: 1; }

/* Sous-menus (écrans larges, disposition horizontale) */
.mk2e-nav__sub {
	position: absolute; inset-inline-start: 0; top: 100%; z-index: 99; min-width: 200px; background: #fff;
	box-shadow: 0 10px 30px rgba(15, 23, 42, .12); visibility: hidden; opacity: 0;
	transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.mk2e-nav__sub .mk2e-nav__sub { top: 0; inset-inline-start: 100%; }
.mk2e-sub-anim-slide .mk2e-nav__sub { transform: translateY(8px); }
.mk2e-sub-anim-none .mk2e-nav__sub { transition: none; }
.mk2e-nav__item:hover > .mk2e-nav__sub,
.mk2e-nav__item:focus-within > .mk2e-nav__sub,
.mk2e-nav__item.is-open > .mk2e-nav__sub { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.mk2e-nav .mk2e-nav__item.mk2e-closed > .mk2e-nav__sub { visibility: hidden !important; opacity: 0 !important; }
.mk2e-nav__sub .mk2e-nav__item { flex-wrap: nowrap; }

/* Bouton hamburger */
.mk2e-nav__toggle {
	appearance: none; display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; align-self: var(--mk2e-toggle-just, flex-end);
}
.mk2e-nav__bars { position: relative; display: block; width: 22px; height: 16px; }
.mk2e-nav__bars i { position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform .25s ease, opacity .2s ease; }
.mk2e-nav__bars i:nth-child(1) { top: 0; }
.mk2e-nav__bars i:nth-child(2) { top: 7px; }
.mk2e-nav__bars i:nth-child(3) { top: 14px; }
.mk2e-toggle-bars-2 .mk2e-nav__bars i:nth-child(2) { display: none; }
.mk2e-toggle-bars-2 .mk2e-nav__bars i:nth-child(1) { top: 4px; }
.mk2e-toggle-bars-2 .mk2e-nav__bars i:nth-child(3) { top: 10px; }
.mk2e-nav.is-open .mk2e-nav__bars i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mk2e-nav.is-open .mk2e-nav__bars i:nth-child(2) { opacity: 0; }
.mk2e-nav.is-open .mk2e-nav__bars i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mk2e-toggle-bars-2 .mk2e-nav.is-open .mk2e-nav__bars i:nth-child(1) { transform: translateY(3px) rotate(45deg); }
.mk2e-toggle-bars-2 .mk2e-nav.is-open .mk2e-nav__bars i:nth-child(3) { transform: translateY(-3px) rotate(-45deg); }

/* Mode mobile (classe posée par le script selon le point de rupture) et disposition verticale */
.mk2e-nav--mobile .mk2e-nav__toggle { display: inline-flex; }
.mk2e-nav--mobile .mk2e-nav__panel {
	position: absolute; top: 100%; inset-inline: 0; z-index: 99; max-height: 80vh; overflow: auto; background: #fff; padding: .5em;
	visibility: hidden; opacity: 0; transform: translateY(-6px); pointer-events: none;
	transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.mk2e-nav--mobile.is-open .mk2e-nav__panel { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
.mk2e-nav--mobile .mk2e-nav__list { flex-direction: column; align-items: stretch; }
.mk2e-nav--mobile .mk2e-nav__sub,
.mk2e-nav-layout-vertical .mk2e-nav__sub {
	position: static; display: none; flex: 0 0 100%; min-width: 0; padding-inline-start: 1em; visibility: visible; opacity: 1; transform: none; box-shadow: none; background: transparent;
}
.mk2e-nav--mobile .mk2e-nav__item.is-open > .mk2e-nav__sub,
.mk2e-nav-layout-vertical .mk2e-nav__item.is-open > .mk2e-nav__sub { display: block; }

@media (prefers-reduced-motion: reduce) {
	.mk2e-nav *, .mk2e-nav *::before, .mk2e-nav *::after { transition: none !important; }
}
