/* ==========================================================================
   LÃBERIT · Estilos de las páginas [FIGMA] (FigmatoElementor)
   Archivo: hello-elementor-child/assets/css/laberit.css (fuente: FigmatoElementor/tema-hijo/laberit.css).
   Lo carga functions.php del tema hijo. Editar en el proyecto y volver a subir.
   Colores: variables globales del Kit de Elementor (--e-global-color-*).
   ========================================================================== */

/* --- Utilidades ---------------------------------------------------------- */

/* Contenedores con ancho fijo en px: nunca más anchos que la pantalla */
.fe-maxw { max-width: 100%; }

/* Píldora con borde del color del texto (sectores nivel 2) */
.fe-pill {
	display: inline-block;
	border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	border-radius: 9999px;
	padding: 4px 12px;
}

/* Píldora translúcida sobre fondo oscuro (Advanced Factory) */
.fe-pill--glass {
	border-color: rgba(255, 255, 255, .2);
	background: rgba(255, 255, 255, .1);
	color: #fff;
	padding: 2px 12px;
	margin: 0 6px 6px 0;
}

/* Etiqueta azul clara (sector / producto) */
.fe-tag {
	display: inline-block;
	background: var(--e-global-color-19fe262);
	color: var(--e-global-color-accent);
	border-radius: 9999px;
	padding: 4px 12px;
	letter-spacing: .05em;
}

/* Etiqueta roja (casos y eventos de Insights) */
.fe-tag--rojo {
	background: var(--e-global-color-primary);
	color: #fff;
	letter-spacing: 0;
}

/* Enlaces de texto que heredan el color del bloque (tarjetas de Soluciones) */
.fe-link a { color: inherit; }

/* CTA de texto alineado a la derecha (acordeón de casos del Home) */
.fe-acc-cta { text-align: right; }

/* Fecha de evento: sin márgenes */
.fe-date { margin: 0; }

/* Listas dentro de tarjetas (Valores en Conócenos) */
.fe-list { margin: 8px 0 0; padding-left: 20px; }

/* Claim «Boost your performance»: «Boost» en negrita (componente de cierre) */
.fe-claim strong { font-weight: 700; }

/* --- Cabecera Nivel 1: transparente sobre el hero en escritorio --------- */

/* .e-con: más específico que el position:relative de los contenedores de Elementor (que se carga después) */
.e-con.fe-header-transparente {
	--position: absolute;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

/* Cabeceras fijas (Efectos de movimiento › Fijo en el contenedor). Pasados 50px de scroll Elementor añade la clase
   elementor-sticky--effects; el widget no tiene control de fondo para ese estado, así que el cambio va aquí:
   Nivel 1 de transparente al navy de la web y Nivel 2 (ya blanca) con una sombra suave para separarla del contenido. */
.e-con.fe-header-transparente,
.e-con.fe-header-blanca {
	transition: background-color .3s ease, box-shadow .3s ease;
}
.e-con.fe-header-transparente.elementor-sticky--effects {
	background-color: var(--e-global-color-secondary);
}
.e-con.fe-header-blanca.elementor-sticky--effects {
	box-shadow: 0 4px 20px rgba(0, 19, 40, .08);
}

/* Portada (petición del usuario): la cabecera Nivel 1 transparente sobre el hero hasta empezar el scroll; al pasar 50px
   (elementor-sticky--effects) vuelve el navy de arriba. Solo en la portada y en escritorio: en las demás páginas sigue navy
   fija, y en tablet/móvil no va encima del hero. El fondo navy es un ajuste del contenedor (Elementor no tiene uno
   distinto para «sin scroll»), por eso se quita aquí. */
@media (min-width: 1025px) {
	body.home .e-con.fe-header-transparente:not(.elementor-sticky--effects) {
		background-color: transparent;
	}
}

@media (max-width: 1024px) {
	.e-con.fe-header-transparente {
		--position: relative;
		position: relative;
		background-color: var(--e-global-color-secondary);
	}
}

/* --- Home: tarjetas de sectores (bento) ---------------------------------
   Escritorio con ratón: el texto aparece sobre la tarjeta al pasar el ratón.
   Táctil / pantallas estrechas: un toque abre la tarjeta (laberit.js añade .is-open). */

.fe-bento-grid .fe-bento {
	position: relative;
	cursor: pointer;
	transition: background-color .3s ease;
}

.fe-bento-grid .fe-bento-copy {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	margin-top: auto;
	transition: max-height .5s ease, opacity .4s ease;
}

@media (hover: hover) and (min-width: 1025px) {
	.fe-bento-grid .fe-bento-copy {
		position: absolute;
		left: 32px;
		right: 32px;
		bottom: 72px;
		max-height: none;
	}
	.fe-bento-grid .fe-bento:hover { background-color: #E6E8EB; }
	.fe-bento-grid .fe-bento:hover .fe-bento-copy { opacity: 1; }
}

.fe-bento-grid .fe-bento.is-open .fe-bento-copy { max-height: 360px; opacity: 1; }

@media (max-width: 1024px) {
	.fe-bento-grid,
	.fe-bento-grid > .e-con-inner {
		grid-template-rows: none !important;
		grid-auto-rows: auto !important;
		align-items: start;
	}
}

/* --- Soluciones: tarjetas de productos y servicios ----------------------
   Al pasar el ratón la tarjeta se destaca y el resto se reduce; toda la tarjeta es clicable. */

.fe-bento-sol .fe-card {
	position: relative;
	transition: transform .35s ease, background-color .35s ease, box-shadow .35s ease;
}

.fe-bento-sol .fe-card a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 12px;
}

@media (hover: hover) {
	.fe-bento-sol .fe-card:hover {
		background-color: #E6E8EB !important;
		transform: scale(1.015);
		box-shadow: 0 16px 40px rgba(0, 19, 40, .18);
		z-index: 1;
	}
	.fe-bento-sol--dark .fe-card:hover { background-color: #31435A !important; }
	.fe-bento-sol:has(.fe-card:hover) .fe-card:not(:hover) { transform: scale(.97); }
}

/* El texto de cada tarjeta va escondido, como en el bento de la Home (petición del usuario): aparece al pasar el ratón
   en escritorio o al tocar la tarjeta en táctil (laberit.js añade .is-open). */
.fe-bento-sol .fe-card-copy {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .5s ease, opacity .4s ease;
}
@media (hover: hover) and (min-width: 1025px) {
	.fe-bento-sol .fe-card:hover .fe-card-copy { max-height: 360px; opacity: 1; }
}
.fe-bento-sol .fe-card.is-open .fe-card-copy { max-height: 360px; opacity: 1; }

@media (prefers-reduced-motion: reduce) {
	.fe-bento-sol .fe-card { transition: none; }
	.fe-bento-sol .fe-card,
	.fe-bento-sol .fe-card:hover { transform: none !important; }
}

/* --- Conócenos: logos de partners en gris → color ------------------------
   Sin hover (táctil) pasan a color al entrar en pantalla (Elementor añade .animated). */

.fe-logos .elementor-widget-image img {
	filter: grayscale(1); /* gris del Figma: sin transparencia (antes .75, salían más claros) */
	transition: filter .4s ease, opacity .4s ease;
}

.fe-logos .elementor-widget-image:hover img { filter: none; opacity: 1; }

@media (hover: none) {
	.fe-logos .elementor-widget-image.animated img { animation: fe-logo-color .8s ease .6s forwards; }
}

@keyframes fe-logo-color { to { filter: none; opacity: 1; } }

/* --- Contacta: pestañas del filtro «¿Qué buscas?» ------------------------
   El estilo (colores, borde, radio, relleno, tipografía, apilado en móvil) está en el widget de Elementor.
   Lo único que el widget no permite: en móvil, con «estirar», Elementor pone flex-shrink:0 y el texto largo
   no se parte; con ancho 100% todas las opciones quedan iguales y en su línea. */
@media (max-width: 767px) {
	.fe-form-tabs .e-n-tab-title { flex-basis: 100%; }
}

/* --- Formularios de Elementor (Contacta) --------------------------------- */

.fe-form .elementor-field-group:not(.elementor-field-type-textarea) .elementor-field-textual { min-height: 55px; }
.fe-form .elementor-field-label { text-transform: uppercase; }

/* --- Contact Form 7: mismo diseño que los formularios del Figma ---------- */

.wpcf7 form { display: flex; flex-wrap: wrap; gap: 32px 24px; } /* filas a 32px (antes 24; más aire, petición del usuario 02/11) */
.wpcf7 form > p { flex: 1 1 calc(50% - 12px); margin: 0; }
.wpcf7 form > p:has(.fe-ancho), /* campo a toda la fila (class:fe-ancho en la etiqueta de CF7; Email de Contacta · Empresa) */
.wpcf7 form > p:has(textarea),
.wpcf7 form > p:has(.wpcf7-acceptance),
.wpcf7 form > p:has(.wpcf7-file),
.wpcf7 form > p:has(.wpcf7-submit),
.wpcf7 form > .wpcf7-response-output { flex-basis: 100%; }

@media (max-width: 767px) {
	.wpcf7 form { gap: 20px; }
	.wpcf7 form > p { flex-basis: 100%; }
}

.wpcf7 label {
	display: block;
	font-family: "Wix Madefor Text";
	font-size: 18px;
	line-height: 24px;
	color: var(--e-global-color-grismedio);
	text-transform: uppercase;
}

.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 8px; }

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	min-height: 55px;
	padding: 12px 16px;
	border: 0;
	border-radius: 10px;
	background: var(--e-global-color-ae420bd);
	color: var(--e-global-color-navy);
	font-family: "Wix Madefor Text";
	font-size: 18px;
	text-transform: none;
}

