/*
 * El Chigrin - Mobile menu fix V2
 * Solo se aplica por debajo de 70rem.
 */

@media (max-width: 70rem) {
	html {
		overflow-x: clip !important;
	}

	html.chig-menu-is-open,
	html.chig-menu-is-open body,
	body.nav-open {
		overflow: hidden !important;
		overscroll-behavior: none;
	}

	/* Panel móvil: cerrado por defecto. */
	#site-navigation {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		max-width: none !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		margin: 0 !important;
		padding: 6.5rem 1.35rem 2rem !important;
		background: #103b2d !important;
		z-index: 999990 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translateX(100%) !important;
		transition:
			transform .24s ease,
			opacity .18s ease,
			visibility 0s linear .24s !important;
	}

	/* Admite tanto la clase del tema como la clase propia del parche. */
	#site-navigation.is-open,
	#site-navigation.chig-force-open,
	body.nav-open #site-navigation,
	html.chig-menu-is-open #site-navigation {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translateX(0) !important;
		transition:
			transform .24s ease,
			opacity .18s ease,
			visibility 0s linear 0s !important;
	}

	/* Fuerza la visibilidad de todas las posibles estructuras de menú. */
	#site-navigation .menu,
	#site-navigation .menu-wrapper,
	#site-navigation .menu-container,
	#site-navigation .primary-menu,
	#site-navigation .nav-menu,
	#site-navigation > ul,
	#site-navigation ul {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: .35rem !important;
		position: static !important;
		float: none !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		clip: auto !important;
		clip-path: none !important;
		list-style: none !important;
	}

	#site-navigation li,
	#site-navigation .menu-item {
		display: block !important;
		position: static !important;
		float: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	#site-navigation a {
		display: block !important;
		width: 100% !important;
		padding: .9rem 1rem !important;
		border-radius: .75rem !important;
		color: #fffaf0 !important;
		background: rgba(255,255,255,.055) !important;
		font-size: clamp(1.05rem, 4.8vw, 1.35rem) !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		text-decoration: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		white-space: normal !important;
	}

	#site-navigation a:hover,
	#site-navigation a:focus-visible {
		background: rgba(255,255,255,.14) !important;
		outline: 2px solid #d8ad55 !important;
		outline-offset: 2px !important;
	}

	/* El botón debe quedar siempre por encima del panel. */
	[aria-controls="site-navigation"] {
		touch-action: manipulation;
		cursor: pointer !important;
		pointer-events: auto !important;
	}

	[aria-controls="site-navigation"][aria-expanded="true"] {
		position: fixed !important;
		top: max(1rem, env(safe-area-inset-top)) !important;
		right: max(1rem, env(safe-area-inset-right)) !important;
		z-index: 999999 !important;
	}

	/* Oculta submenús solo si el tema los deja absolutamente posicionados;
	   sus enlaces siguen dentro del flujo y pueden abrirse normalmente. */
	#site-navigation .sub-menu {
		position: static !important;
		width: 100% !important;
		margin: .25rem 0 0 .75rem !important;
		padding: 0 !important;
		box-shadow: none !important;
	}
}

/* Escritorio: no altera la navegación. */
@media (min-width: 70.001rem) {
	html.chig-menu-is-open,
	body.nav-open {
		overflow: auto !important;
	}
}
