/***********************************************************/
/********************* Bandeau supérieur *******************/
/***********************************************************/

.footer-top-bar {
    background-color: rgb(26,45,75);
    color: white;
    padding: 20px 20px;
    height: 100px;
}

.footer-top-bar .container {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.footer-top-bar h3 {
    font-size: 2.2em;
    margin: 0;
    color: white;
}

.footer-top-bar .contact-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    font-size: 1.4em;
    text-decoration: none;
    color: white;
    -webkit-transition: opacity 0.2s ease;
    -o-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
}

.footer-top-bar .contact-item:hover {
    opacity: 0.8;
}

.footer-contact-top {
    display: flex;
    align-items: center;
    gap: 20px;
}

.footer-contact-top svg {
    width: 28px;
    height: 28px;
    margin-right: 6px;
    vertical-align: middle;
}

.footer-contact-top span {
    display: flex;
    align-items: center;
}

.footer-contact-top a {
    color: white;
    text-decoration: none;
}

/***********************************************************/
/********************* Footer principal ********************/
/***********************************************************/
footer {
    background-color: rgb(14,26,43);
    color: white;
}

.footer {
    padding: 40px 0px;
    margin: auto;
}

.footer-bottom {
    display: flex;
    /* Par défaut (grand écran), pas de flex-wrap pour que tout soit sur une ligne. */
    /* Nous allons ajouter flex-wrap dans la media query pour les tailles < 1200px */
    gap: 20px;
    justify-content: space-between;
}

.footer-col {
    /* border: 1px solid red; /* Pour le débogage, à retirer en production */
    flex: 1 1 0%; /* Permet aux colonnes de grandir et de se partager l'espace */
    position: relative;
}

.logoFooter{
    position:relative;
    display: block;
    margin: 0px;
    width: 180px;
}

/* Règle pour la colonne du logo */
.footer-col-logo {
    flex: 0 0 200px; /* Largeur fixe de 180px, s'applique à toutes les tailles par défaut */
}

/* Supprime la ligne pour la colonne du logo */
.footer-col-logo::before {
    display: none;
}

.contact-title {
    font-size: 1.2em;
    letter-spacing: 1px;
    margin-bottom: 10px;
    text-align: left;
    color: white;
}

.contact-info a {
    margin: 5px 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    color: white;
}

.contact-info svg {
    width: 16px;
    height: 16px;
    margin-right: 6px;
}

.footer-col h4 {
    font-size: 1.25em;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    color: #ffffffcc;
    display: inline-block;
    padding-right: 15px;
    position: relative;
    z-index: 2;
    background-color: #0e1a2b;
}

/* La ligne qui s'étend jusqu'au bord droit du conteneur */
.footer-col:not(.footer-col-logo)::before {
    content: "";
    position: absolute;
    top: 22px; /* Ajusté pour un meilleur alignement vertical */
    left: 0;
    right: 0;
    height: 1px;
    background-color: #ffffff55;
    z-index: 1;
}

/* Ajustement des listes de liens */
.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col ul li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 10px;
}

.footer-col ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 6px;
    height: 1px;
    background-color: #ffffff66;
    transition: all 0.3s ease;
    transform: translateY(-50%);
}

.footer-col ul li a {
    color: #ffffffcc;
    text-decoration: none;
    font-size: 0.9em;
    transition: color 0.3s ease;
    display: inline-block;
}

.footer-col ul li:hover::before {
    width: 14px;
    background-color: #ffffff;
}

.footer-col ul li:hover a {
    color: #ffffff;
}

