.contact-section{

    padding:120px 0;

    background:#fafafa;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:start;

}

.contact-info h2{

    font-size:clamp(2rem,4vw,3.5rem);

    margin:20px 0;

}

.contact-info p{

    color:#666;

    line-height:1.9;

    margin-bottom:40px;

}


.contact-form-card{

    background:#fff;

    padding:45px;

    border-radius:30px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.contact-form-card .form-control{

    min-height:58px;

    border-radius:14px;

    border:1px solid #e5e7eb;

}

.contact-form-card textarea{

    min-height:180px;

}

.contact-btn{

    width:100%;

    border:none;

    padding:18px;

    border-radius:50px;

    color:#fff;

    font-weight:700;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

}

@media(max-width:992px){

    .contact-wrapper{

        grid-template-columns:1fr;

    }

}

.contact-info-section{

    padding:100px 0 60px;

}

.section-heading{

    text-align:center;

    max-width:700px;

    margin:0 auto 60px;

}

.contact-cards-grid{

    display:grid;

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

    gap:25px;

}

.contact-card{

    background:#fff;

    border-radius:24px;

    padding:40px 30px;

    text-align:center;

    box-shadow:0 15px 40px rgba(0,0,0,.06);

    transition:.3s;

}

.contact-card:hover{

    transform:translateY(-8px);

}

.contact-card .icon{

    width:80px;
    height:80px;

    margin:0 auto 20px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    color:#fff;

    font-size:28px;

}

.contact-card h4{

    margin-bottom:10px;

}

.contact-card p{

    color:#666;

    margin:0;

}
.contact-form-section{

    padding:60px 0 120px;

}

.contact-form-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:center;

}

.contact-image img{

    width:100%;

    height:700px;

    object-fit:cover;

    border-radius:30px;

}

.contact-form-card{

    background:#fff;

    padding:50px;

    border-radius:30px;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.form-header{

    margin-bottom:35px;

}

.form-header h3{

    font-size:2rem;

    margin:15px 0;

}

.contact-form-card .form-control{

    min-height:60px;

    border-radius:14px;

    border:1px solid #e5e7eb;

    padding:15px 20px;

}

.contact-form-card textarea{

    min-height:180px;

}

.contact-btn{

    width:100%;

    border:none;

    padding:18px;

    border-radius:50px;

    color:#fff;

    font-weight:700;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--accent)
    );

    transition:.3s;

}

.contact-btn:hover{

    transform:translateY(-4px);

}

.contact-map{

    margin-top:0;

}

.contact-map iframe{

    display:block;

    width:100%;

}

.contact-map{

    margin-top:0;

}

.contact-map iframe{

    display:block;

    width:100%;

}

.contact-card a{

    color: inherit;

    text-decoration: none;

    transition: .3s;

}

.contact-card a:hover{

    color: var(--primary);

}

.contact-card p{

    margin-bottom: 8px;

}

/* ==========================
   WHATSAPP FLOATING
========================== */

.floating-whatsapp{

    position:fixed;

    right:30px;

    bottom:110px;

    z-index:999;

    display:flex;

    align-items:center;

    gap:15px;

    text-decoration:none;

}

.whatsapp-tooltip{

    background:#fff;

    padding:14px 18px;

    border-radius:18px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.12);

    color:#1f2937;

    font-size:14px;

    line-height:1.4;

    transition:.35s;

}

.whatsapp-tooltip span{

    display:block;

    font-size:13px;

    color:#6b7280;

}

.whatsapp-icon{

    width:70px;

    height:70px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #25D366,
        #128C7E
    );

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:34px;

    box-shadow:
    0 15px 35px rgba(37,211,102,.35);

    animation:whatsappPulse 2s infinite;

    transition:.35s;

}

.floating-whatsapp:hover .whatsapp-icon{

    transform:scale(1.08);

}

.floating-whatsapp:hover .whatsapp-tooltip{

    transform:translateX(-5px);

}

@keyframes whatsappPulse{

    0%{
        box-shadow:
        0 0 0 0 rgba(37,211,102,.5);
    }

    70%{
        box-shadow:
        0 0 0 18px rgba(37,211,102,0);
    }

    100%{
        box-shadow:
        0 0 0 0 rgba(37,211,102,0);
    }

}
/* ==========================
   BACK TO TOP
========================== */

#backToTop{

    position:fixed;

    right:30px;

    bottom:25px;

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    z-index:999;

    color:#fff;

    font-size:20px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

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

    transition:.35s;

    opacity:0;

    visibility:hidden;

}

#backToTop.show{

    opacity:1;

    visibility:visible;

}

#backToTop:hover{

    transform:translateY(-6px);

    box-shadow:
    0 20px 40px rgba(0,0,0,.25);

}

#backToTop i{

    transition:.3s;

}

#backToTop:hover i{

    transform:translateY(-3px);

}

@media(max-width:768px){

    .whatsapp-tooltip{

        display:none;

    }

    .floating-whatsapp{

        right:20px;

        bottom:95px;

    }

    .whatsapp-icon{

        width:60px;
        height:60px;

        font-size:28px;

    }

    #backToTop{

        right:20px;

        width:55px;
        height:55px;

    }

}

/* ==========================================
   TABLETTE
========================================== */

@media (max-width: 992px){

    .contact-cards-grid{

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

        gap:25px;
    }

    .contact-form-wrapper{

        grid-template-columns:1fr;

        gap:40px;
    }

    .contact-image{

        height:450px;
    }

    .contact-image img{

        width:100%;
        height:100%;

        object-fit:cover;
    }

    .contact-form-card{

        padding:40px 30px;
    }

    .section-heading h2{

        font-size:2.3rem;
    }

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 768px){

    .contact-info-section,
    .contact-form-section{

        padding:70px 0;
    }

    .contact-cards-grid{

        grid-template-columns:1fr;

        gap:20px;
    }

    .contact-card{

        padding:30px 25px;
    }

    .contact-card h4{

        font-size:1.2rem;
    }

    .contact-form-wrapper{

        grid-template-columns:1fr;

        gap:30px;
    }

    .contact-image{

        height:320px;

        border-radius:20px;

        overflow:hidden;
    }

    .contact-image img{

        width:100%;
        height:100%;

        object-fit:cover;
    }

    .contact-form-card{

        padding:30px 20px;
    }

    .section-heading{

        margin-bottom:50px;
    }

    .section-heading h2{

        font-size:2rem;
        line-height:1.3;
    }

    .section-heading p{

        font-size:.95rem;
    }

    .form-header h3{

        font-size:1.8rem;
    }

    .form-control{

        padding:14px 16px;
    }

    .contact-btn{

        width:100%;

        justify-content:center;
    }

}

/* ==========================================
   PETITS SMARTPHONES
========================================== */

@media (max-width: 576px){

    .contact-info-section,
    .contact-form-section{

        padding:60px 0;
    }

    .section-heading h2{

        font-size:1.7rem;
    }

    .form-header h3{

        font-size:1.5rem;
    }

    .contact-card{

        padding:25px 20px;
    }

    .contact-card .icon{

        width:60px;
        height:60px;

        font-size:22px;
    }

    .contact-image{

        height:250px;
    }

    .contact-form-card{

        padding:25px 15px;
    }

}