@import url('reset.css');
@import url('variable.css');
@import url('color.css');
@import url('police.css');

/* POUR L'ANCRE DU LOGO VERS LE HAUT DE LA PAGE */
html {
    scroll-behavior: smooth;
}






footer{
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Afacad';
    background-color: white;
    padding: 50px 0 10px 0;
}

.footerUp{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 10%;
    width: 100%;
}

.containerLogoFooter{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.containerColumnFooter{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 70%;
}

.columnFooter{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 15%;
}

.socialMediaFooter{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.socialMediaFooter svg{
    width: 30px;
    transition: 0.3s ease;
}

/* Survols réservés aux pointeurs qui survolent (souris, pavé) : au doigt, l'état
   de survol restait posé sur le lien touché. Même enveloppe plus bas. */
@media (hover: hover){
    .socialMediaFooter svg:hover{
        transform: scale(1.10);
    }
}

.textFooter{
    font-size: 15px;
    margin: 0;
    padding-top: 10px;
}

/* Interligne 1,2 (et non 1,01) : un libellé replié sur deux lignes restait
   collé à lui-même. Vaut aussi pour les liens et les noms de famille. */
.titleColumnFooter{
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}

.ulFooter{
    list-style: none;
    margin: 0;
    padding: 0 0 20px 0;
}

.aFooter{
    display: block;
    text-decoration: none;
    color: #000;
    font-size: 17px;
    line-height: 1.2;
    transition: 0.3s ease;
}

@media (hover: hover){
    .aFooter:hover{
        color: #4d3dff;
        transform: translateY(-1px);
        opacity: 0.9;
    }
}

/* Page courante : le bleu du survol, souligné (le magenta de l'ancienne règle
   globale .active ne faisait que 3,1:1 sur blanc) */
.aFooter.active{
    color: #4D3DFF;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.uppercaseFooter{
    text-transform: uppercase;
}

/* Rubriques regroupées par famille : nom de la famille puis ses rubriques */
.liFooterFamily{
    padding: 8px 0 4px 0;
}

.footerFamilyName{
    display: block;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
}

.ulFooterSub{
    list-style: none;
    margin: 0;
    padding: 4px 0 0 10px;
}

.liFooterSub{
    padding: 0;
}

/* Cible d'au moins 24 px de haut (WCAG 2.5.8) : le lien porte l'espacement que
   portait l'élément de liste (15 px de haut, 6 px de vide entre deux liens) */
.aFooterSub{
    font-size: 15px;
    color: #434343;
    padding: 5px 0;
}

.footerDown{
    width: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    border-top: 1px solid rgba(82, 81, 81, 0.5);
    margin-top: 30px;
}

.footerDown p{
    font-size: 12px;
    font-weight: 500;
    margin: 12px 0 0 0;
    text-align: center;
}

.footerDown span{
    text-decoration: none;
    color: #000;
    font-size: 12px;
    font-weight: 500;
}

.footerDown a{
    text-decoration: underline;
    color: #000;
    font-weight: 700;
    transition: 0.3s ease;
}

.footerDown a:hover{
    color: #4d3dff;
}

/* Fin de page sous 340 px : le copyright passait sous le bouton « haut de
   page » (44 px à 12 px du bas). Réserve posée sur .footerDown et non sur la
   balise footer, dont la fiche d'un pro règle déjà le retrait (profil.css). */
@media (max-width: 339px){
    .footerDown{
        padding-bottom: 48px;
    }
}

.lineMobile{
    display: none;
}

@media (max-width: 1024px){
    .footerUp{
        flex-direction: column;
    }

    .containerColumnFooter{
        width: 100%;
    }

    .textFooter{
        width: 25%;
    }

    .footerUpLeft{
        flex-direction: column;
        margin-left: 30px;
    }

    .footerUpRight{
        flex-direction: column;
    }

    /* Retrait intérieur plutôt que marges : « width: 100% » ajouté à des marges
       latérales débordait de la page (défilement horizontal entre 631 et 1024 px) ;
       l'espacement rendu reste identique grâce à box-sizing: border-box */
    .columnFooter{
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 0 30px;
    }
}

@media (max-width: 630px){

    .footerUp{
        align-items: center;
        margin: 0;
    }

    .containerLogoFooter{
        align-items: center;
        width: 100%;
    }

    .containerColumnFooter{
        flex-direction: column;
        align-items: center;
    }
    .aFooter { text-align: center; }

    .footerFamilyName { text-align: center; }

    .ulFooterSub { padding-left: 0; }

    .logoFooter{text-align: center;}

    .columnFooter{
        align-items: center;
        margin: 0;
        padding: 0;
    }

    .textFooter{
        width: 50%;
        text-align: center;
    }

    .lineMobile{
        display: block;
        width: 120px;
        height: 1px;
        background-color: rgba(82, 81, 81, 0.5);
        margin: 30px 0 30px 0;
    }
}

/* Entre 631 px (au-dessus de l'empilement mobile) et 768 px, les cinq colonnes de
   liens ne tiennent plus sur une seule ligne : elles dépassaient de la page et
   provoquaient un défilement horizontal sur tout le front. Elles passent donc à la
   ligne, deux par deux ; au-dessus de 768 px l'alignement sur une ligne est conservé. */
@media (min-width: 631px) and (max-width: 768px){
    .containerColumnFooter{
        flex-wrap: wrap;
        row-gap: 20px;
    }

    .containerColumnFooter .columnFooter{
        width: 50%;
    }
}

.svgSizeSocialNetwork svg {
    width: 30px;
    height: 30px;
    transition: transform 0.2s ease;
}

@media (hover: hover){
    .svgSizeSocialNetwork svg:hover {
        transform: scale(1.1);
    }
}

/* Zone couverte par l'annuaire, sous l'accroche du pied de page */
.areaFooter{
    margin: 6px 0 0 0;
    font-family: 'Afacad';
    font-size: 15px;
    opacity: 0.75;
}

/* Rangée de bureau (au-dessus de 1024 px) : les colonnes de liens prennent 22 %
   de leur conteneur (70 % de la page), et non les 15 % pensés pour la colonne
   marque : 195 px à 1280 et 219 px à 1440 au lieu de 133 et 150, libellés sur
   une ou deux lignes. */
@media (min-width: 1025px){
    .containerColumnFooter > .columnFooter{
        width: 22%;
    }
}

/* Empilé entre 631 et 1024 px, le « gap: 10% » de la rangée ne valait plus rien
   (pourcentage d'une hauteur indéfinie) : espace explicite entre le bloc marque
   et les colonnes. */
@media (min-width: 631px) and (max-width: 1024px){
    .footerUp{
        gap: 32px;
    }
}

@media (max-width: 1024px){
    /* Logo : w-50 (50 %) se calcule sur .logoFooter, qui prenait la largeur de
       son contenu. Il reçoit celle de la colonne, puis le logo est borné à
       200 px : 160 et 188 px à 320 et 375 px comme avant, 200 px au lieu de 354
       à 400 px sur tablette. L'ordre compte : sans la largeur de .logoFooter,
       la borne ferait tomber le logo à 100 px partout. */
    .logoFooter{
        width: 100%;
    }

    .logoFooter img{
        max-width: 200px;
    }

    /* Accroche à sa largeur de lecture, et non 25 % ou 50 % de l'écran : deux ou
       trois lignes au lieu de quatre, 16 px de marge au moins */
    .textFooter{
        width: auto;
        max-width: min(34ch, 100% - 32px);
    }
}
