/* Bootstrap Overrides - Corrections de conflits */

/* Select / Form-control */

/* Forcer la visibilité du texte dans tous les selects */
select,
select.form-control,
.form-control {
    /* Couleur du texte - CRITIQUE */
    color: #2c3e50 !important;
    
    /* Arrière-plan blanc */
    background-color: #ffffff !important;
    
    /* Taille de police visible */
    font-size: 1rem !important;
    line-height: 1.5 !important;
    
    /* Hauteur automatique pour le contenu */
    min-height: 2.75rem !important;
    
    /* Padding pour lisibilité */
    padding: 0.75rem 1rem !important;
}

/* Options dans les dropdowns */
select option,
select.form-control option,
.form-control option {
    color: #2c3e50 !important;
    background-color: #ffffff !important;
    font-size: 1rem !important;
    padding: 0.5rem 0.75rem !important;
    line-height: 1.5 !important;
}

/* État focus pour select */
select:focus,
select.form-control:focus,
.form-control:focus {
    color: #2c3e50 !important;
    background-color: #ffffff !important;
    border-color: #0382C9 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 4px rgba(3, 130, 201, 0.15) !important;
}

/* État hover pour select */
select:hover,
select.form-control:hover,
.form-control:hover {
    color: #2c3e50 !important;
    background-color: #f8f9fa !important;
}

/* État disabled */
select:disabled,
select.form-control:disabled,
.form-control:disabled {
    color: #6c757d !important;
    background-color: #e9ecef !important;
    opacity: 0.7;
}

/* Inputs spécifiques */

/* Inputs text avec form-control */
input.form-control[type="text"],
input.form-control[type="email"],
input.form-control[type="tel"],
input.form-control[type="number"],
input.form-control[type="date"] {
    color: #2c3e50 !important;
    background-color: #ffffff !important;
    font-size: 1rem !important;
}

/* Textarea avec form-control */
textarea.form-control,
textarea,
#exigences,
#clientele,
#commentaires,
#etudiantsCohorteTextarea {
    color: #2c3e50 !important;
    background-color: #ffffff !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    min-height: 100px !important;
    max-height: none !important;
    resize: vertical !important;
    overflow: auto !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* TRÈS IMPORTANT: Empêcher toute surcharge */
textarea[style] {
    resize: vertical !important;
}

/* S'assurer que rien ne bloque */
.form-control:not(select):not(input) {
    resize: vertical !important;
}

/* Placeholders */

select::placeholder,
.form-control::placeholder {
    color: #6c757d !important;
    opacity: 0.7 !important;
}

/* Validation states */

/* Invalid state */
select.is-invalid,
.form-control.is-invalid,
select:invalid,
.form-control:invalid {
    border-color: #dc3545 !important;
    color: #2c3e50 !important;
}

/* Valid state */
select.is-valid,
.form-control.is-valid,
select:valid:not([value=""]),
.form-control:valid {
    border-color: #28a745 !important;
    color: #2c3e50 !important;
}

/* Mobile/Responsive */

@media (max-width: 768px) {
    select,
    select.form-control,
    .form-control {
        font-size: 16px !important; /* Évite le zoom automatique sur iOS */
    }
}

/* jQuery UI / Custom select */

/* Si jQuery UI est utilisé */
.ui-selectmenu-button {
    color: #2c3e50 !important;
    background-color: #ffffff !important;
}

.ui-selectmenu-text {
    color: #2c3e50 !important;
}

/* Bouton effacement date */

/* Bouton pour effacer les champs date */
.btn-clear-date {
    margin-left: 5px;
    padding: 4px 8px;
    font-size: 14px;
    line-height: 1;
    border: 1px solid #ccc;
    background: #f8f9fa;
    border-radius: 4px;
    cursor: pointer;
    color: #666;
    transition: all 0.2s ease;
}

.btn-clear-date:hover {
    background: #e9ecef;
    border-color: #aaa;
    color: #333;
}

.btn-clear-date:active {
    background: #ddd;
}

/* Wrapper pour aligner le champ date et le bouton */
.date-input-wrapper {
    display: flex;
    align-items: center;
}