.bootstrap-select {
    border: 1px solid #ced4da;
}

.dark-theme .bootstrap-select {
    border: 1px solid var(--bg-select);
}

/* Fixa a largura do componente e evita que texto grande quebre o layout */
.bootstrap-select.btn-group {
    width: 100% !important;
    max-width: 100%;
}

/* Botão precisa ser flex-contido para o ellipsis funcionar */
.bootstrap-select.btn-group .dropdown-toggle {
    display: flex;
    align-items: center;
    overflow: hidden;
}

.bootstrap-select .filter-option {
    flex: 1;
    overflow: hidden;
    min-width: 0;
}

.bootstrap-select .filter-option-inner {
    overflow: hidden;
    min-width: 0;
}

.bootstrap-select .filter-option-inner-inner {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    min-width: 0;
}

.bootstrap-select .dropdown-menu li a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.bootstrap-select .dropdown-menu.inner {
    max-width: 100%;
}

/* Menu aberto não deve ultrapassar a largura do botão */
.bootstrap-select.show .dropdown-menu {
    max-width: 100%;
}

.bootstrap-select .dropdown-menu li a:focus,
.bootstrap-select .dropdown-menu li a.active,
.bootstrap-select .dropdown-menu li.selected a {
    background-color: var(--cg-green) !important;
    color: #fff;
}

.bootstrap-select .dropdown-menu li a:hover {
    background-color: var(--cg-green-light) !important;
    color: #fff;
}

.dark-theme .bootstrap-select .btn {
    background-color: #666666;
    color: var(--dark-text-light);
    border-color: #666666;
}

.dark-theme .bootstrap-select .no-results {
    background-color: var(--dark-bg-select);
}

.form-control-transparent:disabled, 
.form-control-transparent[readonly] {
    background-color: inherit;
}

.bootstrap-select .disabled {
    background-color: #f8f9fa;
}

.bootstrap-select .btn-light {
    background-color: unset;
}