/* ==========================================================================
   ECOTEC Online · cabecera (celular) y pie con el estilo de ecotec.edu.ec, sobre las plantillas de Bricks.
   Lo carga app/marco.php en todo el sitio actual. 1rem = 10px. Paleta Online; sin sombras ni degradados.
   ========================================================================== */

:root {
	--nvm-marino: #182640;
	--nvm-noche: #0f1a2e;
	--nvm-noche-2: #0b1424;
	--nvm-turquesa: #00bbc4;
	--nvm-turquesa-txt: #00848b;
	--nvm-cyan: #1ddddd;
	--nvm-borde: #dfe6ed;
	--nvm-suave: #5b6878;
}

/* --------------------------------------------------------------- cabecera en celular */

.nvm-buscar, .nvm-extra { display: none; }

/* Escritorio: menú, idioma y lupa en una sola fila (antes la lupa caía debajo del menú). */
@media (min-width: 992px) {
	#brx-header .brx-nav-nested-items { flex-wrap: nowrap !important; align-items: center !important; column-gap: clamp(1.4rem, .2rem + 1.4vw, 3rem) !important; }
	#brx-header .brx-nav-nested-items > li > a { font-size: clamp(1.35rem, 1.1rem + .25vw, 1.55rem) !important; white-space: nowrap; }
	#brx-header .nvb-abrir { width: 3.8rem; height: 3.8rem; }
}

@media (max-width: 991px) {
	/* Una sola fila: logo a la izquierda; lupa, «Admisiones» y menú a la derecha. */
	#brx-header > .brxe-section > .brxe-container { flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; width: calc(100% - 3.2rem) !important; gap: .8rem !important; padding-block: 1rem !important; }
	#brx-header .brxe-logo { flex: none; }
	#brx-header .brxe-logo img { width: 10.4rem !important; height: auto !important; }
	#brx-header .brxe-nav-nested { display: flex !important; flex: none; flex-wrap: nowrap !important; align-items: center; gap: .6rem !important; width: auto !important; margin: 0 !important; }

	/* Lupa en la barra (la del menú se oculta) */
	#brx-header .nvm-buscar { display: inline-grid; place-items: center; width: 4.2rem; height: 4.2rem; padding: 0; border: 1px solid var(--nvm-borde); border-radius: 999px; background: #fff; color: var(--nvm-marino); cursor: pointer; }
	#brx-header .nvm-buscar svg { width: 1.9rem; height: 1.9rem; }
	#brx-header .brx-nav-nested-items > li:has(.nvb-abrir) { display: none !important; }

	/* «Admisiones» compacto */
	#brx-header .brxe-nav-nested > .boton-principal { display: inline-flex !important; align-items: center; min-height: 4rem; margin: 0 !important; padding: .8rem 1.4rem !important; font-size: 1.3rem !important; line-height: 1 !important; white-space: nowrap; }

	/* Botón hamburguesa / X (el ícono de tres puntos de Bricks se cambia por el SVG que pone marco.js) */
	#brx-header .brxe-toggle { display: inline-grid !important; place-items: center; width: 4.2rem !important; height: 4.2rem !important; padding: 0 !important; border: 1px solid var(--nvm-borde) !important; border-radius: 999px !important; background: #fff !important; color: var(--nvm-marino) !important; font-size: 0 !important; }
	#brx-header .brxe-toggle > i { display: none !important; }
	#brx-header .brxe-toggle svg { width: 2rem; height: 2rem; }
	#brx-header .brxe-toggle .nvm-x, #brx-header .brx-open .brxe-toggle .nvm-hamb { display: none; }
	#brx-header .brx-open .brxe-toggle .nvm-x { display: block; }
	#brx-header .brx-open .brxe-toggle { border-color: var(--nvm-marino) !important; background: var(--nvm-marino) !important; color: #fff !important; }

	/* Panel a pantalla completa bajo la barra */
	#brx-header .brx-nav-nested-items {
		position: fixed !important; top: var(--nvm-cab, 64px) !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
		z-index: 999 !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important;
		width: auto !important; height: auto !important; max-height: none !important; gap: 0 !important; margin: 0 !important;
		padding: .4rem 2rem 3.2rem !important; overflow-y: auto !important; border-top: 1px solid var(--nvm-borde) !important; background: #fff !important;
		font-size: 1rem !important; opacity: 0 !important; visibility: hidden !important; transition: opacity .2s, visibility .2s !important;
	}
	#brx-header .brx-open .brx-nav-nested-items { opacity: 1 !important; visibility: visible !important; }
	html.nvm-abierto, html.nvm-abierto body { overflow: hidden; }

	/* Opciones grandes y separadas, con flecha */
	#brx-header .brx-nav-nested-items > li.menu-item { width: 100%; margin: 0 !important; }
	#brx-header .brx-nav-nested-items > li.menu-item > a {
		display: flex !important; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: 1.7rem 0 !important;
		border-bottom: 1px solid var(--nvm-borde); color: var(--nvm-marino) !important; font-size: 1.75rem !important; font-weight: 600 !important; line-height: 1.3 !important; text-align: left !important;
	}
	#brx-header .brx-nav-nested-items > li.menu-item > a::after {
		content: ""; flex: none; width: 1.8rem; height: 1.8rem; background: currentColor; opacity: .55;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	#brx-header .brx-nav-nested-items > li.menu-item > a[aria-current="page"] { color: var(--nvm-turquesa-txt) !important; }
	#brx-header .brx-nav-nested-items > li.menu-item > a[aria-current="page"]::after { opacity: 1; }

	/* Idioma: el desplegable de Bricks se muestra abierto como «Idioma · Español / English» */
	#brx-header .brx-nav-nested-items > .brxe-dropdown { display: block !important; width: 100%; margin: 0 !important; padding: 2rem 0 1.6rem !important; border-bottom: 1px solid var(--nvm-borde); }
	#brx-header .brx-nav-nested-items > .brxe-dropdown::before { content: attr(data-nvm-idioma); display: block; margin-bottom: 1rem; color: var(--nvm-turquesa-txt); font-size: 1.2rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
	#brx-header .brx-nav-nested-items > .brxe-dropdown > .brx-submenu-toggle { display: none !important; }
	#brx-header .brx-nav-nested-items > .brxe-dropdown > .brx-dropdown-content {
		position: static !important; display: block !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important;
		border: 0 !important; background: none !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important;
	}
	#brx-header .brxe-polylang-language-switcher { display: flex !important; flex-direction: row !important; gap: .8rem !important; margin: 0 !important; padding: 0 !important; background: none !important; }
	#brx-header .brxe-polylang-language-switcher li { list-style: none; }
	#brx-header .brxe-polylang-language-switcher a { display: inline-flex !important; align-items: center; min-height: 4rem; padding: .8rem 1.8rem !important; border: 1px solid var(--nvm-borde); border-radius: 999px; color: var(--nvm-marino) !important; font-size: 1.4rem !important; font-weight: 600 !important; }
	#brx-header .brxe-polylang-language-switcher .current-lang a { border-color: var(--nvm-marino); background: var(--nvm-marino); color: #fff !important; }
	#brx-header .brxe-polylang-language-switcher img { display: none; }

	/* WhatsApp y redes al final del panel */
	#brx-header .nvm-extra { display: flex; flex-direction: column; gap: 1.8rem; width: 100%; margin: 0 !important; padding: 2.4rem 0 0 !important; list-style: none; }
	#brx-header .nvm-extra__wa { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-height: 4.8rem; padding: 1rem 2rem; border-radius: 999px; background: var(--nvm-turquesa); color: #fff !important; font-size: 1.5rem; font-weight: 700; text-decoration: none; }
	#brx-header .nvm-extra__wa svg { width: 2rem; height: 2rem; }
	#brx-header .nvm-extra__redes { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0; padding: 0; list-style: none; }
	#brx-header .nvm-extra__redes a { display: grid; place-items: center; width: 4.4rem; height: 4.4rem; border: 1px solid var(--nvm-borde); border-radius: 999px; color: var(--nvm-marino) !important; font-size: 1.8rem; }
	#brx-header .nvm-extra__redes a span { display: none; }
}

