/* BoomEvent Digital Custom – Search UI (final definitivo) */

.boomevent-search,
.boomevent-search *{
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 400 !important;
}

/* ===== Layout ===== */
.boomevent-search{
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  font-size: 16px;
}

/* ===== Altura común ===== */
.boomevent-search input,
.boomevent-search button,
.boomevent-search .select2-container--default .select2-selection--single{
  height: 44px !important;
}

/* ===== Input término ===== */
.boomevent-search .boomevent-search__term{
  position: relative;
  flex: 1 1 auto;
  min-width: 220px;
}

.boomevent-search input[type="search"][name="s"]{
  width: 100% !important;
  padding: 0 52px 0 14px !important;
  border-radius: 10px !important;
  border: 1px solid #dcdcdc !important;
  background: #fff !important;
  color: #111 !important;
  outline: none !important;
  font-size: 16px !important;
  line-height: 44px !important;
  box-shadow: none !important;
}

/* Placeholder */
.boomevent-search input[type="search"][name="s"]::placeholder{
  color: #9a9a9a !important;
}

/* Quita X nativa azul */
.boomevent-search input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
}

/* ===== X (estilo único y circular real) ===== */
.boomevent-search .boomevent-search__term-clear,
.boomevent-search .boomevent-search__cat-x{
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px !important;
  line-height: 32px !important;   /* CLAVE para que no se deforme */
  padding: 0 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Posiciones */
.boomevent-search .boomevent-search__term-clear{
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  z-index: 60;
}

.boomevent-search .boomevent-search__cat-x{
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  z-index: 60;
}

/* Visible */
.boomevent-search .boomevent-search__term-clear.is-visible,
.boomevent-search .boomevent-search__cat-x.is-visible{
  display: inline-flex !important;
}

/* ===== Categorías ===== */
.boomevent-search .boomevent-search__cat{
  position: relative;
  width: 260px;
}

/* ===== Botón Buscar ===== */
.boomevent-search button.boomevent-search__submit{
  padding: 0 18px !important;
  border-radius: 10px !important;
  border: 0 !important;
  background: #111 !important;
  color: #fff !important;
  cursor: pointer;
  font-size: 16px !important;
  line-height: 44px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}

/* Hover / active */
.boomevent-search button.boomevent-search__submit:hover,
.boomevent-search button.boomevent-search__submit:active,
.boomevent-search button.boomevent-search__submit:focus{
  background: #D6B46A !important;
  color: #111 !important;
  outline: none !important;
}

/* ===== Select2 cerrado (MISMO aspecto que input) ===== */
.boomevent-search .select2{
  width: 100% !important;
}

.boomevent-search .select2-container--default .select2-selection--single{
  border-radius: 10px !important;
  border: 1px solid #dcdcdc !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Texto renderizado = mismo padding que input */
.boomevent-search
.select2-container--default
.select2-selection--single
.select2-selection__rendered{
  padding: 0 52px 0 14px !important;
  line-height: 44px !important;
  font-size: 16px !important;
  color: #111 !important;
  margin: 0 !important;
}

/* Flecha */
.boomevent-search
.select2-container--default
.select2-selection--single
.select2-selection__arrow{
  height: 44px !important;
  right: 46px !important;
}

/* Sin azul al foco */
.boomevent-search
.select2-container--default.select2-container--open
.select2-selection--single,
.boomevent-search
.select2-container--default
.select2-selection--single:focus{
  border-color: #dcdcdc !important;
  outline: none !important;
}

/* ===== Dropdown ===== */
.boomevent-search .select2-dropdown{
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.15) !important;
}

/* Opciones */
.boomevent-search .select2-results__option{
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #111 !important;
}

/* Hover amarillo */
.boomevent-search
.select2-results__option--highlighted{
  background: #D6B46A !important;
  color: #111 !important;
}

/* ===== Responsive ===== */
@media (max-width: 767px){
  .boomevent-search{
    flex-direction: column;
    gap: 10px;
  }
  .boomevent-search .boomevent-search__cat,
  .boomevent-search .boomevent-search__term,
  .boomevent-search button.boomevent-search__submit{
    width: 100%;
  }

  .boomevent-search .select2-dropdown{
    width: 70vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}
