/* Styles pour mobile */
@media (max-width: 767.98px) {
    /* Réduire la taille de police et l'espacement */
    .form-control,
    .form-control-select,
    .form-control-label {
        font-size: 14px !important;
    }

    /* Ajuster l'espacement des champs */
    .form-group {
        margin-bottom: 12px !important;
    }

    /* Ajuster les marges des colonnes */
    .col-md-3, 
    .col-md-6,
    .col-md-9 {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* Ajuster les labels */
    .form-control-label {
        margin-bottom: 4px !important;
        padding-top: 8px;
    }

    /* Ajuster la hauteur des champs */
    .form-control,
    .form-control-select,
    select,
    input[type="text"],
    input[type="tel"],
    input[type="email"],
    input[type="password"] {
        height: 40px !important;
        padding: 8px 12px !important;
        font-size: 15px !important;
    }

    /* Ajuster le bouton de soumission */
    .form-footer .btn {
        width: 100%;
        margin-top: 10px;
        padding: 10px;
        font-size: 16px;
    }

    /* Ajuster la largeur des colonnes sur mobile */
    .col-md-3 {
        -ms-flex: 0 0 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 4px;
    }

    .col-md-6 {
        -ms-flex: 0 0 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Ajuster l'icône de flèche du select */
    .form-control-select {
        background-position: right 10px center !important;
        padding-right: 30px !important;
    }
}

/* Correction pour les champs requis */
.required > .form-control-label:after {
    content: " *";
    color: #f00;
    font-weight: bold;
}

/* Amélioration de la lisibilité sur mobile */
@media (max-width: 575.98px) {
    body {
        font-size: 15px;
    }
    
    .form-control::placeholder {
        font-size: 14px;
        opacity: 0.7;
    }
}