﻿
/* ========== SELECT2 ========== */

/* Dropdown (puede estar appendado a body) */
[data-bs-theme="dark"] .select2-dropdown,
[data-bs-theme="dark"].select2-dropdown {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
}

/* Contenedor de resultados */
[data-bs-theme="dark"] .select2-results {
    background-color: transparent !important;
}

[data-bs-theme="dark"] .select2-results__options {
    background-color: transparent !important;
}

/* Campo de búsqueda dentro del dropdown */
[data-bs-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field,
[data-bs-theme="dark"] .select2-search--dropdown .select2-search__field {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

    [data-bs-theme="dark"] .select2-search--dropdown .select2-search__field::placeholder {
        color: var(--bs-secondary-color) !important;
    }

/* Opciones */
[data-bs-theme="dark"] .select2-results__option,
[data-bs-theme="dark"] .select2-results__option[aria-selected="true"] {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--bs-primary) !important;
    color: var(--bs-primary-contrast, #fff) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option[aria-disabled="true"] {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__message {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__group {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option[role="group"] {
    color: var(--bs-body-color) !important;
}

/* Trigger: single y multiple */
[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
}

    [data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
    [data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__rendered {
        color: var(--bs-body-color) !important;
    }

    [data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__placeholder {
        color: var(--bs-secondary-color) !important;
    }

    [data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__clear {
        color: var(--bs-body-color) !important;
    }

        [data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__clear:hover {
            color: var(--bs-emphasis-color) !important;
        }

/* Input inline (multiple) */
[data-bs-theme="dark"] .select2-container--default .select2-search--inline .select2-search__field {
    background-color: transparent !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
    color: var(--bs-body-color) !important;
}

/* Tags / choices en multiple */
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--bs-body-color) !important;
}

    [data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
        color: var(--bs-emphasis-color) !important;
    }

[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__clear {
    color: var(--bs-body-color) !important;
}

/* Estados: focus, disabled, open */
[data-bs-theme="dark"] .select2-container--default.select2-container--focus .select2-selection--single,
[data-bs-theme="dark"] .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .select2-container--default.select2-container--disabled .select2-selection--single,
[data-bs-theme="dark"] .select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
}

/* Máscara de cierre (fondo del dropdown) */
[data-bs-theme="dark"] .select2-close-mask {
    background-color: transparent !important;
}

/* Select2 classic (si se usa) */
[data-bs-theme="dark"] .select2-container--classic .select2-selection--single,
[data-bs-theme="dark"] .select2-container--classic .select2-selection--multiple {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
}

    [data-bs-theme="dark"] .select2-container--classic .select2-selection--single .select2-selection__rendered,
    [data-bs-theme="dark"] .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
        color: var(--bs-body-color) !important;
    }

[data-bs-theme="dark"] .select2-container--classic .select2-dropdown {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .select2-container--classic .select2-search--dropdown .select2-search__field {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .select2-container--classic .select2-results__option--highlighted[aria-selected] {
    background-color: var(--bs-primary) !important;
    color: var(--bs-primary-contrast, #fff) !important;
}

/* ========== BOOTSTRAP TAGS INPUT ========== */

[data-bs-theme="dark"] .bootstrap-tagsinput {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1) !important;
}

    [data-bs-theme="dark"] .bootstrap-tagsinput input {
        background-color: transparent !important;
        color: var(--bs-body-color) !important;
    }

    [data-bs-theme="dark"] .bootstrap-tagsinput.form-control input::-moz-placeholder,
    [data-bs-theme="dark"] .bootstrap-tagsinput.form-control input:-ms-input-placeholder,
    [data-bs-theme="dark"] .bootstrap-tagsinput.form-control input::placeholder,
    [data-bs-theme="dark"] .bootstrap-tagsinput.form-control input::-webkit-input-placeholder {
        color: var(--bs-secondary-color) !important;
        opacity: 1;
    }

    [data-bs-theme="dark"] .bootstrap-tagsinput input:focus {
        border: none !important;
        box-shadow: none !important;
        color: var(--bs-body-color) !important;
    }

    [data-bs-theme="dark"] .bootstrap-tagsinput .tag {
        background-color: var(--bs-primary) !important;
        color: var(--bs-primary-contrast, #fff) !important;
        border: 1px solid var(--bs-primary) !important;
    }

        [data-bs-theme="dark"] .bootstrap-tagsinput .tag [data-role="remove"] {
            color: var(--bs-primary-contrast, #fff) !important;
        }

            [data-bs-theme="dark"] .bootstrap-tagsinput .tag [data-role="remove"]:after {
                color: inherit !important;
            }

            [data-bs-theme="dark"] .bootstrap-tagsinput .tag [data-role="remove"]:hover {
                color: var(--bs-primary-contrast, #fff) !important;
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.15) !important;
            }

                [data-bs-theme="dark"] .bootstrap-tagsinput .tag [data-role="remove"]:hover:active {
                    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2) !important;
                }

    /* Estado deshabilitado */
    [data-bs-theme="dark"] .bootstrap-tagsinput-disabled.bootstrap-tagsinput,
    [data-bs-theme="dark"] .bootstrap-tagsinput.disabled {
        background-color: var(--bs-secondary-bg) !important;
        border-color: var(--bs-border-color) !important;
        opacity: 0.8;
    }

/* ========== JQUERY UI AUTOCOMPLETE ========== */

/* Input con autocomplete */
[data-bs-theme="dark"] .ui-autocomplete-input {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

    [data-bs-theme="dark"] .ui-autocomplete-input::placeholder {
        color: var(--bs-secondary-color) !important;
    }

/* Dropdown / menú (ul.ui-autocomplete, appendado a body) */
[data-bs-theme="dark"] .ui-autocomplete,
[data-bs-theme="dark"] .ui-menu.ui-autocomplete {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3) !important;
}

    [data-bs-theme="dark"] .ui-autocomplete > a,
    [data-bs-theme="dark"] .ui-autocomplete > li > div {
        color: var(--bs-body-color) !important;
    }

/* Ítems del menú */
[data-bs-theme="dark"] .ui-menu-item,
[data-bs-theme="dark"] .ui-menu-item-wrapper {
    background-color: transparent !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .ui-menu-item {
    border-bottom: 1px solid var(--bs-border-color) !important;
}

    [data-bs-theme="dark"] .ui-menu-item:last-child {
        border-bottom: none !important;
    }

    /* Hover */
    [data-bs-theme="dark"] .ui-menu-item:hover,
    [data-bs-theme="dark"] .ui-menu-item-wrapper.ui-state-hover {
        background-color: var(--bs-secondary-bg) !important;
        color: var(--bs-body-color) !important;
    }

    /* Activo / foco (seleccionado con teclado) */
    [data-bs-theme="dark"] .ui-menu-item-wrapper.ui-state-active,
    [data-bs-theme="dark"] .ui-menu-item.ui-state-focus {
        background-color: var(--bs-primary) !important;
        color: var(--bs-primary-contrast, #fff) !important;
    }

        [data-bs-theme="dark"] .ui-menu-item-wrapper.ui-state-active:hover,
        [data-bs-theme="dark"] .ui-menu-item.ui-state-focus:hover {
            background-color: var(--bs-primary) !important;
            color: var(--bs-primary-contrast, #fff) !important;
        }
