.formulaire_is_invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.formulaire_is_invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25);
}

.formulaire_is_valid {
    border-color: #28a745;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%2328a745' viewBox='-2 -2 7 7'%3e%3cpath stroke='%2328a745' d='M0 2l1 1l3-3'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.formulaire_is_valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25);
}




/* Pour le bouton radio invalide */
.formulaire_radio_is_invalid:checked + label {
    color: #dc3545; /* Couleur rouge pour le texte du label */
}

.formulaire_radio_is_invalid:checked {
    background-color: #dc3545; /* Couleur rouge pour le fond du bouton radio */
    border-color: #dc3545; /* Couleur rouge pour la bordure */
}

/* Pour le bouton radio valide */
.formulaire_radio_is_valid:checked + label {
    color: #28a745; /* Couleur verte pour le texte du label */
}

.formulaire_radio_is_valid:checked {
    background-color: #28a745; /* Couleur verte pour le fond du bouton radio */
    border-color: #28a745; /* Couleur verte pour la bordure */
}



/* Pour le bouton radio invalide */
.formulaire_radio_is_invalid,
.formulaire_radio_is_invalid:focus {
    border-color: #dc3545; /* Bordure rouge */
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, .25); /* Ombre rouge */
}

/* Pour le label suivant directement un bouton radio invalide */
.formulaire_radio_is_invalid + label {
    color: #dc3545; /* Texte rouge pour le label */
}

/* Pour le bouton radio valide */
.formulaire_radio_is_valid,
.formulaire_radio_is_valid:focus {
    border-color: #28a745; /* Bordure verte */
    box-shadow: 0 0 0 0.25rem rgba(40, 167, 69, .25); /* Ombre verte */
}

/* Pour le label suivant directement un bouton radio valide */
.formulaire_radio_is_valid + label {
    color: #28a745; /* Texte vert pour le label */
}

/* Pour l'état valide */
.select2-container--bootstrap4.select2-valid .select2-selection {
    border-color: #28a745; /* Vert pour valide */
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); /* Ombre verte */
}

/* Pour l'état invalide */
.select2-container--bootstrap4.select2-invalid .select2-selection {
    border-color: #dc3545; /* Rouge pour invalide */
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); /* Ombre rouge */
}