/* ==========================================================================
   ECOTEC Online · buscador del sitio (app/buscador.php + assets/buscador.js).
   Debajo de la ventana va, igual, el CSS de ecotec.edu.ec (mu-plugins/ecotec-buscador/buscador.css); aquí sus
   variables toman la paleta Online. Sitio con 1rem = 10px. Sin degradados, cursivas ni sombras.
   ========================================================================== */

.nvb-ventana {
	--c-marino: #182640; --c-azul: #00848b; --c-celeste: #00bbc4; --c-texto: #3a4556; --c-texto-suave: #5b6878;
	--c-fondo-suave: #f2f6f9; --c-borde: #dfe6ed; --radio-s: 12px; --text-xs: 1.3rem; --text-s: 1.5rem; --text-m: 1.8rem;
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center;
	padding: clamp(1.2rem, 8vh, 9rem) 1.6rem 1.6rem; font-family: PoppinsHost, Poppins, sans-serif;
}
.nvb-ventana.hide { display: none; }
.nvb-abierto, .nvb-abierto body { overflow: hidden; }
.nvb-ventana__fondo { position: absolute; inset: 0; background: rgba(15, 26, 46, .72); backdrop-filter: blur(4px); animation: nvb-fundido .2s ease; }
.nvb-ventana__caja { position: relative; display: flex; flex-direction: column; width: min(72rem, 100%); max-height: min(72rem, calc(100vh - 3.2rem)); overflow: hidden; border-radius: 2rem; background: #fff; border: 1px solid var(--c-borde); animation: nvb-entra .25s cubic-bezier(.2, .8, .2, 1); }
@keyframes nvb-fundido { from { opacity: 0; } }
@keyframes nvb-entra { from { opacity: 0; transform: translateY(-12px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .nvb-ventana__fondo, .nvb-ventana__caja { animation: none; } }

.nvb-ventana__cabeza { display: flex; align-items: center; gap: 1rem; padding: 1.6rem; border-bottom: 1px solid var(--c-borde); }
.nvb-ventana .ec-buscador__campo { flex: 1; }
.nvb-ventana .ec-buscador__campo input { box-sizing: border-box; min-height: 5.4rem; margin: 0; padding: 1.2rem 5rem 1.2rem 2rem; border: 2px solid var(--c-borde); border-radius: 99rem; background: var(--c-fondo-suave); font: inherit; font-size: 1.6rem; color: var(--c-marino); outline: none; transition: border-color .2s, background .2s, box-shadow .2s; }
.nvb-ventana .ec-buscador__campo input:focus { border-color: var(--c-celeste); background: #fff; outline: 4px solid rgba(0, 187, 196, .18); outline-offset: 0; }
.nvb-cerrar { flex: none; display: grid; place-items: center; width: 4.6rem; height: 4.6rem; padding: 0; border: 0; border-radius: 99rem; background: var(--c-fondo-suave); color: var(--c-marino); cursor: pointer; transition: background .2s, color .2s; }
.nvb-cerrar:hover, .nvb-cerrar:focus-visible { background: var(--c-marino); color: #fff; outline: none; }

.nvb-ventana .ec-buscador__resultados { gap: 0; min-height: 12rem; padding: 1.2rem 1.6rem 1.6rem; }
.nvb-ventana .ec-buscador__chips { display: flex; flex-wrap: wrap; gap: .8rem; }
.nvb-ventana .ec-chip { display: inline-flex; align-items: center; min-height: 3.6rem; padding: .6rem 1.6rem; border: 1px solid var(--c-borde) !important; border-radius: 99rem; background: #fff; color: var(--c-marino); font-size: 1.35rem; font-weight: 600; line-height: 1.2; transition: border-color .2s, background .2s, color .2s; }
.nvb-ventana .ec-chip:hover, .nvb-ventana .ec-chip:focus-visible { border-color: var(--c-marino) !important; background: var(--c-marino); color: #fff; outline: none; }
.nvb-ventana .ecb-icono { background: rgba(0, 187, 196, .12); color: var(--c-azul); }
.nvb-ventana .ecb-icono--carrera { background: var(--c-celeste); color: var(--c-marino); }
.nvb-ventana .ecb-icono--posgrado, .nvb-ventana .ecb-icono--presencial { background: var(--c-fondo-suave); color: var(--c-texto-suave); }
.nvb-ventana__pie { margin: 0; padding: 1rem 1.6rem; border-top: 1px solid var(--c-borde); background: var(--c-fondo-suave); font-size: 1.2rem; color: var(--c-texto-suave); }
.nvb-ventana__pie kbd { display: inline-block; min-width: 2.2rem; margin: 0 .2rem; padding: .1rem .5rem; border: 1px solid var(--c-borde); border-radius: .5rem; background: #fff; font: inherit; font-size: 1.1rem; font-weight: 600; text-align: center; color: var(--c-marino); }
@media (max-width: 767px) {
	.nvb-ventana { padding: 0; }
	.nvb-ventana__caja { width: 100%; max-height: 100vh; height: 100%; border-radius: 0; }
	.nvb-ventana__pie { display: none; }
}

/* Lupa del header (en lugar de la del plugin Smart Search) */
.nvb-abrir { display: inline-grid; place-items: center; width: 4.2rem; height: 4.2rem; padding: 0; border: 1px solid #dfe6ed; border-radius: 99rem; background: #fff; color: #182640; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.nvb-abrir:hover, .nvb-abrir:focus-visible { border-color: #182640; background: #182640; color: #fff; outline: none; }

/* --- CSS de ecotec.edu.ec ------------------------------------------------ */
/* Buscador del sitio (ecotec-buscador.php). Usa las variables y clases ec-buscador__* del tema; el sitio trabaja con 1rem = 10px. */
.ecb-campo{position:relative}
.ecb-campo input{width:100%}
.ecb-campo input::-webkit-search-cancel-button{cursor:pointer}
.ecb-lupa{position:absolute;right:1.8rem;top:50%;transform:translateY(-50%);color:var(--c-texto-suave,#5b6478);pointer-events:none}
.ec-buscador__sugerencias[hidden]{display:none!important}
.ec-buscador__resultados mark{background:rgba(43,186,226,.22);color:inherit;border-radius:3px;padding:0 1px}
.ecb-grupo{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1rem}
.ecb-grupo__titulo{margin:.6rem 0 .4rem;font-size:1.2rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-texto-suave,#5b6478);display:flex;align-items:center;gap:1rem}
.ecb-item{text-decoration:none;color:inherit;outline:none}
a.ec-buscador__resultado.ecb-item{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:1.4rem;width:100%;padding:1rem;border-radius:var(--radio-s,12px);box-sizing:border-box}
a.ec-buscador__resultado.ecb-item:hover{background-color:var(--c-fondo-suave,#f4f6fa)}
.ecb-item .ec-buscador__resultado-cuerpo{display:flex;flex-direction:column;gap:.2rem;flex:1 1 0;min-width:0}
.ecb-item .ec-buscador__resultado-titulo{display:block;color:var(--c-marino,#0049a4);font-size:var(--text-s,1.6rem);font-weight:600;line-height:1.35}
.ecb-item .ec-buscador__resultado-texto{display:block;color:var(--c-texto-suave,#5b6478);font-size:var(--text-xs,1.3rem);line-height:1.45}
.ec-buscador__resultados{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;overflow-y:auto}
.ec-buscador__resultados>*{flex-shrink:0;max-width:100%}
.ecb-item.ecb-activa,.ecb-item:focus-visible{background-color:var(--c-fondo-suave,#f4f6fa);box-shadow:inset 3px 0 0 var(--c-celeste,#2bbae2)}
.ecb-icono{flex:none;display:grid;place-items:center;width:4rem;height:4rem;border-radius:1rem;background:var(--c-fondo-suave,#f4f6fa);color:var(--c-azul,#0049a4)}
.ecb-icono--carrera{background:rgba(0,73,164,.08)}
.ecb-icono--posgrado,.ecb-icono--online{background:rgba(43,186,226,.14);color:var(--c-marino,#0049a4)}
.ecb-ext{flex:none;color:var(--c-texto-suave,#5b6478);opacity:.7}.ecb-ext svg{width:1.6rem;height:1.6rem}
.ecb-respuesta{margin:0 0 1.4rem;padding:1.6rem 1.8rem;border-radius:var(--radio-s,12px);background:var(--c-fondo-suave,#f4f6fa);border-left:4px solid var(--c-celeste,#2bbae2)}
.ecb-respuesta__titulo{margin:0;color:var(--c-marino,#0049a4);font-size:var(--text-m,1.8rem);font-weight:700;line-height:1.3}
.ecb-respuesta__texto{margin:.6rem 0 0;color:var(--c-texto,#1d2433);font-size:var(--text-s,1.5rem);line-height:1.5}
.ecb-respuesta__botones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.ecb-boton{display:inline-flex;align-items:center;min-height:4rem;padding:.8rem 1.6rem;border-radius:99rem;border:1.5px solid var(--c-azul,#0049a4);color:var(--c-azul,#0049a4);background:#fff;font-size:1.4rem;font-weight:600;text-decoration:none;line-height:1.2}
.ecb-boton:hover,.ecb-boton.ecb-activa{background:var(--c-azul,#0049a4);color:#fff}
.ecb-boton--principal{background:var(--c-azul,#0049a4);color:#fff}.ecb-boton--principal:hover,.ecb-boton--principal.ecb-activa{background:var(--c-marino,#0049a4);border-color:var(--c-marino,#0049a4)}
.ecb-boton--wa{border-color:#1a7f4b;color:#1a7f4b}.ecb-boton--wa.ecb-boton--principal,.ecb-boton--wa:hover,.ecb-boton--wa.ecb-activa{background:#1a7f4b;border-color:#1a7f4b;color:#fff}
.ecb-plegado{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin:.4rem 0 1rem;padding:1.2rem 1.4rem;border:1px dashed var(--c-borde,#e3e7ef);border-radius:var(--radio-s,12px);background:#fff;color:var(--c-marino,#0049a4);font:inherit;font-size:1.4rem;text-align:left;cursor:pointer}
.ecb-plegado span{color:var(--c-azul,#0049a4);font-weight:600;white-space:nowrap}.ecb-plegado:hover{background:var(--c-fondo-suave,#f4f6fa)}
.ecb-vacio{padding:.4rem 0 1rem;color:var(--c-texto,#1d2433);font-size:var(--text-s,1.5rem)}.ecb-vacio p{margin:0 0 .8rem}
.ecb-enlace{background:none;border:0;padding:0;font:inherit;color:var(--c-azul,#0049a4);font-weight:600;text-decoration:underline;cursor:pointer;text-transform:none;letter-spacing:0}
.ecb-borrar{font-size:1.2rem;font-weight:500}
.ecb-ayuda{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:.6rem;padding:1.2rem 1.4rem;border-radius:var(--radio-s,12px);background:var(--c-fondo-suave,#f4f6fa);font-size:1.4rem;color:var(--c-marino,#0049a4)}
.ecb-cargando{color:var(--c-texto-suave,#5b6478);font-size:1.4rem}
.ec-buscador__resultados button.ec-chip{border:0;font:inherit;cursor:pointer}
.ec-buscador__resultados .ec-buscador__chips{display:flex;flex-wrap:wrap;gap:.8rem}
@media (max-width:478px){
  .ecb-icono{width:3.4rem;height:3.4rem;border-radius:.8rem}.ecb-icono svg{width:1.7rem;height:1.7rem}
  .ecb-respuesta{padding:1.4rem}.ecb-boton{font-size:1.35rem;padding:.7rem 1.3rem}
  .ecb-lupa{right:1.4rem}
}
.ecb-test{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.2rem 0 1rem;padding:1.2rem 1.4rem;border-radius:var(--radio-s,12px);background:rgba(43,186,226,.1);color:var(--c-marino,#0049a4)!important;font-size:1.45rem;font-weight:600;text-decoration:none}
.ecb-test:hover,.ecb-test.ecb-activa{background:rgba(43,186,226,.2)}.ecb-test__min{flex:none;color:var(--c-azul,#0049a4);font-size:1.3rem;font-weight:700;white-space:nowrap}
