/*======================================
FOOTER
======================================*/

.footer{

    background:var(--color-background);

    color:var(--color-text);

    margin-top:120px;

    padding:80px 0 0;

}

.footer a{

    color:var(--color-text);

    text-decoration:none;

    transition:.3s;

}

.footer a:hover{

    color:var(--color-primary);

}

/*======================================
GRILLE
======================================*/

.footer__grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.2fr;

    gap:60px;

    align-items:flex-start;

}

/*======================================
LOGO
======================================*/

.footer__logo{

    display:inline-block;

    margin-bottom:25px;

}

.footer__logo img{

    width:230px;

    height:auto;

    display:block;

}

.footer__brand p{

    color:var(--color-text-light);

    line-height:1.8;

    font-size:.98rem;

    max-width:420px;

}

/*======================================
TITRES
======================================*/

.footer h3{

    color:var(--color-text);

    margin-bottom:22px;

    font-size:1.15rem;

    position:relative;

    padding-bottom:10px;

}

.footer h3::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:45px;

    height:3px;

    border-radius:30px;

    background:var(--color-primary);

}

/*======================================
LISTES
======================================*/

.footer ul{

    list-style:none;

    margin:0;

    padding:0;

}

.footer li{

    margin-bottom:14px;

    color:var(--color-text-light);

}
/*======================================
RESEAUX SOCIAUX
======================================*/

.footer__social p{

    color:var(--color-text-light);

    line-height:1.8;

    margin-bottom:25px;

}

.footer__social-links{

    display:flex;

    gap:16px;

    margin-top:25px;

}

.social-link{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--color-surface);

    border:1px solid var(--color-border);

    color:var(--color-text);

    font-size:1.3rem;

    transition:.35s;

}

.social-link:hover{

    background:var(--color-primary);

    border-color:var(--color-primary);

    color:#fff;

    transform:translateY(-5px);

    box-shadow:var(--shadow-md);

}

.social-link.disabled{

    opacity:.45;

    cursor:default;

}

.social-link.disabled:hover{

    transform:none;

    background:var(--color-surface);

    border-color:var(--color-border);

    color:var(--color-text);

    box-shadow:none;

}

/*======================================
BARRE BAS
======================================*/

.footer__bottom{

    margin-top:70px;

    padding:28px 0;

    border-top:1px solid var(--color-border);

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

}

.footer__bottom p{

    margin:0;

    color:var(--color-text-light);

    font-size:.92rem;

}

.footer__legal{

    display:flex;

    align-items:center;

    gap:18px;

}

.footer__legal span{

    color:var(--color-border);

}

.footer__legal a{

    color:var(--color-text-light);

    font-size:.92rem;

}

.footer__legal a:hover{

    color:var(--color-text);

}

/*======================================
RESPONSIVE
======================================*/

@media (max-width:1100px){

    .footer__grid{

        grid-template-columns:repeat(2,1fr);

        gap:50px;

    }

}

@media (max-width:768px){

    .footer{

        padding-top:60px;

    }

    .footer__grid{

        grid-template-columns:1fr;

        gap:40px;

        text-align:center;

    }

    .footer__brand p{

        margin:auto;

    }

    .footer h3::after{

        left:50%;

        transform:translateX(-50%);

    }

    .footer__social-links{

        justify-content:center;

    }

    .footer__bottom{

        flex-direction:column;

        text-align:center;

        gap:18px;

    }

    .footer__legal{

        flex-wrap:wrap;

        justify-content:center;

    }

}