/* --- Media Query pour les écrans < 1200px --- */
/* C'est ici que le comportement de deux lignes sera activé */
@media (max-width: 1250px) {
    .footer-bottom {
        flex-wrap: wrap; /* Active le wrapping pour les petites tailles */
        align-items: flex-start; /* Alignement en haut pour les différentes hauteurs de ligne */
    }

    /* Réinitialisation générale pour ces tailles pour permettre la nouvelle logique */
    .footer-col {
        flex: 1 1 0%; /* Permet aux colonnes de prendre leur espace par défaut avec wrap */
        margin-bottom: 0; /* Pas de marge additionnelle en bas par défaut */
    }

    .logoFooter{
        position:relative;
        display: block;
        margin: 0px auto;
        width: 200px;
    }

    /* Logo : largeur fixe, mais sur sa propre ligne si nécessaire */
    .footer-col-logo {
        flex: 0 0 50%; /* Conserve sa largeur fixe */
        /* En dessous de 1200px, si l'espace est limité, il peut passer à la ligne suivante avec Litiges Commerciaux */
    }

    /* La première colonne de contenu (Litiges Commerciaux) */
    .footer-col:nth-of-type(2) { /* Cible la deuxième .footer-col */
        flex: 1 1 auto; /* Prend l'espace restant sur la première ligne */
        margin-right: 20px; /* Espace entre cette colonne et la rupture de ligne */
    }

    /* Le "break" flexbox pour forcer le retour à la ligne après la 2ème colonne */
    .footer-col:nth-of-type(2)::after {
        content: "";
        display: block;
        flex-basis: 100%; /* Force le retour à la ligne pour les éléments suivants */
        order: 1; /* S'assure qu'il apparaît après le 2ème élément */
        height: 0; /* Pas de hauteur pour ce break */
    }

    /* Les deux dernières colonnes (Litiges entre Associés et Autres Litiges) */
    .footer-col:nth-of-type(3),
    .footer-col:nth-of-type(4) { /* Cible la 3ème et 4ème .footer-col */
        flex: 0 0 calc(50% - 10px); /* 50% de la largeur du parent moins la moitié du gap (20px / 2) */
        order: 2; /* S'assure qu'elles apparaissent sur la deuxième ligne */
        margin-top: 20px; /* Espace vertical entre les deux lignes de colonnes */
    }
}


/**********************************************************/
/*************** Gestion du footer du haut *****************/
/**********************************************************/
@media (max-width: 1200px) {

    .footer-top-bar {
        height: 80px;
    }

    .footer-top-bar h3 {
        font-size: 1.6em;
    }

    .footer-top-bar .contact-item {
        font-size: 1.2em;
    }

    .footer-contact-top svg {
        width: 22px;
        height: 22px;
        margin-right: 6px;
    }

}

/**********************************************************/
/*************** Gestion du footer du haut ****************/
/**********************************************************/
@media (max-width: 1000px) {

    .footer-top-bar {
        height: 160px;
    }

    .footer-top-bar .container {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .footer-contact-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-top-bar h3 {
        font-size: 1.4em;
    }

    .footer-top-bar .contact-item {
        font-size: 1em;
    }

    .footer-contact-top svg {
        width: 20px;
        height: 20px;
        margin-right: 6px;
    }

}

/**********************************************************/
/*************** Gestion du footer du bas *****************/
/**********************************************************/
@media (max-width: 790px) {

    .footer-bottom {
        flex-direction: column; /* Force toutes les colonnes à être sur leur propre ligne */
        gap: 0px;
    }

    /* Sur mobile, la ligne du titre étendue peut ne pas être pertinente */
    .footer-col:not(.footer-col-logo)::before {
        display: none; /* Cache la ligne du titre en mode mobile */
    }

    /* Les colonnes prennent toute la largeur en mobile */
    .footer-col {
        flex: 1 1 100%; /* Chaque colonne prend 100% de la largeur */
    }

    .logoFooter{
        position:relative;
        display: block;
        margin: 0px;
        width: 180px;
    }

    .footer-col-logo {
        flex: 1 1 auto; /* Permet au logo de s'adapter à la taille de l'image */
        text-align: center; /* Centre le logo en mobile */
    }
    /* Annule le break flexbox pour les très petits écrans */
    .footer-col:nth-of-type(2)::after {
        display: none;
    }
}

@media (max-width: 600px) {

    .footer-top-bar {
        height: 150px;
    }

    .footer-top-bar h3 {
        font-size: 1.2em;
    }
}