/**
 * Modern News UI — Menú.
 * Reglas aditivas y de baja especificidad: nunca cambian la estructura del menú del tema.
 */

.mnui .mnui-nav a {
	transition: color var(--mnui-transition), background-color var(--mnui-transition);
}

/* Subrayado animado. */

.mnui-nav-underline .mnui-nav > li > a,
.mnui-nav-underline .mnui-nav .menu-item > a {
	position: relative;
}

.mnui-nav-underline .mnui-nav > li > a::after,
.mnui-nav-underline .mnui-nav > .menu-item > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 2px;
	border-radius: 2px;
	background: var(--mnui-color-accent);
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition: transform var(--mnui-transition);
}

.mnui-nav-underline .mnui-nav > li > a:hover::after,
.mnui-nav-underline .mnui-nav > li > a:focus-visible::after,
.mnui-nav-underline .mnui-nav > .menu-item > a:hover::after {
	transform: scaleX(1);
}

/* Sección actual. */

.mnui-nav-active .mnui-nav .current-menu-item > a,
.mnui-nav-active .mnui-nav .current-menu-ancestor > a,
.mnui-nav-active .mnui-nav .current_page_item > a {
	color: var(--mnui-color-accent);
}

.mnui-nav-active .mnui-nav .current-menu-item > a::after {
	transform: scaleX(1);
}

/* Submenús. */

.mnui-nav-submenus .mnui-nav .sub-menu,
.mnui-nav-submenus .mnui-nav .children {
	border-radius: var(--mnui-radius-card);
	box-shadow: var(--mnui-shadow-raised);
	overflow: hidden;
	border: 0;
}

.mnui-nav-submenus .mnui-nav .sub-menu a {
	border-radius: 0;
}

.mnui-nav-submenus .mnui-nav-item--open > .sub-menu,
.mnui-nav-submenus .mnui-nav-item--open > .children {
	display: block;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Menú deslizable en móvil (solo si el menú es horizontal y desborda). */

@media (max-width: 782px) {
	.mnui-nav-scroll .mnui-nav--scrollable {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	.mnui-nav-scroll .mnui-nav--scrollable::-webkit-scrollbar {
		display: none;
	}

	.mnui-nav-scroll .mnui-nav--scrollable > li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}
}
