/* Barra — mismo navy-deep y alto de fila (45px) que el disparador del menú
   hamburguesa (menu-productos.css), para que ambos convivan en la misma
   franja de navegación sin saltos visuales. */
.omega-hw-menu-primary {
	background: #0F1F5C;
	height: 45px;
	display: flex;
	align-items: stretch;
}
/* La fila del header que lleva el menú quedó transparente en Elementor (para la
   home, donde el header va sobre el slider). En las páginas internas eso dejaba
   el navy solo detrás de los links y el botón "PRODUCTOS" (texto blanco) invisible
   sobre blanco: ahí la fila completa vuelve a navy. En la home la maneja
   hero-slider.css (transparente sobre el slider, blanca al bajar). */
body:not(:has(.omega-hw-hero-header-encima-si)) .elementor-location-header .e-con.e-parent:has(.omega-hw-menu-primary) {
	background-color: #0F1F5C;
}
.menu-primary-list {
	display: flex;
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0;
	height: 100%;
}

.menu-primary-item {
	position: relative;
	display: flex;
	margin: 0; /* pisa el li { margin-bottom: 7px } genérico del tema, que baja este ítem respecto al resto de la barra */
}
.menu-primary-item--mas { display: none; } /* solo móvil, ver el final del archivo */
.menu-primary-link {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 100%;
	padding: 0 16px;
	border: none;
	background: transparent;
	font-family: GothamBook, Gotham, sans-serif !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff !important;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background 140ms;
}
@media (hover: hover) and (pointer: fine) {
	.menu-primary-link:hover { background: rgba(255,255,255,0.08); color: #fff !important; }
}
.menu-primary-item.is-current-branch > .menu-primary-link,
.menu-primary-link.is-current {
	background: rgba(255,255,255,0.12);
	color: #fff !important;
	box-shadow: inset 0 -2px 0 #fff;
}
.menu-primary-chevron { color: rgba(255,255,255,0.7); flex-shrink: 0; transition: transform 160ms; }
.menu-primary-item.has-children.is-open .menu-primary-chevron { transform: rotate(180deg); }

/* Mega-menu: alineado al borde izquierdo del <nav> (no del disparador), abre
   hacia abajo cubriendo el ancho que necesiten sus columnas. Interacción de
   muy alta frecuencia -> animación mínima y rápida (fade + 6px, sin slide). */
.menu-primary-megamenu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	border-radius: 0 0 6px 6px;
	box-shadow: 0 12px 32px rgba(15,31,92,0.16);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 150ms cubic-bezier(0.23,1,0.32,1), transform 150ms cubic-bezier(0.23,1,0.32,1), visibility 0s linear 150ms;
	z-index: 9990;
}
.menu-primary-item.has-children.is-open .menu-primary-megamenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity 150ms cubic-bezier(0.23,1,0.32,1), transform 150ms cubic-bezier(0.23,1,0.32,1), visibility 0s;
}
@media (prefers-reduced-motion: reduce) {
	.menu-primary-megamenu { transition: opacity 100ms linear !important; transform: none !important; }
}
.menu-primary-megamenu-inner {
	display: flex;
	gap: 48px;
	padding: 28px 32px;
	min-width: 460px;
}
.menu-primary-column { min-width: 160px; }
.menu-primary-column-title {
	display: block;
	margin-bottom: 12px;
	font-family: Gotham, sans-serif !important;
	font-size: 14px;
	font-weight: 800;
	color: #0f172a;
	text-decoration: none;
}
a.menu-primary-column-title-link { cursor: pointer; }
@media (hover: hover) and (pointer: fine) {
	a.menu-primary-column-title-link:hover { color: #1e3a8a !important; }
}
.menu-primary-column-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.menu-primary-column-link {
	font-family: GothamBook, Gotham, sans-serif !important;
	font-size: 13.5px;
	font-weight: 600;
	color: #1e3a8a !important;
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.menu-primary-column-link:hover { text-decoration: underline; color: #1e3a8a !important; }
}
.menu-primary-column-link.is-current { text-decoration: underline; font-weight: 800; }

body.omega-hw-menu-lock-scroll { overflow: hidden; } /* misma clase que ya usa el menú hamburguesa — duplicada acá por si este widget vive solo en una página sin el otro */

/* Móvil: la fila completa no entra, así que quedan tres botones fijos que
   llenan el ancho, sin nada que deslizar: Proyectos, Ofertas y Más (agrupa el
   resto). El contenedor de Elementor dejaba la barra en un 70% del ancho y al
   lado una columna vacía, que acá se quita.
   El dropdown de columnas lado a lado (min-width 460px) tampoco entra en
   pantalla: se convierte en un
   panel fijo debajo de la barra (independiente de ella) con las columnas
   apiladas en vez de lado a lado, y mide lo que ocupe su contenido. La barra
   no está a una altura fija, así que menu-primary.js calcula su borde inferior
   en --omega-hw-menu-top al abrir (y agrega omega-hw-menu-lock-scroll, mismo
   criterio que el drawer del menú hamburguesa). */
@media (max-width: 768px) {
	.e-con:has(> .elementor-widget-omega-menu-primary) {
		width: 100% !important;
		padding: 0 !important;
	}
	.e-con:has(> .elementor-widget-omega-menu-primary) + .e-con:not(:has(.elementor-widget)) { display: none; }
	.elementor-widget-omega-menu-primary,
	.omega-hw-menu-primary,
	.menu-primary-list { width: 100%; }
	.menu-primary-item { flex: 1 1 auto; position: static; }
	.menu-primary-item--secundario { display: none; }
	.menu-primary-item--mas { display: flex; }
	.menu-primary-link {
		width: 100%;
		justify-content: center;
		padding: 0 8px;
	}
	.menu-primary-item--ofertas > .menu-primary-link { background: #C3002F; }
	.menu-primary-column-list { gap: 0; }
	.menu-primary-column-link { display: block; padding: 8px 0; } /* área de toque cómoda */
	.menu-primary-megamenu {
		position: fixed;
		top: var(--omega-hw-menu-top, 45px);
		left: 0;
		right: 0;
		max-height: calc(100vh - var(--omega-hw-menu-top, 45px));
		max-height: calc(100dvh - var(--omega-hw-menu-top, 45px));
		border-radius: 0;
		overflow-y: auto;
		overscroll-behavior: contain; /* llegar al final del panel no debe mover la página (eso lo cerraría) */
		-webkit-overflow-scrolling: touch;
	}
	.menu-primary-megamenu-inner {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 28px;
		min-width: 0;
		padding: 24px 20px;
	}
	.menu-primary-column { min-width: 0; }
}
