.contact-hero{

    position:relative;

    padding:180px 0 120px;

    overflow:hidden;

    background:
        radial-gradient(circle at top right,
        rgba(1,151,250,.12),
        transparent 40%),

        linear-gradient(
        180deg,
        rgb(6,30,66) 0%,
        rgb(4,22,48) 100%);

}

.contact-hero-container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:70px;

}
.contact-hero-text{

    width:52%;

}

.contact-hero-text h1{

    font-size:58px;

    font-weight:800;

    line-height:1.1;

    color:#fff;

    margin:20px 0;

}

.contact-hero-text p{

    font-size:18px;

    color:#d6dce6;

    line-height:1.8;

    max-width:620px;

}

.contact-hero-image{

    width:48%;

    position:relative;

}

.contact-hero-image img{

    width:100%;

    position:relative;

    z-index:2;

    animation:truckFloat 6s ease-in-out infinite;

}

.hero-glow{

    position:absolute;

    width:380px;

    height:380px;

    background:rgba(1,151,250,.28);

    filter:blur(90px);

    border-radius:50%;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    z-index:1;

}

.contact-cards{

    padding:90px 0;

    background:#fff;

}
.contact-cards .container{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.contact-card{

    background:#fff;

    border-radius:22px;

    padding:35px;

    text-align:center;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

    transition:.35s;

    border:1px solid rgba(0,0,0,.05);

}
.contact-card:hover{

    transform:translateY(-10px);

    border-color:rgb(1,151,250);

}
.contact-icon{

    width:80px;

    height:80px;

    margin:auto;

    border-radius:50%;

    background:rgb(6,30,66);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    margin-bottom:25px;

}

/*=====================================
        FORMULÁRIO
======================================*/

.contact-form-section{

    position:relative;

    padding:120px 0;

    background:#f7f9fc;

    overflow:hidden;

}


.contact-form-section::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    background:rgba(1,151,250,.08);

    border-radius:50%;

    top:-150px;

    right:-150px;

    filter:blur(80px);

}



.contact-grid{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:70px;

    align-items:center;

    position:relative;

    z-index:2;

}



/*=====================================
        TEXTO
======================================*/

.contact-form h2{

    font-size:42px;

    color:rgb(6,30,66);

    margin:18px 0;

}



.contact-form p{

    color:#666;

    line-height:1.8;

    margin-bottom:40px;

}



/*=====================================
        FORMULÁRIO
======================================*/

#contactForm{

    background:#fff;

    padding:40px;

    border-radius:24px;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

    border:1px solid rgba(0,0,0,.05);

}



/*=====================================
        LINHAS
======================================*/

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-bottom:20px;

}



/*=====================================
        INPUTS
======================================*/

#contactForm input,
#contactForm select,
#contactForm textarea{

    width:100%;

    padding:18px 20px;

    border:1px solid #d9d9d9;

    border-radius:14px;

    font-size:15px;

    font-family:inherit;

    transition:.30s;

    outline:none;

    background:#fff;

}



#contactForm textarea{

    resize:none;

    margin-top:20px;

}



#contactForm select{

    margin-top:20px;

}



/*=====================================
        FOCUS
======================================*/

#contactForm input:focus,
#contactForm select:focus,
#contactForm textarea:focus{

    border-color:rgb(1,151,250);

    box-shadow:0 0 0 5px rgba(1,151,250,.10);

}



/*=====================================
        BOTÃO
======================================*/

#contactForm button{

    margin-top:30px;

    width:100%;

    border:none;

    cursor:pointer;

}



/*=====================================
        IMAGEM
======================================*/

.contact-side{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}



.contact-side img{

    width:100%;

    max-width:620px;

    position:relative;

    z-index:2;

    animation:truckFloat 6s ease-in-out infinite;

}



/*=====================================
        GLOW
======================================*/

.contact-side::before{

    content:"";

    position:absolute;

    width:360px;

    height:360px;

    border-radius:50%;

    background:rgba(1,151,250,.22);

    filter:blur(90px);

    z-index:1;

}



/*=====================================
        SELOS
======================================*/

