/* ======================================================
   JSG SARL
   FOOTER
====================================================== */

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

.footer{

    background:#0f172a;

    color:#ffffff;

    margin-top:120px;

    overflow:hidden;

}


/*==============================
    CTA
==============================*/

.footer-cta{

    background:linear-gradient(
        135deg,
        #1f5d3a,
        #2f855a
    );

    padding:70px 0;

}


.cta-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:60px;

    flex-wrap:wrap;

}


.cta-text{

    flex:1;

}


.cta-text h2{

    font-size:2.3rem;

    font-weight:700;

    margin-bottom:20px;

    color:#ffffff;

}


.cta-text p{

    max-width:650px;

    line-height:1.8;

    color:rgba(255,255,255,.85);

}


/*==============================
    CTA BUTTONS
==============================*/

.cta-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}


.btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    padding:16px 32px;

    border-radius:50px;

    font-weight:600;

    transition:.35s ease;

}


.btn-primary{

    background:#ffffff;

    color:#1f5d3a;

}


.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 30px rgba(0,0,0,.18);

}


.btn-secondary{

    border:2px solid #ffffff;

    color:#ffffff;

}


.btn-secondary:hover{

    background:#ffffff;

    color:#1f5d3a;

}


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

.footer-main{

    padding:80px 0;

}


.footer-grid{

    display:grid;

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

    gap:50px;

}


.footer-column h3{

    font-size:1.2rem;

    margin-bottom:28px;

    position:relative;

}


.footer-column h3::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-10px;

    width:45px;

    height:3px;

    background:#f7941d;

    border-radius:20px;

}


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

.footer-logo{

    width:120px;

    margin-bottom:25px;

}


.footer-column p{

    color:#cbd5e1;

    line-height:1.9;

}

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

.footer-column ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-column ul li{

    margin-bottom:15px;

}

.footer-column ul li a{

    color:#cbd5e1;

    text-decoration:none;

    transition:.3s ease;

    display:inline-flex;

    align-items:center;

    gap:10px;

}

.footer-column ul li a:hover{

    color:#f7941d;

    transform:translateX(6px);

}


/*======================================================
  CONTACT
======================================================*/

.contact-list li{

    display:flex;

    align-items:flex-start;

    gap:12px;

    color:#cbd5e1;

    line-height:1.7;

}

.contact-list i{

    color:#f7941d;

    font-size:1rem;

    margin-top:4px;

    min-width:18px;

}


/*======================================================
  SOCIAL ICONS
======================================================*/

.footer-social{

    display:flex;

    gap:15px;

    margin-top:30px;

}

.footer-social a{

    width:46px;

    height:46px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#ffffff;

    text-decoration:none;

    transition:.35s ease;

}

.footer-social a:hover{

    background:#f7941d;

    transform:translateY(-6px);

}


/*======================================================
  COPYRIGHT
======================================================*/

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    padding:25px 0;

}

.footer-bottom-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

}

.footer-bottom p{

    color:#94a3b8;

    font-size:.92rem;

    margin:0;

}

.footer-bottom strong{

    color:#ffffff;

}


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

@media (max-width:1100px){

    .footer-grid{

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

    }

}

@media (max-width:768px){

    .footer{

        margin-top:80px;

    }

    .footer-cta{

        padding:55px 0;

        text-align:center;

    }

    .cta-content{

        flex-direction:column;

    }

    .cta-buttons{

        justify-content:center;

    }

    .footer-grid{

        grid-template-columns:1fr;

        gap:45px;

    }

    .footer-column{

        text-align:center;

    }

    .footer-column h3::after{

        left:50%;

        transform:translateX(-50%);

    }

    .footer-logo{

        margin-inline:auto;

    }

    .footer-social{

        justify-content:center;

    }

    .contact-list li{

        justify-content:center;

    }

    .footer-bottom-content{

        flex-direction:column;

        text-align:center;

    }

}

@media (max-width:480px){

    .cta-text h2{

        font-size:1.8rem;

    }

    .cta-buttons{

        flex-direction:column;

    }

    .btn{

        width:100%;

    }

}

/* Footer Animation */

.footer{

    opacity:1;

    transform:none;

}

.footer-logo {
    width: 120px;
    height: 120px;

    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;

    display: block;
}


.footer{

    margin-top:0;

}

/*======================================================
  RESPONSIVE AMÉLIORÉ
======================================================*/

/* Grandes tablettes */
@media (max-width:992px){

    .footer-grid{

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

        gap:40px;

    }

    .cta-content{

        gap:40px;

    }

}


/* Tablettes */
@media (max-width:768px){

    .footer{

        margin-top:70px;

    }

    .footer-main{

        padding:60px 0;

    }

    .footer-cta{

        padding:50px 0;

    }

    .cta-content{

        flex-direction:column;

        text-align:center;

    }

    .cta-text{

        width:100%;

    }

    .cta-text h2{

        font-size:2rem;

    }

    .cta-text p{

        max-width:100%;

        margin:auto;

    }

    .cta-buttons{

        justify-content:center;

    }

    .footer-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

    .footer-column{

        text-align:center;

    }

    .footer-column h3::after{

        left:50%;

        transform:translateX(-50%);

    }

    .footer-logo{

        margin-inline:auto;

    }

    .footer-social{

        justify-content:center;

    }

    .contact-list li{

        justify-content:center;

    }

    .footer-bottom-content{

        flex-direction:column;

        text-align:center;

    }

}


/* Smartphones */
@media (max-width:576px){

    .footer{

        margin-top:60px;

    }

    .footer-main{

        padding:50px 0;

    }

    .footer-cta{

        padding:40px 0;

    }

    .cta-text h2{

        font-size:1.7rem;

        line-height:1.3;

    }

    .cta-text p{

        font-size:.95rem;

    }

    .cta-buttons{

        flex-direction:column;

        width:100%;

    }

    .btn{

        width:100%;

    }

    .footer-logo{

        width:100px;

        height:100px;

    }

    .footer-social{

        flex-wrap:wrap;

    }

}


/* Très petits écrans */
@media (max-width:360px){

    .cta-text h2{

        font-size:1.5rem;

    }

    .footer-column h3{

        font-size:1.05rem;

    }

    .footer-bottom p{

        font-size:.85rem;

    }

}