.wpcf7 textarea { min-height: 140px; }

.wpcf7 input:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 textarea:focus-visible { outline: 2px solid var(--e-global-color-primary); outline-offset: 2px; }

.wpcf7 .wpcf7-acceptance,
.wpcf7 .wpcf7-acceptance label {
	font-size: 14px;
	line-height: 23px;
	color: #000;
	text-transform: none;
}

.wpcf7 .wpcf7-acceptance a { color: var(--e-global-color-primary); }

.wpcf7 input[type="submit"] {
	min-height: 0;
	padding: 14px 30px;
	border: 0;
	border-radius: 100px;
	background: var(--e-global-color-primary);
	color: #fff;
	font-family: "Wix Madefor Text";
	font-size: 25px;
	font-weight: 700;
	line-height: 32px;
	cursor: pointer;
	transition: background-color .3s ease;
}

.wpcf7 input[type="submit"]:hover { background: var(--e-global-color-c9d8087); }

/* Móvil (Figma 4111:1114): etiquetas, casillas y botón más pequeños. Campos a 16px para que iOS no haga zoom al escribir. */
@media (max-width: 767px) {
	.wpcf7 label { font-size: 13px; line-height: 18px; }
	.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select { min-height: 44px; font-size: 16px; }
	.wpcf7 textarea { min-height: 110px; font-size: 16px; }
	.wpcf7 .wpcf7-acceptance, .wpcf7 .wpcf7-acceptance label { font-size: 12px; line-height: 18px; }
	.wpcf7 input[type="submit"] { font-size: 16px; line-height: 20px; padding: 10px 24px; }
}

/* --- Landing Navidad 2026 V2 (página 4859, copiada de laberit.com) -------
   Su formulario CF7 va en un widget Shortcode (clase fe-navidad-form) y hereda el diseño de arriba. Aquí: campos en dos
   columnas, bloques de casillas en caja gris, los campos «Indica alimento» que el script del propio formulario muestra
   bajo su casilla, y el botón con el sistema de botones del Figma (18/500, relleno 14/24, hover rojo claro). */

.fe-navidad-form .form-evento { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.fe-navidad-form .form-evento > p { margin: 0; }
.fe-navidad-form .form-evento > div,
.fe-navidad-form .form-evento > p:last-child { grid-column: 1 / -1; }
.fe-navidad-form .form-evento br { display: none; }
.fe-navidad-form .form-evento label small { margin-left: 2px; color: var(--e-global-color-primary); }

.fe-navidad-form .titulo-campo {
	display: block;
	margin-bottom: 8px;
	font-size: 18px;
	line-height: 24px;
	color: var(--e-global-color-grismedio);
	text-transform: uppercase;
}

.fe-navidad-form .campo-alergias > p { margin: 0; }
.fe-navidad-form .campo-alergias > p > .wpcf7-form-control-wrap {
	margin-top: 0;
	padding: 24px;
	border-radius: 10px;
	background: var(--e-global-color-ae420bd);
}
.fe-navidad-form .campo-alergias .wpcf7-checkbox { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.fe-navidad-form .campo-alergias .wpcf7-list-item { margin: 0; }
.fe-navidad-form .campo-alergias .wpcf7-list-item > label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 16px;
	line-height: 22px;
	color: var(--e-global-color-navy);
	text-transform: none;
	cursor: pointer;
}
.fe-navidad-form .campo-alergias input[type="checkbox"] {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--e-global-color-primary);
}