.contact-badges{

    display:flex;

    gap:18px;

    margin-top:30px;

    flex-wrap:wrap;

}



.contact-badge{

    display:flex;

    align-items:center;

    gap:10px;

    background:#fff;

    padding:14px 20px;

    border-radius:40px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    font-size:14px;

    color:rgb(6,30,66);

    font-weight:600;

}



.contact-badge i{

    color:rgb(217,174,31);

    font-size:18px;

}
/*=====================================
            MAPA
======================================*/

.contact-map{

    padding:120px 0;

    background:#fff;

}



.contact-map .section-header{

    text-align:center;

    max-width:800px;

    margin:0 auto 60px;

}



.contact-map .section-header span{

    color:rgb(1,151,250);

    font-weight:700;

    letter-spacing:2px;

    font-size:14px;

}



.contact-map .section-header h2{

    font-size:42px;

    color:rgb(6,30,66);

    margin:20px 0;

}



.contact-map .section-header p{

    color:#666;

    line-height:1.8;

}



.map-box{

    overflow:hidden;

    border-radius:25px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    border:1px solid rgba(0,0,0,.05);

}



.map-box iframe{

    width:100%;

    height:500px;

    border:none;

    display:block;

}
/*=====================================
                CTA
======================================*/

.contact-cta{

    padding:120px 0;

    background:

    linear-gradient(

    135deg,

    rgb(6,30,66),

    rgb(3,17,39)

    );

}



.cta-box{

    text-align:center;

    color:#fff;

    max-width:900px;

    margin:auto;

}



.cta-box span{

    color:rgb(217,174,31);

    letter-spacing:2px;

    font-weight:700;

}



.cta-box h2{

    font-size:48px;

    margin:20px 0;

}



.cta-box p{

    color:#d7dce6;

    max-width:700px;

    margin:auto;

    line-height:1.8;

}



.cta-buttons{

    margin-top:40px;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}
/*=====================================
        LOCALIZAÇÃO
======================================*/


.contact-map{

    padding:120px 0;

    background:#f7f9fc;

}



.location-grid{

    display:grid;

    grid-template-columns: .9fr 1.1fr;

    gap:60px;

    align-items:center;

}





/* INFORMAÇÕES */


.location-info{

    background:#fff;

    padding:45px;

    border-radius:30px;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

}



.location-info h2{

    font-size:38px;

    color:rgb(6,30,66);

    line-height:1.2;

    margin:20px 0;

}



.location-info p{

    color:#666;

    line-height:1.8;

    margin-bottom:35px;

}




.location-item{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:25px;

}




.location-icon{

    width:55px;

    height:55px;

    min-width:55px;

    border-radius:50%;

    background:rgb(6,30,66);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

}




.location-item strong{

    display:block;

    color:rgb(6,30,66);

    font-size:16px;

}



.location-item span{

    color:#777;

    font-size:14px;

}




/* MAPA */


.location-map{

    height:100%;

}



.location-map .map-box{

    height:100%;

    min-height:550px;

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 25px 70px rgba(0,0,0,.15);

}



.location-map iframe{

    width:100%;

    height:550px;

    border:0;

    display:block;

}

/*=====================================
        ALERTAS FORMULÁRIO
======================================*/


.form-alert{

    max-width:900px;

    margin:30px auto;

    padding:25px 35px;

    border-radius:20px;

    display:flex;

    align-items:center;

    gap:20px;

    animation:alertShow .5s ease;

}



.form-alert i{

    font-size:35px;

}




.form-alert strong{

    display:block;

    font-size:20px;

    margin-bottom:5px;

}



.form-alert p{

    margin:0;

}





.form-alert.success{

    background:rgba(40,167,69,.12);

    border:1px solid rgba(40,167,69,.3);

    color:#198754;

}





.form-alert.error{

    background:rgba(220,53,69,.12);

    border:1px solid rgba(220,53,69,.3);

    color:#dc3545;

}




@keyframes alertShow{

    from{

        opacity:0;

        transform:translateY(-20px);

    }


    to{

        opacity:1;

        transform:translateY(0);

    }

}