/* --------------------------------------------------------------------------- pie */

#brx-footer > .brxe-section:first-of-type { background: var(--nvm-noche) !important; color: rgba(255, 255, 255, .75); padding-block: clamp(4rem, 3rem + 2vw, 5.6rem) !important; }
#brx-footer > .brxe-section > .brxe-container { padding-block: 0 !important; }
#brx-footer > .brxe-section:last-of-type { padding-block: 1.8rem !important; }
#brx-footer [data-nvm-logo-pie] { width: 15rem !important; height: auto !important; }
#brx-footer .p-text-regular, #brx-footer .p-text-regular p { color: rgba(255, 255, 255, .72) !important; }
#brx-footer .brxe-heading.navbar-footer { margin: 0 0 1.4rem !important; color: var(--nvm-cyan) !important; font-size: 1.2rem !important; font-weight: 700 !important; letter-spacing: .12em; text-transform: uppercase; }
#brx-footer a.text-footer, #brx-footer .text-footer a { color: rgba(255, 255, 255, .72) !important; font-size: 1.45rem !important; line-height: 1.5; transition: color .2s; }
#brx-footer a.text-footer:hover, #brx-footer .text-footer a:hover, #brx-footer a.text-footer:focus-visible { color: #fff !important; }
#brx-footer a.text-footer .icon { color: var(--nvm-cyan); }
#brx-footer .brxe-social-icons { display: flex !important; flex-wrap: wrap; gap: 1rem !important; }
#brx-footer .brxe-social-icons li { margin: 0 !important; }
#brx-footer .brxe-social-icons a { display: grid !important; place-items: center; width: 4rem; height: 4rem; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; background: none !important; color: #fff !important; font-size: 1.6rem !important; transition: border-color .2s, background .2s, color .2s; }
#brx-footer .brxe-social-icons a:hover { border-color: var(--nvm-cyan); background: var(--nvm-cyan) !important; color: var(--nvm-marino) !important; }
#brx-footer .brxe-social-icons a span { display: none !important; }
#brx-footer .brxe-social-icons .icon { color: inherit !important; }
#brx-footer .boton-principal { border: 0 !important; background: var(--nvm-cyan) !important; color: var(--nvm-marino) !important; }
#brx-footer .boton-principal:hover { background: #fff !important; }

/* Barra inferior */
#brx-footer > .brxe-section:last-of-type { border-top: 1px solid rgba(255, 255, 255, .1); background: var(--nvm-noche-2) !important; }
#brx-footer > .brxe-section:last-of-type, #brx-footer > .brxe-section:last-of-type p, #brx-footer > .brxe-section:last-of-type a { color: rgba(255, 255, 255, .62) !important; font-size: 1.3rem !important; }
#brx-footer > .brxe-section:last-of-type a:hover { color: #fff !important; }
#brx-footer > .brxe-section:last-of-type .icon { color: var(--nvm-cyan) !important; }