.fe-navidad-form .alimento-wrap { margin: 8px 0 4px 28px; }
.fe-navidad-form .alergia-otro-wrap { margin-top: 16px; }
.fe-navidad-form .alimento-wrap label,
.fe-navidad-form .alergia-otro-wrap label { font-size: 13px; line-height: 18px; }
.fe-navidad-form .campo-alergias input[type="text"] {
	min-height: 44px;
	padding: 8px 12px;
	font-size: 16px;
}
.fe-navidad-form .alimento-wrap input[type="text"] { background: #fff; } /* dentro de la caja gris; «Indica cuál» va fuera */

.fe-navidad-form .rgpd-form-contacta { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 23px; color: #000; }
.fe-navidad-form .rgpd-form-contacta p { margin: 0; }
.fe-navidad-form .rgpd-form-contacta .wpcf7-form-control-wrap { margin-top: 0; }
.fe-navidad-form .rgpd-form-contacta .wpcf7-list-item { margin: 0; }
.fe-navidad-form .rgpd-form-contacta a { color: var(--e-global-color-primary); }

.fe-navidad-form .wpcf7 input[type="submit"] { padding: 14px 24px; font-size: 18px; font-weight: 500; line-height: 20px; }
.fe-navidad-form .wpcf7 input[type="submit"]:hover { background: var(--e-global-color-rojohover); }

@media (max-width: 767px) {
	.fe-navidad-form .form-evento { grid-template-columns: 1fr; gap: 16px; }
	.fe-navidad-form .campo-alergias .wpcf7-checkbox { grid-template-columns: 1fr; }
	.fe-navidad-form .campo-alergias > p > .wpcf7-form-control-wrap { padding: 16px; }
	.fe-navidad-form .titulo-campo { font-size: 13px; line-height: 18px; }
	.fe-navidad-form .wpcf7 input[type="submit"] { padding: 12px 20px; font-size: 16px; }
}

/* --- Contacta: mapa de sedes (OSM Map Widget) ----------------------------
   Mapa en gris como el del Figma. Textos y botón de la caja se configuran en el widget;
   el fondo navy de la caja no tiene control en el widget, va aquí. */

/* Mapa estándar de OpenStreetMap (gratis, sin clave) recoloreado como el Figma: agua blanca y tierra azul grisácea.
   En gris, el agua es más oscura que la tierra: invert() les da la vuelta, contrast/brightness llevan el agua a blanco
   y la tierra a ~205, y sepia + hue-rotate tiñen de azul lo que no es blanco. */
.fe-mapa .leaflet-tile-pane { filter: grayscale(1) invert(1) contrast(.5) brightness(2.85) sepia(.35) hue-rotate(175deg) saturate(1.3); }
.fe-mapa .leaflet-container { background: #fff; }

.fe-mapa .leaflet-popup-content-wrapper,
.fe-mapa .leaflet-popup-tip {
	background: var(--e-global-color-navy);
	color: #fff;
	box-shadow: 0 16px 40px rgba(0, 19, 40, .25);
}

.fe-mapa .leaflet-popup-content-wrapper { border-radius: 8px; }
.fe-mapa .leaflet-popup-content { margin: 16px 20px; min-width: 180px; }
.fe-mapa a.leaflet-popup-close-button { color: #fff; }

/* Primera línea de la descripción = país: pequeña, negrita y espaciada */
.fe-mapa .marker-description::first-line { font-size: 12px; font-weight: 700; letter-spacing: .06em; }

/* Icono de oficina a 30 px (el plugin no aplica el tamaño; el PNG es 4x para pantallas retina). Ancla 15/15 = centro. */
.fe-mapa .leaflet-marker-icon { width: 30px !important; height: auto !important; }

/* --- Páginas legales (work/legales) -------------------------------------- */

/* Tablas de la política de privacidad: en móviles de 360px miden 350px en una columna de 288px (relleno de 15px por
   celda del tema Hello). El widget de texto no tiene controles para tablas. Solo en móvil: en escritorio el reparto
   automático de columnas se ve mejor. */
@media (max-width: 767px) {
	.fe-legal table {
		width: 100%;
		table-layout: fixed;
	}
	.fe-legal th,
	.fe-legal td {
		overflow-wrap: anywhere;
	}
}

/* --- Mega menú de las cabeceras (work/theme/megamenu.py, clase fe-mm en el widget Mega menú) ---------------
   Lo que los widgets no permiten:
   - Soluciones: la columna de pestañas Producto / Servicios es gris de arriba abajo (el widget Pestañas solo
     colorea cada título, no la columna).
   - Enlaces del panel (contenedores-enlace fe-mm-link): el título se pone rojo al pasar el ratón por toda la
     tarjeta (el Editor de texto no tiene color de hover ni sabe del ratón sobre su contenedor). */
/* Panel de cristal (efecto GLASS del Figma, Cabecera-menú-efectos): el fondo es blanco al 90 % con el control del
   contenedor; el desenfoque de lo que hay detrás no tiene control en Elementor. */
.e-con.fe-mm-panel {
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
}
.fe-mm-tabs .e-n-tabs-heading {
	background-color: var(--e-global-color-fondomenu);
	padding: 32px 0 40px;
	align-self: stretch;
}
.fe-mm-link .fe-mm-tit,
.fe-mm-link .fe-mm-tit p {
	transition: color .2s ease;
}
.fe-mm-link:hover .fe-mm-tit,
.fe-mm-link:hover .fe-mm-tit p {
	color: var(--e-global-color-primary);
}

/* Entre 1025 y 1300px no cabe la fila de la cabecera (logo de 200 + menú de 675 + bloque derecho al 26 %) y salía
   scroll horizontal. El Kit no tiene punto de corte de portátil, así que los controles del widget no llegan a ese
   tramo: menú más compacto y el bloque de idioma + Contacto (fe-header-der) a su ancho. */
@media (min-width: 1025px) and (max-width: 1300px) {
	.elementor-widget-n-menu.fe-mm {
		--n-menu-title-padding: 12px 8px !important;
		--n-menu-title-space-between: 0px !important;
	}
	.e-con.fe-header-der {
		--width: auto !important;
	}
}

/* --- Menú principal de las cabeceras (work/theme, clase fe-menu en el widget Menú) ------------------- */

/* Reparto a todo el ancho con huecos iguales. El «Justificar» del widget estira cada ítem y el subrayado
   rojo ocupaba todo el ancho estirado; aquí cada ítem conserva su ancho y el subrayado se ajusta al texto. */
.fe-menu .elementor-nav-menu--main > .elementor-nav-menu {
	justify-content: space-between;
	width: 100%;
}
/* El «clearfix» ::after de Elementor cuenta como un ítem más en el reparto y descentraba el menú (80px a la derecha). */
.fe-menu .elementor-nav-menu--main > .elementor-nav-menu::after {
	display: none;
}

/* Desplegable (opción A «Barra roja», elegida por el usuario). Colores, distancia al menú, radio y sombra van en
   los controles del widget; el widget no tiene relleno interior de la caja, barra lateral ni animaciones. */
.fe-menu .elementor-nav-menu--main .sub-menu {
	padding: 6px 0;
	overflow: visible;
	animation: fe-desplegar .2s ease-out;
}
/* Pico de bocadillo apuntando al menú (petición del usuario). */
.fe-menu .elementor-nav-menu--main .sub-menu::before {
	content: "";
	position: absolute;
	top: -6px;
	left: calc(50% - 7px);
	width: 14px;
	height: 14px;
	background: var(--e-global-color-blanco);
	border-radius: 3px 0 0 0;
	transform: rotate(45deg);
	box-shadow: -3px -3px 6px rgba(0, 19, 40, .08);
}
/* En los ítems con desplegable no hay subrayado rojo al pasar ni con el desplegable abierto: solo el desplegable
   (petición del usuario). El color del subrayado del widget es uno para todos los ítems. */
.elementor-widget.fe-menu .elementor-nav-menu--main .elementor-item.has-submenu:hover::after,
.elementor-widget.fe-menu .elementor-nav-menu--main .elementor-item.highlighted::after {
	opacity: 0 !important; /* !important: Elementor fuerza la opacidad del subrayado del ítem activo */
}
.elementor-widget.fe-menu .elementor-nav-menu--main .sub-menu a.elementor-sub-item {
	transition: background-color .2s, color .2s, box-shadow .2s, padding .2s;
}
.elementor-widget.fe-menu .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.elementor-widget.fe-menu .elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active {
	box-shadow: inset 3px 0 0 var(--e-global-color-primary);
	padding-inline-start: 24px;
}

@keyframes fe-desplegar {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

/* Flecha de los submenús: chevron hacia abajo con trazo redondeado (petición del usuario). El widget solo deja elegir
   un icono de la biblioteca (todos con puntas rectas) o subir un SVG, que exige activar las subidas sin filtrar.
   Máscara con currentColor: sirve en la cabecera blanca y en la transparente. Gira al abrir. */
.fe-menu .elementor-item .sub-arrow {
	padding: 0;
	margin-inline-start: 8px;
	display: inline-flex;
	align-items: center;
}
.fe-menu .elementor-item .sub-arrow svg,
.fe-menu .elementor-item .sub-arrow i {
	display: none;
}
.fe-menu .elementor-item .sub-arrow::before {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 9l7 7 7-7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 9l7 7 7-7' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s;
}
.fe-menu .elementor-item.highlighted .sub-arrow::before {
	transform: rotate(180deg);
}

/* --- Hamburguesa animada y menú lateral (JS en laberit.js) ------------------------------------------------ */

/* Efecto de codepen.io/codesuey/pen/YLvrqe (petición del usuario): tres líneas, la central más corta; al abrir el menú
   la central se encoge y las otras se cruzan en X con rebote. El widget Icono solo pinta un icono estático. Tamaño en em:
   lo sigue marcando el control «Tamaño» del widget; color con currentColor (control «Color principal»). */
.fe-burger .elementor-icon svg,
.fe-burger .elementor-icon i {
	display: none;
}
.fe-burger .elementor-icon {
	position: relative;
	display: block;
	width: 1em;
	height: .75em;
	cursor: pointer;
	background: linear-gradient(currentColor, currentColor) center / 60% 3px no-repeat;
	transition: background-size .5s cubic-bezier(.175, .885, .32, 1.275), color .2s;
}
.fe-burger .elementor-icon::before,
.fe-burger .elementor-icon::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 3px;
	border-radius: 3px;
	background: currentColor;
	transition: all .5s cubic-bezier(.175, .885, .32, 1.275);
}
.fe-burger .elementor-icon::before { top: 0; }
.fe-burger .elementor-icon::after { bottom: 0; }
.fe-menu-abierto .fe-burger .elementor-icon {
	background-size: 0 3px;
}
.fe-menu-abierto .fe-burger .elementor-icon::before {
	top: calc(50% - 1.5px);
	transform: rotate(-45deg);
}
.fe-menu-abierto .fe-burger .elementor-icon::after {
	bottom: calc(50% - 1.5px);
	transform: rotate(45deg);
}

/* Con el menú abierto y la cabecera a la vista: la cabecera queda encima del panel y su X lo cierra, así que el panel
   empieza debajo de la cabecera y no lleva su propio cierre. El popup del menú es el que tiene el panel .fe-panel
   (127 en español, su traducción 2600 en inglés: WPML cambia el id). */
.fe-menu-con-cabecera [data-elementor-type="header"] {
	position: relative;
	z-index: 10000;
}
.fe-menu-con-cabecera .elementor-popup-modal:has(.fe-panel) .dialog-widget-content {
	padding-top: var(--fe-cabecera, 0);
}
.fe-menu-con-cabecera .elementor-popup-modal:has(.fe-panel) .dialog-close-button {
	display: none;
}
/* La zona con scroll del popup mide toda la pantalla: debajo de la cabecera tiene que acabar en el borde, o lo último
   del menú desplegado queda fuera de alcance. !important: Elementor fija esa altura con un selector por id del popup. */
.fe-menu-con-cabecera .elementor-popup-modal:has(.fe-panel) .dialog-message {
	height: calc(100vh - var(--fe-menu-top, 0px)) !important;
	height: calc(100dvh - var(--fe-menu-top, 0px)) !important;
}

/* Panel a todo el alto para que Contacta y el idioma (contenedor «Contacta e idioma») queden abajo. El alto depende de
   la cabecera visible (lo mide laberit.js), por eso no va en el control «Altura mínima» del contenedor. */
.elementor-popup-modal .e-con.fe-panel {
	min-height: calc(100vh - var(--fe-menu-top, 0px));
	min-height: calc(100dvh - var(--fe-menu-top, 0px));
}

/* --- Menú de tablet y móvil (contenido del popup, work/theme/menu-movil.py; Figma «Cabecera-Menú» › Móvil) --------
   Lo que los widgets no permiten: el título abierto del acordeón en negrita (su tipografía es una sola para todos los
   estados), el chevron de trazo fino y redondeado como en el escritorio (el acordeón solo usa iconos de la biblioteca,
   de puntas rectas; toma el color del título: navy cerrado, rojo abierto) y la flecha a la derecha del texto en las listas
   de enlaces (la Lista de iconos la pone delante). */
.fe-mmv-acc .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text { font-weight: 700; }
.fe-mmv-acc .e-n-accordion-item-title-icon i,
.fe-mmv-acc .e-n-accordion-item-title-icon svg { display: none; }
.fe-mmv-acc .e-n-accordion-item-title-icon > span::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8.5l8 8 8-8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8.5l8 8 8-8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fe-mmv-acc .e-n-accordion-item-title-icon > .e-opened::before { transform: rotate(180deg); }

/* Al abrir el popup Elementor enfoca el primer elemento (accesibilidad): sin contorno salvo navegando con teclado. */
.fe-mmv-acc .e-n-accordion-item-title:focus,
.fe-mmv-enlace:focus { outline: none; }
.fe-mmv-acc .e-n-accordion-item-title:focus-visible,
.fe-mmv-enlace:focus-visible { outline: 2px solid var(--e-global-color-primary); outline-offset: -2px; }

.fe-mmv-lista .elementor-icon-list-item > a {
	width: 100%;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 16px;
}

/* --- Ofertas de Bizneo (Talento) -------------------------------------------
   Lo pinta el shortcode [laberit_ofertas] (plugin swl_api_bizneo) en PHP, no widgets de Elementor, así que no tiene
   controles; copia «Vacantes» del Figma (6001:1352): barra de búsqueda (6001:1364), tarjetas (6001:1391), flechas
   (6001:1433) y puntos (6001:1428), con los colores y tipografías del Kit. Lo mueve laberit.js (filtros y carrusel). */
.fe-ofertas-wrap {
	--fe-suave: cubic-bezier(.22, 1, .36, 1);   /* frenada larga: todo llega despacio a su sitio */
	--fe-muelle: cubic-bezier(.34, 1.56, .64, 1); /* pequeño rebote (flechas, puntos, check) */
	width: 100%;
}
.fe-ofertas-wrap [hidden] { display: none !important; } /* las tarjetas son flex y el [hidden] del navegador no gana */

/* Barra de búsqueda: píldora gris con sombra interior; dentro, buscador y desplegable blancos */
.fe-ofertas__filtros {
	position: relative;
	z-index: 5; /* la lista abierta queda por encima del carrusel */
	display: grid;
	grid-template-columns: minmax(0, 1fr) 256px;
	gap: 16px;
	max-width: 1248px;
	margin: 0 auto 60px;
	padding: 16px;
	border-radius: 48px;
	background: var(--e-global-color-ae420bd);
	box-shadow: inset 0 2px 6px rgba(0, 19, 40, .06);
}
.fe-ofertas-wrap:not(.fe-js) .fe-ofertas__filtros { display: none; }
/* .fe-select delante del botón: las reglas button:hover/focus del Kit (.elementor-kit-7 button:focus) lo pintarían de rojo */
.fe-ofertas-wrap .fe-ofertas__buscar,
.fe-ofertas-wrap .fe-select .fe-select__btn {
	width: 100%;
	min-width: 0;
	height: 58px;
	margin: 0;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 100px;
	background-color: var(--e-global-color-blanco);
	color: var(--e-global-color-navy);
	font-family: var(--e-global-typography-textos-font-family), sans-serif;
	font-size: var(--e-global-typography-textos-font-size);
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	box-shadow: 0 1px 2px rgba(0, 19, 40, .04);
	transition: border-color .4s var(--fe-suave), box-shadow .5s var(--fe-suave), background-color .4s var(--fe-suave), transform .4s var(--fe-suave);
}
/* Lupa del Figma (6001:1370) como fondo: el input no admite ::before */
.fe-ofertas-wrap .fe-ofertas__buscar {
	padding-left: 48px;
	background: var(--e-global-color-blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='7.5' cy='7.5' r='6' fill='none' stroke='%23A1A1AA' stroke-width='2'/%3E%3Cpath d='M12 12l4.5 4.5' stroke='%23A1A1AA' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 18px center / 16px 16px;
}
.fe-ofertas-wrap .fe-ofertas__buscar::placeholder { color: var(--e-global-color-grismedio); opacity: 1; }
.fe-ofertas-wrap .fe-ofertas__buscar:hover,
.fe-ofertas-wrap .fe-select__btn:hover {
	box-shadow: 0 10px 24px -12px rgba(0, 19, 40, .28);
	transform: translateY(-1px);
}
.fe-ofertas-wrap .fe-ofertas__buscar:focus,
.fe-ofertas-wrap .fe-select__btn:focus-visible,
.fe-select.is-open .fe-select__btn {
	outline: none;
	border-color: var(--e-global-color-navy);
	box-shadow: 0 0 0 4px rgba(9, 31, 44, .08), 0 12px 32px -16px rgba(0, 19, 40, .3);
	transform: none;
}
.fe-ofertas-wrap .fe-select__btn:active { transform: scale(.98); transition-duration: .15s; }

/* Desplegable propio (laberit.js): el <select> sigue dentro, oculto, y es el que leen los filtros */
.fe-select { position: relative; min-width: 0; }
.fe-select select { display: none; }
.fe-ofertas-wrap .fe-select__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
	text-align: left;
}
.fe-select__valor { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fe-select__flecha {
	flex: none;
	width: 12px;
	height: 7px;
	background: currentColor;
	color: var(--e-global-color-grismedio);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .55s var(--fe-muelle), color .3s;
}
.fe-select.is-open .fe-select__flecha { transform: rotate(180deg); color: var(--e-global-color-navy); }
/* Con un área elegida, el botón se rellena del azul de las etiquetas */
.fe-ofertas-wrap .fe-select.is-filtrado .fe-select__btn {
	background-color: var(--e-global-color-19fe262);
	color: var(--e-global-color-secondary);
}

/* Lista: se despliega como una cortina (clip-path) que pasa de borrosa a nítida; al cerrar, lo mismo al revés */
.fe-select__lista {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 20;
	min-width: 100%;
	max-height: 340px;
	margin: 0;
	padding: 8px;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
	border: 1px solid rgba(194, 199, 204, .5);
	border-radius: 24px;
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: 0 28px 56px -20px rgba(0, 19, 40, .28), 0 2px 8px rgba(0, 19, 40, .06);
	opacity: 0;
	visibility: hidden;
	filter: blur(6px);
	transform: translateY(-8px) scale(.97);
	transform-origin: top center;
	clip-path: inset(0 0 100% 0 round 24px);
	transition: opacity .3s var(--fe-suave), filter .35s var(--fe-suave), transform .45s var(--fe-suave),
		clip-path .45s var(--fe-suave), visibility 0s linear .45s;
}
.fe-select.is-open .fe-select__lista {
	opacity: 1;
	visibility: visible;
	filter: blur(0);
	transform: none;
	clip-path: inset(0 0 0 0 round 24px);
	transition: opacity .35s var(--fe-suave), filter .5s var(--fe-suave), transform .65s var(--fe-suave),
		clip-path .65s var(--fe-suave), visibility 0s;
}
.fe-select__lista:focus { outline: none; }
/* Opciones: entran una tras otra; al pasar el ratón, una píldora gris se rellena desde la izquierda */
.fe-select__op {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 16px;
	border-radius: 16px;
	color: var(--e-global-color-textoosc);
	font-family: var(--e-global-typography-textos-font-family), sans-serif;
	font-size: var(--e-global-typography-textos-font-size);
	line-height: 1.3;
	white-space: nowrap;
	cursor: pointer;
	isolation: isolate;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity .2s, transform .2s, color .3s;
}
.fe-select.is-open .fe-select__op {
	opacity: 1;
	transform: none;
	transition: opacity .45s var(--fe-suave), transform .55s var(--fe-suave), color .3s;
	transition-delay: calc(80ms + var(--i, 0) * 30ms);
}
.fe-select__op::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: var(--e-global-color-ae420bd);
	opacity: 0;
	transform: scaleX(.6);
	transform-origin: left center;
	transition: transform .45s var(--fe-suave), opacity .3s var(--fe-suave);
}
.fe-select__op span { transition: transform .45s var(--fe-suave); }
.fe-select__op.is-activa::before { opacity: 1; transform: none; }
.fe-select__op.is-activa span { transform: translateX(4px); }
.fe-select__op[aria-selected="true"] { color: var(--e-global-color-navy); font-weight: 700; }
/* Check de la opción elegida: se dibuja al abrir */
.fe-select__op svg { flex: none; width: 14px; height: 14px; color: var(--e-global-color-primary); opacity: 0; }
.fe-select__op[aria-selected="true"] svg { opacity: 1; }
.fe-select__op svg path { stroke-dasharray: 20; stroke-dashoffset: 20; }
.fe-select.is-open .fe-select__op[aria-selected="true"] svg path {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset .6s var(--fe-suave) .3s;
}

/* Carrusel: flechas a los lados y pista con scroll-snap (4 → 2 → 1,15 tarjetas a la vista) */
.fe-carrusel {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) 32px;
	align-items: center;
	gap: 15px;
}
.fe-ofertas-wrap:not(.fe-js) .fe-carrusel,
.fe-sin-carrusel .fe-carrusel { grid-template-columns: minmax(0, 1fr); }
.fe-ofertas-wrap:not(.fe-js) .fe-carrusel__flecha,
.fe-sin-carrusel .fe-carrusel__flecha,
.fe-sin-carrusel .fe-carrusel__puntos { display: none; }
.fe-ofertas {
	position: relative; /* offsetLeft de las tarjetas, relativo a la pista */
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 37px) / 4);
	gap: 37px;
	margin: -12px 0; /* sitio para la sombra al pasar el ratón sin que la recorte el overflow */
	padding: 12px 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.fe-ofertas::-webkit-scrollbar { display: none; }
.fe-ofertas:focus-visible { outline: 2px solid var(--e-global-color-navy); outline-offset: 4px; border-radius: 16px; }

/* Flechas (6001:1433): círculo gris al 70% con chevron; crecen al pasar el ratón */
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel .fe-carrusel__flecha { /* .fe-carrusel: gana al button:focus del Kit */
	position: relative;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(217, 217, 217, .7);
	color: var(--e-global-color-navy);
	cursor: pointer;
	transition: transform .5s var(--fe-muelle), background-color .3s, opacity .3s;
}
.fe-carrusel__flecha::before {
	content: "";
	position: absolute;
	inset: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M18.5 10.5L13 16l5.5 5.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M18.5 10.5L13 16l5.5 5.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
}
.fe-carrusel__flecha--sig::before { transform: scaleX(-1); }
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel__flecha:hover:not(:disabled) { background: #D9D9D9; transform: scale(1.12); }
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel__flecha:active:not(:disabled) { transform: scale(.94); transition-duration: .12s; }
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel__flecha:focus-visible { outline: 2px solid var(--e-global-color-navy); outline-offset: 2px; }
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel__flecha:disabled { opacity: .35; cursor: default; }

/* Puntos (6001:1428): el activo es rojo y se estira en píldora */
.fe-carrusel__puntos {
	display: flex;
	justify-content: center;
	gap: 17px;
	margin-top: 50px;
}
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel__puntos .fe-carrusel__punto { /* ídem */
	width: 11px;
	height: 11px;
	padding: 0;
	border: 0;
	border-radius: 100px;
	background: #D9D9D9;
	cursor: pointer;
	transition: width .55s var(--fe-muelle), background-color .4s var(--fe-suave), transform .3s var(--fe-suave);
}
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel__punto:hover { transform: scale(1.25); }
:is(.fe-ofertas-wrap, .fe-slider-wrap) .fe-carrusel__puntos .fe-carrusel__punto.is-activo { width: 28px; background: var(--e-global-color-primary); transform: none; }
/* Con muchas páginas (móvil, tablet), barra fina de progreso en vez de puntos */
.fe-carrusel__puntos.is-barra {
	width: min(240px, 60%);
	height: 4px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	background: #D9D9D9;
	overflow: hidden;
}
.fe-carrusel__puntos.is-barra span {
	display: block;
	height: 100%;
	margin-right: auto;
	border-radius: inherit;
	background: var(--e-global-color-primary);
	transition: width .6s var(--fe-suave);
}

/* Tarjetas (6001:1391) */
.fe-oferta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-height: 317px;
	padding: 32px;
	border: 1px solid var(--e-global-color-grislin);
	border-radius: 16px;
	background: var(--e-global-color-ae420bd);
	scroll-snap-align: start;
	transition: transform .5s var(--fe-suave), box-shadow .5s var(--fe-suave);
}
.fe-oferta:hover { transform: translateY(-4px); box-shadow: 0 16px 32px -20px rgba(0, 19, 40, .35); }
.fe-oferta__area {
	padding: 4px 16px;
	border-radius: 9999px;
	background: var(--e-global-color-19fe262);
	color: var(--e-global-color-secondary);
	font-family: var(--e-global-typography-textos-font-family), sans-serif;
	font-size: var(--e-global-typography-textos-font-size);
	line-height: var(--e-global-typography-textos-line-height);
}
/* .fe-oferta delante: el h3 y los enlaces del Kit (.elementor-kit-7 h3/a) son más específicos que una sola clase */
.fe-oferta .fe-oferta__titulo {
	margin: 16px 0 0;
	color: var(--e-global-color-navy);
	font-family: var(--e-global-typography-h4-font-family), sans-serif;
	font-size: var(--e-global-typography-h4-font-size);
	font-weight: var(--e-global-typography-h4-font-weight);
	line-height: var(--e-global-typography-h4-line-height);
}
/* Chincheta del Figma como máscara: no depende de que la página cargue Font Awesome */
.fe-oferta__lugar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--e-global-color-grismedio);
	font-family: var(--e-global-typography-textos-font-family), sans-serif;
	font-size: var(--e-global-typography-textos-font-size);
	line-height: var(--e-global-typography-textos-line-height);
}
.fe-oferta__lugar::before {
	content: "";
	flex: none;
	width: 12px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172 501C27 291 0 269 0 192 0 86 86 0 192 0s192 86 192 192c0 77-27 99-172 309a24 24 0 0 1-40 0zm20-229a80 80 0 1 0 0-160 80 80 0 0 0 0 160z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172 501C27 291 0 269 0 192 0 86 86 0 192 0s192 86 192 192c0 77-27 99-172 309a24 24 0 0 1-40 0zm20-229a80 80 0 1 0 0-160 80 80 0 0 0 0 160z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fe-oferta .fe-oferta__boton {
	align-self: stretch;
	margin-top: auto;
	padding: 14px 24px;
	border-radius: 100px;
	background: var(--e-global-color-primary);
	color: var(--e-global-color-blanco);
	text-align: center;
	font-family: var(--e-global-typography-boton-font-family), sans-serif;
	font-size: var(--e-global-typography-boton-font-size);
	font-weight: var(--e-global-typography-boton-font-weight);
	line-height: var(--e-global-typography-boton-line-height);
	transition: background-color .2s;
}
/* estados del sistema de botones del Figma (rojo: hover #DA6673, pulsado #CD3345) */
.fe-oferta .fe-oferta__boton:hover,
.fe-oferta .fe-oferta__boton:focus {
	color: var(--e-global-color-blanco);
	background: var(--e-global-color-rojohover);
}
.fe-oferta .fe-oferta__boton:active { background: var(--e-global-color-rojopress); }

.fe-ofertas__vacio {
	margin: 24px 0 0;
	text-align: center;
	color: var(--e-global-color-16b65a0);
	font-family: var(--e-global-typography-texto-font-family), sans-serif;
	font-size: var(--e-global-typography-texto-font-size);
}

@media (max-width: 1024px) {
	.fe-ofertas { grid-auto-columns: calc((100% - 24px) / 2); gap: 24px; }
	.fe-ofertas__filtros { grid-template-columns: minmax(0, 1fr) 220px; margin-bottom: 40px; }
}
@media (max-width: 767px) {
	/* móvil: sin flechas, se desliza con el dedo y asoma la siguiente tarjeta */
	.fe-carrusel { grid-template-columns: minmax(0, 1fr); }
	.fe-carrusel__flecha { display: none; }
	.fe-ofertas { grid-auto-columns: 85%; gap: 16px; }
	.fe-oferta { min-height: 0; padding: 24px; }
	.fe-oferta:hover { transform: none; box-shadow: none; }
	.fe-oferta .fe-oferta__boton { margin-top: 24px; padding: 12px 28px; }
	.fe-ofertas__filtros { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 12px; border-radius: 32px; margin-bottom: 32px; }
	.fe-ofertas-wrap .fe-ofertas__buscar,
	.fe-ofertas-wrap .fe-select .fe-select__btn { height: 48px; }
	.fe-ofertas-wrap .fe-select .fe-select__btn { padding: 0 20px; }
	.fe-carrusel__puntos { margin-top: 32px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.fe-ofertas { scroll-behavior: auto; }
	.fe-ofertas-wrap *, .fe-ofertas-wrap *::before { transition-duration: .01ms !important; transition-delay: 0s !important; }
}

/* --- Eventos ([laberit_eventos], plugin swl_eventos; diseño del prototipo del equipo, eventos-laberit.html) ------------
   Es HTML del shortcode, sin widget de Elementor que lo estilice: todo va aquí. Colores del tema. */
.fe-eventos { color: var(--e-global-color-navy); line-height: 1.45; }
.fe-eventos__filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.fe-eventos .fe-eventos__filtros .fe-eventos__filtro { /* 3 clases: si no, el :focus de los botones del Kit los pinta de rojo */
	font: inherit; font-size: 14px; font-weight: 500; line-height: 1.2; padding: 8px 16px; border-radius: 999px;
	border: 1px solid var(--e-global-color-grisazulhover); background: transparent; color: var(--e-global-color-navy);
	cursor: pointer; transition: background-color .15s, border-color .15s, color .15s;
}
.fe-eventos .fe-eventos__filtros .fe-eventos__filtro:hover { border-color: var(--e-global-color-navy); }
.fe-eventos .fe-eventos__filtros .fe-eventos__filtro[aria-pressed="true"] {
	background: var(--e-global-color-navy); border-color: var(--e-global-color-navy); color: #fff;
}
.fe-eventos__filtro:focus-visible, .fe-evento__accion:focus-visible { outline: 3px solid var(--e-global-color-grisazulhover); outline-offset: 2px; }
.fe-eventos .fe-eventos__mes .fe-eventos__mes-titulo { /* 3 clases: más que el h3 del Kit (.elementor-kit-7 h3) */
	display: flex; align-items: center; gap: 12px; margin: 40px 0 4px;
	font-size: 16px; font-weight: 600; line-height: 1.3; letter-spacing: 0; color: var(--e-global-color-textomenu);
}
.fe-eventos__mes-titulo::after { content: ""; flex: 1; height: 1px; background: var(--e-global-color-lineamenu); }
.fe-eventos__mes:first-child .fe-eventos__mes-titulo { margin-top: 16px; }
.fe-eventos__lista { list-style: none; margin: 0; padding: 0; }
.fe-evento {
	display: grid; grid-template-columns: 88px minmax(0, 1fr) 220px; gap: 24px; align-items: center;
	padding: 24px 0; border-bottom: 1px solid var(--e-global-color-lineamenu);
}
.fe-evento__fecha { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.fe-evento__dia { font-size: 48px; font-weight: 600; letter-spacing: -0.03em; }
.fe-evento__mescorto { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--e-global-color-primary); }
.fe-evento__semana { margin-top: 4px; font-size: 13px; color: var(--e-global-color-textomenu); }
.fe-eventos .fe-evento__nombre { margin: 0 0 10px; font-size: 20px; font-weight: 600; line-height: 1.3; text-wrap: balance; }
.fe-evento__etiquetas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.fe-evento__etiqueta {
	font-size: 13px; font-weight: 600; padding: 3px 10px; border-radius: 4px;
	background: var(--e-global-color-fondomenu); color: var(--e-global-color-navy);
}
.fe-evento__etiqueta--tipo { background: var(--e-global-color-navy); color: #fff; }
.fe-eventos .fe-evento__datos { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; font-size: 14px; color: var(--e-global-color-textomenu); }
.fe-evento__dato { display: flex; gap: 6px; align-items: baseline; }
.fe-evento__dato svg { flex: none; width: 14px; height: 14px; position: relative; top: 2px; }
.fe-evento__dato b { font-weight: 600; color: var(--e-global-color-navy); }
.fe-evento__cta { justify-self: end; text-align: right; }
.fe-eventos .fe-evento__cta .fe-evento__accion { /* botón del sistema: píldora roja 16/500 */
	display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px;
	background: var(--e-global-color-primary); color: #fff; text-decoration: none; font-size: 16px; font-weight: 500; white-space: nowrap;
	transition: background-color .15s;
}
.fe-eventos .fe-evento__cta .fe-evento__accion:hover { background: var(--e-global-color-rojohover); color: #fff; }
.fe-evento__accion svg { width: 14px; height: 14px; }
.fe-evento__nota { display: inline-block; max-width: 220px; font-size: 14px; color: var(--e-global-color-textomenu); }
.fe-eventos__vacio { padding: 40px 0; text-align: center; color: var(--e-global-color-textomenu); }
/* El filtro oculta con el atributo hidden: el display: grid de .fe-evento lo anularía (hidden solo es display: none del
   navegador, y cualquier display del tema gana). */
.fe-eventos .fe-evento[hidden], .fe-eventos .fe-eventos__mes[hidden], .fe-eventos .fe-eventos__vacio[hidden] { display: none; }
@media (max-width: 767px) {
	.fe-evento { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: start; }
	.fe-evento__dia { font-size: 38px; }
	.fe-evento__cta { grid-column: 2; justify-self: start; text-align: left; }
}

/* --- Botones: estado «pulsado» del sistema de botones del Figma (página Botones, 6458:2061) -----------------------
   Normal y hover van en los controles de cada botón (tools/el.py, button_states); Elementor no tiene control para
   :active, así que va aquí por clase de tipo (fe-btn-*). !important: el CSS del botón de Elementor (5 selectores) gana si no. */
.elementor-widget-button.fe-btn-primario .elementor-button:active { background-color: var(--e-global-color-rojopress) !important; }
.elementor-widget-button.fe-btn-secundario .elementor-button:active { background-color: var(--e-global-color-grisazulpress) !important; }
.elementor-widget-button.fe-btn-contorno .elementor-button:active {
	background-color: var(--e-global-color-rojohover) !important; border-color: var(--e-global-color-primary) !important; color: #fff !important;
}
.elementor-widget-button.fe-btn-contorno .elementor-button:active svg { fill: #fff !important; }
.elementor-widget-button.fe-btn-enlace .elementor-button:active { color: var(--e-global-color-rojopress) !important; }

/* --- Insights (Figma del 02/11 por la tarde, work/6001-3903/patch-figma-0211.py) -------------------------------- */
/* Palabra en rojo dentro de un título: el widget Título no permite colores por palabra. */
.fe-rojo { color: var(--e-global-color-primary); }

/* Newsletter: el widget Formulario aplica la tipografía de los campos también a los textos de aceptación y no tiene
   controles para el placeholder (color y alineación). */
.fe-newsletter .elementor-field-type-email .elementor-field { text-align: center; }
.fe-newsletter .elementor-field-type-email .elementor-field::placeholder { color: #fff; opacity: 1; }
/* .elementor .elementor-widget-form: el CSS de la página (4 clases) gana si no */
.elementor .elementor-widget-form.fe-newsletter .elementor-field-type-acceptance .elementor-field-subgroup label {
	font-size: 12px; font-weight: 400; line-height: 23px;
}

/* Noticia destacada: título sobre la foto con degradado navy (Figma 6001:4151); el widget Entradas lo pone debajo. */
.fe-post-destacada .elementor-post { position: relative; }
.fe-post-destacada .elementor-post__thumbnail__link { margin-bottom: 0 !important; }
.fe-post-destacada .elementor-post__thumbnail::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to top, rgba(0, 19, 40, .9), rgba(0, 19, 40, .4) 50%, rgba(0, 19, 40, 0));
}
.fe-post-destacada .elementor-post__text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 0 48px 40px; }
@media (max-width: 767px) { .fe-post-destacada .elementor-post__text { padding: 0 20px 20px; } }

/* Noticias secundarias: flecha a la derecha de cada título; el widget Entradas no tiene icono por entrada. */
.fe-post-lista .elementor-post__title a { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.fe-post-lista .elementor-post__title a::after {
	content: ""; flex: none; width: 14px; height: 24px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 24'%3E%3Cpath d='M2 2l10 10-10 10' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 24'%3E%3Cpath d='M2 2l10 10-10 10' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* --- Carruseles de Elementor (Talento · testimonios, Insights · eventos; work/nivel1-0211/carruseles.py) ----------
   Columna .fe-slider-wrap > contenedor .fe-slider (cada hijo, una diapositiva). laberit.js añade las flechas y los
   puntos del carrusel de ofertas; sin JS se desliza con el dedo. Elementor no tiene desplazamiento con «snap» en los
   contenedores. Con --sig solo hay flecha «siguiente», a la derecha (Figma de eventos 6001:4173). */
.e-con.fe-slider {
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.e-con.fe-slider::-webkit-scrollbar { display: none; }
.e-con.fe-slider > .e-con { flex-shrink: 0; scroll-snap-align: start; }
.fe-slider-wrap .fe-carrusel { width: 100%; }
@media (min-width: 768px) { .fe-slider-wrap--sig .fe-carrusel { grid-template-columns: minmax(0, 1fr) 32px; } } /* en móvil no hay flechas */
.fe-slider-wrap .fe-carrusel__puntos { margin-top: 24px; }

/* --- Talento: campo CV como en el Figma (6001:1352): caja gris con un clip. El widget Formulario no tiene estilos para
   el campo de archivo y el navegador pinta su botón y su texto («Seleccionar archivo…»); el nombre del archivo elegido
   lo escribe laberit.js en .fe-cv-nombre. !important: el CSS del widget pone fondo y relleno a todos los campos. */
.fe-form-cv .elementor-field-type-upload { align-items: center; }
.fe-form-cv .elementor-field-type-upload > label { flex-basis: 100%; } /* encima de la caja, como las demás etiquetas */
.fe-form-cv .elementor-field-type-upload .elementor-upload-field {
	flex: none !important; /* el formulario pone flex-basis: 100% a los campos */
	width: 290px !important;
	max-width: 100%;
	height: 52px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--e-global-color-ae420bd) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23091F2C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") center / 20px no-repeat !important;
	color: transparent !important;
	font-size: 0 !important;
	cursor: pointer;
	transition: background-color .3s;
}
.fe-form-cv .elementor-upload-field::file-selector-button { display: none; }
.fe-form-cv .elementor-field-type-upload .elementor-upload-field:hover { background-color: var(--e-global-color-grislin) !important; }
.fe-form-cv .elementor-upload-field:focus-visible { outline: 2px solid var(--e-global-color-navy); outline-offset: 2px; }
.fe-cv-nombre { margin-left: 16px; color: var(--e-global-color-navy); font-size: 14px; }

/* --- Páginas nuevas de Nivel 2 (work/nivel2-0211, 02/11) --------------------------------------------------------
   Migas de pan: el Kit pinta todos los enlaces de rojo; aquí heredan el color del texto (blanco) y el último va en rojo. */
.elementor-widget-text-editor.fe-link a { color: inherit; text-decoration: none; }
.elementor-widget-text-editor.fe-link a:hover { color: var(--e-global-color-rojohover); }

/* Entradas con «Leer más» como botón rojo del sistema (Figma de Nivel 2): el widget Entradas solo lo pinta como enlace
   de texto y no tiene controles de fondo ni de borde para él. */
.fe-posts-leer .elementor-post__text { display: flex; flex-direction: column; align-items: flex-start; height: 100%; }
.fe-posts-leer .elementor-post__title { margin-bottom: 28px; }
.fe-posts-leer .elementor-post__read-more {
	margin-top: auto; padding: 14px 24px; border-radius: 100px; background: var(--e-global-color-primary);
	color: #fff !important; font-size: 18px; font-weight: 500; line-height: 20px; transition: background-color .2s;
}
.fe-posts-leer .elementor-post__read-more:hover { background: var(--e-global-color-rojohover); }
.fe-posts-leer .elementor-post__read-more:active { background: var(--e-global-color-rojopress); }

/* --- Menú con Max Mega Menu (PRUEBA, 03/11: página de prueba 5749, work/menu-mmm) -------------------------------------
   El plugin pinta el menú de WordPress 142 (ubicación max_mega_menu_1, tema «LÃBERIT» = custom_theme_1) con su rejilla:
   columna fe-mmm-lateral y fe-mmm-destacado = plantillas de Elementor (widget Elementor Library), fe-mmm-centro = los
   elementos del menú. Su editor de temas no llega a este diseño (tarjetas con descripción, cabeceras con flecha, panel de
   cristal, acordeón móvil del Figma «Cabecera-Menú»), así que va aquí. Medidas = las de work/theme/megamenu.py y
   menu-movil.py. Prefijo .fe-mmm (widget Shortcode) delante de los id del plugin y !important: sus reglas generadas
   (style_es.css) encadenan los dos id con varias clases y elementos y ganarían a cualquier selector razonable. */
.fe-mmm #mega-menu-wrap-max_mega_menu_1 {
	--fe-mmm-flecha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
	--fe-mmm-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 8.5l8 8 8-8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1,
.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 a.mega-menu-link {
	font-family: "Wix Madefor Text", sans-serif !important;
}
.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-ver,
.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-cab {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	text-decoration: none !important;
}

@media (min-width: 1025px) {
	/* Barra: 18/500 con subrayado rojo; el li baja hasta el borde de la cabecera para que el ratón no pierda el panel
	   (el Mega menú de Elementor lo separaba 29px) */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 { margin-bottom: -29px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item { padding-bottom: 29px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
		height: auto !important;
		padding: 12px 18px !important;
		font-size: 18px !important;
		font-weight: 500 !important;
		line-height: 20px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 .mega-indicator,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-ver { display: none !important; }

	/* Panel de cristal (blanco 90 % en el tema del plugin + desenfoque) a 560px, con tres columnas: 369 | resto | 332 */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
		-webkit-backdrop-filter: blur(20px) !important;
		backdrop-filter: blur(20px) !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-fila > ul.mega-sub-menu {
		display: flex !important;
		min-height: 560px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column {
		float: none !important;
		padding: 0 !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-lateral { flex: 0 0 369px !important; width: 369px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-destacado { flex: 0 0 332px !important; width: 332px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-lateral > ul.mega-sub-menu,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-lateral > ul.mega-sub-menu > li { height: 100% !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro {
		flex: 1 1 0 !important;
		width: auto !important;
		padding: 48px 64px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-sectores { padding: 62px 64px 40px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-lateral .elementor,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-lateral .elementor > .e-con { height: 100% !important; }
	/* Soluciones: pestañas verticales Producto / Servicios como el widget Pestañas del panel publicado (las del plugin
	   son de pago). laberit.js añade la columna fe-mmm-pestanas (un botón por grupo) y la clase fe-mmm-con-pestanas a la
	   fila; solo se ve el grupo elegido. Sin JS, los dos grupos uno al lado del otro. */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo { flex-grow: 1 !important; padding-right: 24px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo--2 { flex-grow: 2 !important; padding: 48px 64px 48px 24px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-pestanas {
		flex: 0 0 300px !important;
		width: 300px !important;
		padding: 32px 0 40px !important;
		background: var(--e-global-color-fondomenu) !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 .fe-mmm-pestana {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 13px 24px 14px 40px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: var(--e-global-color-navy) !important;
		font: 400 15px/19px "Wix Madefor Text", sans-serif !important;
		text-align: left !important;
		cursor: pointer !important;
		transition: color .2s ease, background-color .2s ease !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 .fe-mmm-pestana::after { /* chevron-right de Font Awesome a 12px, justo detrás del texto, como el icono del widget Pestañas */
		content: "" !important;
		flex: none !important;
		width: 8px !important;
		height: 12px !important;
		background: currentColor !important;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E") center / contain no-repeat !important;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E") center / contain no-repeat !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 .fe-mmm-pestana:hover,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 .fe-mmm-pestana.is-activa {
		background: var(--e-global-color-blanco) !important;
		color: var(--e-global-color-primary) !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-con-pestanas li.fe-mmm-grupo { padding: 48px 64px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-con-pestanas li.fe-mmm-grupo:not(.is-activo) { display: none !important; }

	/* Rejillas: tarjetas 47/35 (Sectores 71/40) */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-tarjetas > ul.mega-sub-menu,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo > ul.mega-sub-menu > li > ul.mega-sub-menu {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 35px 47px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-tarjetas--2 > ul.mega-sub-menu,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo--2 > ul.mega-sub-menu > li > ul.mega-sub-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo:not(.fe-mmm-grupo--2) > ul.mega-sub-menu > li > ul.mega-sub-menu {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	/* con pestañas cada grupo tiene todo el centro: Producto en 2 columnas y Servicios en 3, como el panel publicado */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-con-pestanas li.fe-mmm-grupo:not(.fe-mmm-grupo--2) > ul.mega-sub-menu > li > ul.mega-sub-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-con-pestanas li.fe-mmm-grupo--2 > ul.mega-sub-menu > li > ul.mega-sub-menu {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-sectores > ul.mega-sub-menu {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 40px 71px !important;
	}
	/* «En esta página» / «Insights»: toda la fila, a 14px de las tarjetas como en el panel publicado */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-tarjetas > ul.mega-sub-menu > li.widget_custom_html {
		grid-column: 1 / -1 !important;
		margin-bottom: -27px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-tarjetas > ul.mega-sub-menu > li.widget_custom_html:last-child { display: none !important; }

	/* Cabeceras con flecha: «PRODUCTO →», sectores (14/600 mayúsculas) y «En esta página →» (20/500) */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo > ul.mega-sub-menu > li > a.mega-menu-link,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-sectores > ul.mega-sub-menu > li > a.mega-menu-link,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-cab {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px !important;
		margin: 0 0 6px !important;
		padding: 0 0 calc(10px + .9rem) !important;
		border-bottom: 1px solid var(--e-global-color-lineamenu) !important;
		color: var(--e-global-color-navy) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 15.96px !important;
		text-transform: uppercase !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-cab {
		font-size: 20px !important;
		font-weight: 500 !important;
		line-height: 20px !important;
		text-transform: none !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-cab svg { width: 14px !important; height: 14px !important; fill: var(--e-global-color-navy) !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo > ul.mega-sub-menu > li > a.mega-menu-link { margin-bottom: 14px !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo > ul.mega-sub-menu > li > a.mega-menu-link::after,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-sectores > ul.mega-sub-menu > li > a.mega-menu-link::after {
		content: "" !important;
		flex: none !important;
		width: 14px !important;
		height: 14px !important;
		background: currentColor !important;
		-webkit-mask: var(--fe-mmm-flecha) center / contain no-repeat !important;
		mask: var(--fe-mmm-flecha) center / contain no-repeat !important;
	}

	/* Tarjetas: título 16/700 + descripción 14/400 con línea debajo; el título se pone rojo al pasar el ratón */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-tarjetas > ul.mega-sub-menu > li > a.mega-menu-link,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo li li > a.mega-menu-link {
		display: block !important;
		height: auto !important;
		padding: 12px 0 14px !important;
		border-bottom: 1px solid var(--e-global-color-lineamenu) !important;
		text-transform: none !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro .mega-description-group {
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro .mega-menu-title {
		padding: 7px 0 calc(7px + .9rem) !important;
		color: var(--e-global-color-navy) !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 22.08px !important;
		transition: color .2s ease !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro a.mega-menu-link:hover .mega-menu-title { color: var(--e-global-color-primary) !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro .mega-menu-description {
		margin: 0 !important;
		padding-bottom: .9rem !important;
		color: var(--e-global-color-textomenu) !important;
		font-style: normal !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 23.94px !important;
	}
}

@media (max-width: 1024px) {
	/* Botón del plugin = hamburguesa navy; panel lateral blanco como el popup del menú (640px, toda la pantalla en móvil) */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle { justify-content: flex-end !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-pestanas { display: none !important; } /* móvil: acordeón */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 { max-width: 100vw !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		height: auto !important;
		padding: 20px 24px !important;
		border-bottom: 1px solid #E6E9EA !important;
		font-size: 20px !important;
		font-weight: 400 !important;
		line-height: 24px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-toggle-on > a.mega-menu-link {
		background: #F8FAFB !important;
		color: var(--e-global-color-primary) !important;
		font-weight: 700 !important;
	}
	/* chevron fino del Figma en vez de la flecha del plugin */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li > a.mega-menu-link > .mega-indicator::after { content: none !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li > a.mega-menu-link > .mega-indicator {
		width: 15px !important;
		height: 15px !important;
		margin: 0 !important;
		background: #212429 !important;
		-webkit-mask: var(--fe-mmm-chevron) center / contain no-repeat !important;
		mask: var(--fe-mmm-chevron) center / contain no-repeat !important;
		transition: transform .2s ease !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-toggle-on > a.mega-menu-link > .mega-indicator {
		background: var(--e-global-color-primary) !important;
		transform: rotate(180deg) !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
		padding: 0 24px !important;
		border-bottom: 1px solid #E6E9EA !important;
		background: #F8FAFB !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column { padding: 0 !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-cab,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .mega-menu-description { display: none !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .mega-description-group,
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .mega-menu-title { display: inline !important; padding: 0 !important; line-height: 15px !important; }
	/* enlaces de 69px con línea sin alto y flecha roja a la derecha (↓ si van a una sección de la página) */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro li.mega-menu-item:not(.widget_custom_html) > a.mega-menu-link {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 16px !important;
		height: auto !important;
		padding: 27px 0 !important;
		box-shadow: inset 0 1px #E6E9EA !important;
		color: #0E1E2B !important;
		font-size: 15px !important;
		font-weight: 400 !important;
		line-height: 15px !important;
		text-transform: none !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro > ul > li.mega-menu-item:first-child > a.mega-menu-link { box-shadow: none !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro li.mega-menu-item:not(.mega-menu-item-has-children):not(.widget_custom_html) > a.mega-menu-link::after {
		content: "" !important;
		flex: none !important;
		width: 12px !important;
		height: 12px !important;
		background: var(--e-global-color-primary) !important;
		-webkit-mask: var(--fe-mmm-flecha) center / contain no-repeat !important;
		mask: var(--fe-mmm-flecha) center / contain no-repeat !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-centro li.mega-menu-item > a.mega-menu-link[href*="#"]::after { transform: rotate(90deg) !important; }
	/* Producto / Servicios: subtítulo 16/700 */
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo > ul > li.mega-menu-item-has-children > a.mega-menu-link {
		padding: 23px 0 !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 22.08px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.fe-mmm-grupo > ul > li > a.mega-menu-link > .mega-indicator { display: none !important; }
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-ver {
		padding: 26px 0 !important;
		border-top: 1px solid #E6E9EA !important;
		color: var(--e-global-color-primary) !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 24px !important;
	}
	.fe-mmm #mega-menu-wrap-max_mega_menu_1 .fe-mmm-ver svg { width: 12px !important; height: 12px !important; fill: currentColor !important; }
}
