/* NeuralSoft Buscador – colores tomados del sitio */
:root {
	--nsb-blue: #055391;
	--nsb-red: #c62e51;
	--nsb-text: #1b2533;
	--nsb-muted: #6b7684;
	--nsb-line: #e6eaef;
}

/* ---------- Disparador ---------- */
button.nsb-trigger,
button.nsb-trigger:hover,
button.nsb-trigger:focus,
button.nsb-trigger:active {
	display: inline-flex !important; align-items: center; gap: .5em;
	margin: 0 !important; padding: 9px !important; min-height: 0 !important; width: auto !important;
	background: transparent !important; border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
	color: #fff !important; font-family: inherit !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: .03em; text-transform: uppercase;
	cursor: pointer; transition: background-color .15s;
}
button.nsb-trigger:hover { background: rgba(255,255,255,.14) !important; }
button.nsb-trigger:focus-visible { outline: 2px solid currentColor !important; outline-offset: 2px; }
button.nsb-trigger svg { display: block; flex: none; width: 22px; height: 22px; stroke: #fff; }
.nsb-trigger__kbd { display: none; } /* atajo Ctrl/⌘ K sigue funcionando */

/* ---------- Ventana ---------- */
html.nsb-open { overflow: hidden; }
.nsb { position: fixed; inset: 0; z-index: 999999; font-family: inherit; }
.nsb[hidden] { display: none; }
.nsb__backdrop {
	position: absolute; inset: 0; background: rgba(5, 40, 70, .55);
	opacity: 0; transition: opacity .18s ease;
}
.nsb__panel {
	position: relative; margin: 14vh auto 0; width: min(620px, calc(100% - 32px));
	max-height: 70vh; display: flex; flex-direction: column;
	background: #fff; color: var(--nsb-text);
	border-radius: 18px; box-shadow: 0 24px 60px -20px rgba(0,0,0,.4);
	overflow: hidden; opacity: 0; transform: translateY(-6px) scale(.99);
	transition: opacity .18s ease, transform .18s ease;
}
.nsb.is-open .nsb__backdrop { opacity: 1; }
.nsb.is-open .nsb__panel { opacity: 1; transform: none; }

.nsb__bar {
	display: flex; align-items: center; gap: 12px; margin: 14px; padding: 12px 14px 12px 18px;
	background: #f2f5f8; border-radius: 999px; color: var(--nsb-blue); transition: box-shadow .15s;
}
.nsb__bar:focus-within { box-shadow: 0 0 0 2px rgba(5,83,145,.25); }
.nsb.is-loading .nsb__bar > svg { animation: nsb-pulse 1s ease-in-out infinite; }
@keyframes nsb-pulse { 50% { opacity: .3; } }
html body .nsb .nsb__bar input.nsb__input,
html body .nsb .nsb__bar input.nsb__input:hover,
html body .nsb .nsb__bar input.nsb__input:focus,
html body .nsb .nsb__bar input.nsb__input:active {
	flex: 1; min-width: 0; width: auto !important; max-width: none !important;
	-webkit-appearance: none !important; appearance: none !important;
	border: 0 !important; border-radius: 0 !important; outline: 0 !important; box-shadow: none !important;
	background: transparent none !important; background-color: transparent !important;
	padding: 0 !important; margin: 0 !important; height: auto !important; min-height: 0 !important;
	font-family: inherit !important; font-size: 18px !important; font-weight: 400 !important; line-height: 1.4 !important; color: var(--nsb-text) !important;
}
html body .nsb input.nsb__input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #f2f5f8 inset !important; }
.nsb__input::placeholder { color: #a3acb7; }
.nsb__input::-webkit-search-cancel-button { -webkit-appearance: none; }
button.nsb__close, button.nsb__close:hover, button.nsb__close:focus {
	display: inline-flex !important; padding: 5px !important; margin: 0 !important;
	background: none !important; border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
	color: var(--nsb-muted) !important; cursor: pointer; transition: color .15s;
}
button.nsb__close:hover { color: var(--nsb-text) !important; background: #e3e8ee !important; }

.nsb__status { font-size: 14px; color: var(--nsb-muted); }
.nsb__status:not(:empty) { padding: 4px 24px 20px; }
.nsb__list { list-style: none !important; margin: 0 !important; padding: 0 10px 10px !important; overflow-y: auto; }
.nsb__list:empty { display: none; }
.nsb__item { margin: 0 !important; padding: 0 !important; }
.nsb__item + .nsb__item { margin-top: 2px !important; }
.nsb__item a {
	display: block; padding: 12px 16px; border-radius: 12px;
	text-decoration: none !important; color: inherit !important; transition: background .12s;
}
.nsb__item.is-active a { background: #eef3f8; }
.nsb__title { display: block; font-weight: 700; font-size: 15px; line-height: 1.3; color: var(--nsb-blue); }
.nsb__snippet {
	display: -webkit-box; margin-top: 4px; font-size: 13.5px; line-height: 1.5; color: var(--nsb-muted);
	-webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nsb__path { display: none; }
.nsb mark { background: none; color: var(--nsb-red); font-weight: 600; padding: 0; }

@media (max-width: 767px) {
	/* iOS hace zoom si el campo tiene menos de 16px */
	html body .nsb .nsb__bar input.nsb__input { font-size: 17px !important; }
	.nsb__panel { margin-top: 0; width: 100%; max-height: 100%; height: 100%; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.nsb__panel, .nsb__backdrop { transition: none; }
}
