/* ==========================================================
   LisaKey - Desplegables con búsqueda (fuera del chatbot)
   Convierte los <select data-searchable> en controles con
   filtro por texto, teclado y lista accesible. El <select>
   original permanece oculto y conserva el valor del formulario.
   Las reglas finales liberan el overflow del wizard mientras
   la lista está abierta y evitan solaparla con su navegación.
   ========================================================== */
.search-select{
  position:relative;
  width:100%;
  z-index:20;
}
.search-select.is-open{z-index:120}
.search-select__native{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.search-select__input-wrap{position:relative;width:100%}
.search-select__input{
  width:100%;
  min-height:54px;
  padding:14px 48px 14px 16px;
  border:2px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-bg-secondary);
  color:var(--color-text);
  font:inherit;
  font-size:var(--font-size-base);
  outline:none;
  transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);
}
.wizard__field .search-select__input{
  min-height:62px;
  padding:var(--space-md) 52px var(--space-md) var(--space-md);
  font-size:var(--font-size-lg);
}
.search-select__input::placeholder{color:var(--color-text-secondary);opacity:.85}
.search-select__input:hover{border-color:var(--color-border-hover)}
.search-select__input:focus,
.search-select.is-open .search-select__input{
  border-color:#136CF4;
  box-shadow:0 0 0 3px rgba(19,108,244,.16);
  background:#091528;
}
.search-select__icon{
  position:absolute;
  right:16px;
  top:50%;
  width:20px;
  height:20px;
  transform:translateY(-50%);
  color:#136CF4;
  pointer-events:none;
}
.search-select__icon svg{width:100%;height:100%;display:block}
.search-select__panel{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 7px);
  max-height:min(330px,42vh);
  overflow-y:auto;
  padding:7px;
  border:1px solid rgba(19,108,244,.45);
  border-radius:14px;
  background:#111824;
  box-shadow:0 20px 50px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.03) inset;
  scrollbar-width:thin;
  scrollbar-color:#136CF4 #111824;
  z-index:130;
}
.search-select__panel[hidden]{display:none !important}
.search-select__option{
  display:flex;
  width:100%;
  min-height:43px;
  align-items:center;
  padding:10px 12px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--color-text);
  text-align:left;
  font:inherit;
  font-size:var(--font-size-base);
  cursor:pointer;
  transition:background var(--transition-fast),color var(--transition-fast);
}
.search-select__option:hover,
.search-select__option.is-active{background:rgba(19,108,244,.18);color:#fff}
.search-select__option.is-selected{background:rgba(19,108,244,.28);color:#fff;font-weight:600}
.search-select__empty{
  padding:14px 12px;
  color:var(--color-text-secondary);
  font-size:var(--font-size-sm);
  text-align:center;
}
@media (max-width:767px){
  .search-select__panel{max-height:300px}
  .search-select__input{font-size:16px}
  .wizard__field .search-select__input{font-size:16px;min-height:58px}
}
/* El wizard usa overflow:hidden para sus animaciones. Solo mientras el
   buscador está abierto permitimos que la lista salga del área del paso. */
.wizard__stage.has-search-select-open,
.quoter__card.has-search-select-open{
  overflow:visible;
}
.wizard__stage.has-search-select-open{z-index:110}
.wizard__stage.has-search-select-open + .wizard__nav{
  visibility:hidden;
  pointer-events:none;
}
.quoter__card.has-search-select-open{z-index:30}

/* Versión compacta del mismo buscador dentro del chatbot. */
.webchat__select-wrap .search-select{min-width:0}
.webchat__select-wrap .search-select__input{
  min-height:43px;
  padding:0 38px 0 10px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:11px;
  background:#111827;
  color:#f3f4f6;
  font-size:12px;
}
.webchat__select-wrap .search-select__input:focus,
.webchat__select-wrap .search-select.is-open .search-select__input{
  border-color:#0a6bff;
  box-shadow:0 0 0 2px rgba(10,107,255,.14);
  background:#111827;
}
.webchat__select-wrap .search-select__icon{right:11px;width:17px;height:17px}
.webchat__select-wrap .search-select__panel{
  top:auto;
  bottom:calc(100% + 7px);
  max-height:210px;
  padding:5px;
  border-radius:11px;
}
.webchat__select-wrap .search-select__option{
  min-height:38px;
  padding:8px 9px;
  font-size:12px;
}
.webchat__select-wrap .search-select__input:disabled{
  opacity:.45;
  cursor:default;
}
