/* Estilos básicos para selects múltiples
   Usado por el plugin "multiple-select" o para estilizar <select multiple> */

/* Contenedor principal */
.ms-parent {
    display: inline-block;
    position: relative;
    font-size: 0.9rem;
}

/* Input “falso” que se ve como un select */
.ms-choice {
    display: block;
    width: 100%;
    min-height: 34px;
    padding: 6px 30px 6px 10px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    background-color: #fff;
    color: #495057;
    cursor: pointer;
    position: relative;
    box-sizing: border-box;
}

/* Flecha */
.ms-choice:after {
    content: "▾";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: .75rem;
    color: #6c757d;
}

/* Texto dentro del “select” */
.ms-choice span {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Lista desplegable */
.ms-drop {
    position: absolute;
    z-index: 1050;
    left: 0;
    right: 0;
    margin-top: 2px;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    box-shadow: 0 2px 4px rgba(0,0,0,.08);
    max-height: 250px;
    overflow-y: auto;
    box-sizing: border-box;
}

/* Items */
.ms-drop ul {
    list-style: none;
    margin: 0;
    padding: 4px 0;
}

.ms-drop ul li {
    padding: 4px 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: .9rem;
}

.ms-drop ul li:hover {
    background-color: #f1f3f5;
}

/* Checkbox dentro de la lista */
.ms-drop ul li input[type="checkbox"] {
    margin-right: 6px;
}

/* Item deshabilitado */
.ms-drop ul li.disabled,
.ms-drop ul li.disabled * {
    color: #adb5bd;
    cursor: not-allowed;
}

/* Estado abierto */
.ms-parent.open .ms-choice {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Estado de foco */
.ms-choice:focus,
.ms-parent.open .ms-choice {
    outline: 0;
    border-color: #80bdff;
    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25);
}
