/* 
 * Correção para campos select em tema escuro
 * Garante que texto e opções sejam visíveis
 */

/* Estilo para campos select */
select.form-select,
select.form-control {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
    border-color: var(--bs-border-color, #495057) !important;
}

/* Hover nos campos select */
select.form-select:hover,
select.form-control:hover {
    background-color: var(--bs-gray-800, #343a40) !important;
    border-color: var(--bs-border-color-translucent, #6c757d) !important;
}

/* Focus nos campos select */
select.form-select:focus,
select.form-control:focus {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
    border-color: var(--bs-primary, #0d6efd) !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* Opções do select */
select.form-select option,
select.form-control option {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
}

/* Opções selecionadas */
select.form-select option:checked,
select.form-control option:checked {
    background-color: var(--bs-primary, #0d6efd) !important;
    color: white !important;
}

/* Para campos desabilitados */
select.form-select:disabled,
select.form-control:disabled {
    background-color: var(--bs-gray-700, #495057) !important;
    color: var(--bs-gray-300, #adb5bd) !important;
    opacity: 0.6;
}

/* Correção específica para Chrome/Safari no tema escuro */
@media (prefers-color-scheme: dark) {
    select.form-select,
    select.form-control {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: right 0.75rem center;
        background-size: 16px 12px;
        padding-right: 2.5rem;
    }
}

/* Força aplicação em todos os temas */
[data-bs-theme="dark"] select.form-select,
[data-bs-theme="dark"] select.form-control {
    background-color: #212529 !important;
    color: #ffffff !important;
    border-color: #495057 !important;
}

[data-bs-theme="dark"] select.form-select option,
[data-bs-theme="dark"] select.form-control option {
    background-color: #212529 !important;
    color: #ffffff !important;
}

/* Específico para formulários */
.form-floating > select.form-select,
.form-floating > select.form-control {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
}

/* Para inputs de texto também */
input.form-control {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
    border-color: var(--bs-border-color, #495057) !important;
}

input.form-control:focus {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
    border-color: var(--bs-primary, #0d6efd) !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* Para textareas */
textarea.form-control {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
    border-color: var(--bs-border-color, #495057) !important;
}

textarea.form-control:focus {
    background-color: var(--bs-body-bg, #212529) !important;
    color: var(--bs-body-color, #ffffff) !important;
    border-color: var(--bs-primary, #0d6efd) !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}