/* Chosen Select Fixes for Falcon / Bootstrap 5 */

.chosen-container {
    width: 100% !important;
    font-size: 0.8125rem; /* Match Falcon default font size */
}

.chosen-lg .chosen-choices {
    min-height: 34px !important;
}

/* SINGLE SELECT */
.chosen-container-single .chosen-single {
    height: 29px;
    line-height: 29px;
    background-color: var(--falcon-quaternary-bg) !important;
    background-image: none !important;
    border: var(--falcon-border-width) solid var(--falcon-gray-300) !important;
    border-radius: var(--falcon-border-radius) !important;
    color: var(--falcon-gray-900) !important;
    box-shadow: var(--falcon-box-shadow-inset) !important;
    display: block;
}

.chosen-container-single .chosen-single div b {
    background-position: 0 9px !important;
}

/* MULTI SELECT */
.chosen-container-multi .chosen-choices {
    background-color: var(--falcon-quaternary-bg) !important;
    background-image: none !important;
    border: var(--falcon-border-width) solid var(--falcon-gray-300) !important;
    border-radius: var(--falcon-border-radius) !important;
    min-height: 22px;
    box-shadow: var(--falcon-box-shadow-inset) !important;
}

.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    color: var(--falcon-gray-900) !important;
    font-family: inherit !important;
    height: 25px !important;
}

.chosen-container-multi .chosen-choices li.search-choice {
    background-color: var(--falcon-primary) !important;
    background-image: none !important;
    border: 1px solid var(--falcon-primary) !important;
    color: #fff !important;
    border-radius: 0.25rem !important;
    margin: 3px 5px 3px 0 !important;
    padding: 3px 20px 3px 10px !important;
    box-shadow: none !important;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    top: 6px !important;
    right: 5px !important;
    filter: brightness(0) invert(1);
}

/* DROPDOWN LIST */
.chosen-container .chosen-drop {
    background-color: var(--falcon-quaternary-bg) !important;
    border: var(--falcon-border-width) solid var(--falcon-gray-300) !important;
    border-radius: 0 0 0.375rem 0.375rem !important;
    box-shadow: var(--falcon-box-shadow) !important;
    z-index: 1060 !important;
    margin-top: -1px;
}

.chosen-container .chosen-results {
    color: var(--falcon-gray-900) !important;
    margin: 0 4px 4px 0;
    padding: 0 0 0 4px;
}

.chosen-container .chosen-results li.highlighted {
    background-color: var(--falcon-primary) !important;
    background-image: none !important;
    color: #fff !important;
}

/* Opção atualmente selecionada — usa cores do tema (corrige fundo branco no dark mode) */
.chosen-container .chosen-results li.result-selected {
    background-color: var(--falcon-secondary-bg) !important;
    background-image: none !important;
    color: var(--falcon-gray-900) !important;
}
.chosen-container .chosen-results li.result-selected.highlighted {
    background-color: var(--falcon-primary) !important;
    color: #fff !important;
}

.chosen-container .chosen-results li.no-results {
    background: transparent !important;
    padding: 8px !important;
}

/* SEARCH INPUT IN DROP */
.chosen-container-single .chosen-search input[type="text"] {
    background-color: var(--falcon-quaternary-bg) !important;
    border: var(--falcon-border-width) solid var(--falcon-gray-300) !important;
    border-radius: var(--falcon-border-radius) !important;
    color: var(--falcon-gray-900) !important;
    margin: 5px 0 !important;
}

/* Remove o contorno escuro padrão do navegador ao focar o campo de busca */
.chosen-container-single .chosen-search input[type="text"]:focus {
    outline: none !important;
    border-color: var(--falcon-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(44, 123, 229, 0.25) !important;
}

/* FOCUS STATE */
.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices {
    border-color: var(--falcon-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(44, 123, 229, 0.25) !important;
}

/* Fix for nested chosen in search results or collapsing boxes */
.box-content.collapse.show, 
.box-content.collapse.in,
.box {
    overflow: visible !important;
}
