/*
 * Menús y menú del móvil sin Elementor Pro (ver inc/sin-pro.php).
 * Valores copiados de los widgets del Pro a los que sustituyen. Puntos de corte de Elementor:
 * tableta hasta 1024 px y móvil hasta 767 px.
 */

/* Común */
.fie-menu__lista {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fie-menu__lista li {
	position: relative;
}

.fie-menu__lista a {
	display: flex;
	position: relative;
	font-family: Sarabun, sans-serif;
	line-height: 20px;
	letter-spacing: 1px;
	text-decoration: none;
	transition: color 0.3s;
}

/* Cabecera general (579) y de Igualdad (222): subrayado de 1 px al pasar el ratón y en la página actual */
.elementor-element-9398dfc .fie-menu__lista a,
.elementor-element-4662915 .fie-menu__lista a {
	color: #000;
	font-weight: 300;
}

.elementor-element-9398dfc .fie-menu__lista a {
	padding: 12px 20px;
	font-size: 1rem;
}

.elementor-element-4662915 .fie-menu__lista {
	justify-content: center;
	gap: 0.1rem;
}

.elementor-element-4662915 .fie-menu__lista a {
	padding: 13px 14px;
	font-size: 0.9rem;
}

.elementor-element-9398dfc .fie-menu__lista a::after,
.elementor-element-4662915 .fie-menu__lista a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: #002b6f;
	opacity: 0;
	transition: opacity 0.3s;
}

.elementor-element-4662915 .fie-menu__lista a::after {
	background: #000;
}

.elementor-element-9398dfc .fie-menu__lista a:hover,
.elementor-element-9398dfc .fie-menu__lista .current-menu-item > a,
.elementor-element-4662915 .fie-menu__lista a:hover,
.elementor-element-4662915 .fie-menu__lista .current-menu-item > a {
	color: #002b6f;
}

.elementor-element-9398dfc .fie-menu__lista a:hover::after,
.elementor-element-9398dfc .fie-menu__lista .current-menu-item > a::after,
.elementor-element-4662915 .fie-menu__lista a:hover::after,
.elementor-element-4662915 .fie-menu__lista .current-menu-item > a::after {
	opacity: 1;
}

/* Cabecera de la Home (44): blanco y sin subrayado */
.elementor-element-c1947e9 .fie-menu__lista a {
	padding: 13px 20px;
	color: #fff;
	font-size: 1.1vw;
	font-weight: 300;
}

/* Pies (56 y 943): menú principal en vertical */
.elementor-element-9b9dc23 .fie-menu__lista,
.elementor-element-51e18cc .fie-menu__lista {
	display: block;
}

.elementor-element-9b9dc23 .fie-menu__lista a,
.elementor-element-51e18cc .fie-menu__lista a {
	padding: 3px 0;
	color: #fff;
	font-weight: 200;
}

.elementor-element-9b9dc23 .fie-menu__lista a {
	justify-content: center;
	font-size: 1.1vw;
	line-height: 1.5;
}

.elementor-element-51e18cc .fie-menu__lista a {
	font-size: 1rem;
	line-height: 1.2rem;
}

/* Pies (56 y 943): textos legales en horizontal, con separadores */
.elementor-element-49eb27e .fie-menu__lista,
.elementor-element-d9ae272 .fie-menu__lista {
	--fie-espacio: 2rem;
	column-gap: var(--fie-espacio);
}

.elementor-element-49eb27e .fie-menu__lista {
	justify-content: center;
}

.elementor-element-49eb27e .fie-menu__lista a,
.elementor-element-d9ae272 .fie-menu__lista a {
	padding: 13px 0;
	color: #fff;
	font-size: 1rem;
	font-weight: 300;
	letter-spacing: normal;
}

.elementor-element-49eb27e .fie-menu__lista a:hover,
.elementor-element-d9ae272 .fie-menu__lista a:hover {
	color: #0877a7;
}

.elementor-element-49eb27e .fie-menu__lista li:not(:last-child)::after,
.elementor-element-d9ae272 .fie-menu__lista li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(var(--fie-espacio) / -2);
	height: 35%;
	border-left: 1px solid #fff;
	transform: translateY(-50%);
}

/* Menú del móvil y de la tableta: botón y capa a pantalla completa */
/* Mismo hueco que el botón del Pro: 45 px de alto, con el icono centrado */
.fie-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 45px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.fie-toggle:hover,
.fie-toggle:focus {
	background: none;
}

.fie-toggle img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.fie-toggle__cerrar,
.fie-abierto .fie-toggle__abrir {
	display: none;
}

.fie-abierto .fie-toggle__cerrar {
	display: block;
}

.fie-desplegable {
	display: none !important;
	position: absolute !important;
	top: 100%;
	left: 0;
	width: 100% !important;
	z-index: 100;
}

@media (max-width: 1024px) {
	.elementor-element-9b9dc23 .fie-menu__lista a,
	.elementor-element-51e18cc .fie-menu__lista a {
		padding: 0;
	}

	/* Abierto: la capa queda fija bajo la cabecera, con su propio scroll, y la página de debajo no se mueve */
	.fie-abierto .fie-desplegable {
		display: flex !important;
		position: fixed !important;
		top: var(--fie-menu-arriba, 100%);
		bottom: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.fie-abierto .fie-desplegable > .e-con {
		min-height: 100%;
	}

	html.fie-menu-abierto,
	html.fie-menu-abierto body {
		overflow: hidden;
	}

	/* custom.js pone en top lo que estaba desplazada la página, para que no salte */
	html.fie-menu-abierto body {
		position: fixed;
		right: 0;
		left: 0;
	}
}

@media (max-width: 767px) {
	.elementor-element-9b9dc23 .fie-menu__lista a {
		font-size: 4.5vw;
		line-height: 1.9rem;
	}

	.elementor-element-49eb27e .fie-menu__lista,
	.elementor-element-d9ae272 .fie-menu__lista {
		--fie-espacio: 0px;
	}

	.elementor-element-49eb27e .fie-menu__lista a,
	.elementor-element-d9ae272 .fie-menu__lista a {
		padding: 2px 8px;
		font-size: 0.8rem;
	}
}
