/* === Select2 compatible con Bootstrap 5.3 + tema claro/oscuro === */
.select2-container { width: 100% !important; }

/* Single */
.select2-container .select2-selection--single{
  height: calc(1.5em + .75rem + 2px);
  padding: .375rem 2.25rem .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  border: 1px solid var(--bs-border-color, #ced4da);
  border-radius: .375rem;
  background-color: var(--bs-body-bg, #fff);
  color: var(--bs-body-color, #212529);
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 1.5;
  padding-left: 0;
  color: var(--bs-body-color, #212529);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{
  color: var(--bs-secondary-color, #6c757d);
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 100%;
  right: .75rem;
  width: 2rem;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color: var(--bs-body-color, #212529) transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
}

/* Focus como BS5 */
.select2-container--default.select2-container--focus .select2-selection{
  border-color: var(--bs-primary, #0d6efd);
  box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb, 13,110,253), .25);
  outline: 0;
}

/* Multiple */
.select2-container .select2-selection--multiple{
  min-height: calc(1.5em + .75rem + 2px);
  border: 1px solid var(--bs-border-color, #ced4da);
  border-radius: .375rem;
  padding: .25rem .375rem;
  background-color: var(--bs-body-bg, #fff);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
  background-color: var(--bs-tertiary-bg, #f8f9fa);
  border: 1px solid var(--bs-border-color, #ced4da);
  color: var(--bs-body-color, #212529);
}

/* Dropdown */
.select2-container .select2-dropdown{
  background-color: var(--bs-body-bg, #fff);
  border: 1px solid var(--bs-border-color, #ced4da);
  z-index: 2000; /* sobre modales */
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background-color: rgba(var(--bs-primary-rgb, 13,110,253), .15);
  color: var(--bs-body-color, #212529);
}
.select2-container--default .select2-results__option[aria-selected=true]{
  background-color: var(--bs-secondary-bg, #e9ecef);
  color: var(--bs-body-color, #212529);
}
.select2-search--dropdown .select2-search__field{
  background-color: var(--bs-body-bg, #fff);
  color: var(--bs-body-color, #212529);
  border: 1px solid var(--bs-border-color, #ced4da);
}

/* Estados disabled/validación */
.select2-container--default.select2-container--disabled .select2-selection{
  background-color: var(--bs-secondary-bg, #e9ecef);
}
select.is-invalid + .select2 .select2-selection{
  border-color: var(--bs-form-invalid-border-color, #dc3545) !important;
  box-shadow: none;
}
select.is-valid + .select2 .select2-selection{
  border-color: var(--bs-form-valid-border-color, #198754) !important;
  box-shadow: none;
}

/* Tamaños opcionales si usas -sm / -lg */
.form-select-sm + .select2 .select2-selection--single{
  height: calc(1.5em + .5rem + 2px);
  padding: .25rem 2rem .25rem .5rem;
  font-size: .875rem;
  border-radius: .25rem;
}
.form-select-lg + .select2 .select2-selection--single{
  height: calc(1.5em + 1rem + 2px);
  padding: .5rem 2.5rem .5rem 1rem;
  font-size: 1.25rem;
  border-radius: .5rem;
}
