*{
margin:0;
padding:0;
box-sizing:border-box;
}


body{

font-family:'Montserrat',sans-serif;
color:#333;

}



/* NAVBAR */

.navbar{

background:white;
padding:18px 0;
box-shadow:0 5px 20px rgba(0,0,0,.08);

}


.navbar-brand{

color:#003B5C;
font-size:24px;

}


.nav-link{

color:#333;
font-weight:500;
margin-left:20px;

}



.btn-primary{

background:#005B8F;
border:none;
padding:12px 25px;
border-radius:30px;

}





/* HERO */


.hero{

height:100vh;

background:

linear-gradient(
rgba(0,0,0,.45),
rgba(0,0,0,.45)
),

url('../images/hero.jpg');

background-size:cover;

background-position:center;

display:flex;

align-items:center;

color:white;

}



.hero h1{

font-size:55px;
font-weight:800;

}


.hero h1 span{

color:#ffd166;

}


.hero p{

font-size:20px;
margin:25px 0;

}



.btn-gold{

background:#d4a017;
color:white;
padding:15px 35px;
border-radius:40px;
font-weight:600;

}

/* ==========================
 HERO COM IMAGEM
========================== */


.hero-image{


height:75vh;

min-height:550px;

position:relative;

display:flex;

align-items:center;

color:white;


background-image:

url('../images.jpg');


background-size:cover;

background-position:center;


}



/* Overlay azul premium */


.hero-overlay{


position:absolute;

inset:0;


background:

linear-gradient(
90deg,
rgba(0,45,80,.85),
rgba(0,91,143,.35)
);


}




.hero-image .container{


position:relative;
padding-top:40px;
z-index:2;


}




.hero-image h1{


font-size:58px;

font-weight:800;

line-height:1.1;

max-width:650px;


}



.hero-image p{


font-size:21px;

max-width:600px;

margin:25px 0;


}



.hero-buttons{


display:flex;

gap:20px;

}





@media(max-width:768px){


.hero-image{


height:65vh;

min-height:500px;


}



.hero-image h1{


font-size:38px;


}



.hero-image p{


font-size:17px;


}



.hero-buttons{


flex-direction:column;

align-items:flex-start;


}


}




/* TITULOS */


.section-title span{

color:#d4a017;
font-weight:600;

}


.section-title h2{

font-size:40px;
font-weight:700;

}





/* DESTINOS */


.destination-card{

position:relative;
overflow:hidden;
border-radius:20px;

}



.destination-card img{

width:100%;
height:350px;
object-fit:cover;

}



.destination-card .content{

position:absolute;
bottom:0;
width:100%;
padding:30px;

background:
linear-gradient(
transparent,
rgba(0,0,0,.8)
);

color:white;

}







/* PASSEIOS */


.tour-card{

background:white;
border-radius:20px;
overflow:hidden;
box-shadow:0 15px 35px rgba(0,0,0,.1);

transition:.4s;

}



.tour-card:hover{

transform:translateY(-10px);

}



.tour-card img{

width:100%;
height:250px;
object-fit:cover;

}


.tour-content{

padding:25px;

}


.btn-tour{

background:#005B8F;
color:white;
border-radius:30px;

}






/* DIFERENCIAIS */


.features{

background:#f8f8f8;

}


.feature-box{

text-align:center;
padding:35px;
background:white;
border-radius:20px;

}



.feature-box i{

font-size:40px;
color:#005B8F;
margin-bottom:20px;

}






/* CTA */


.cta-section{

background:

linear-gradient(
90deg,
#003B5C,
#008FC4
);

padding:80px 0;

color:white;

}








/* DEPOIMENTOS */


.testimonial{

background:white;

padding:35px;

border-radius:20px;

box-shadow:
0 10px 30px rgba(0,0,0,.08);

}



.quote{

font-size:35px;
color:#d4a017;

}


.stars{

color:#ffc107;

}







/* FOOTER */


.footer{

background:#003B5C;
color:white;
padding:60px 0 20px;

}


.footer a{

color:white;
text-decoration:none;

}


.footer ul{

list-style:none;
padding:0;

}



.developer{

color:#d4a017;

}







/* WHATSAPP */


.whatsapp-float{

position:fixed;

right:25px;

bottom:25px;

width:65px;

height:65px;

background:#25d366;

color:white;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:35px;

z-index:999;

box-shadow:
0 10px 25px rgba(0,0,0,.3);

animation:pulse 2s infinite;

}



@keyframes pulse{

0%{
transform:scale(1);
}


50%{
transform:scale(1.1);
}


100%{
transform:scale(1);
}

}






/* MOBILE */


@media(max-width:768px){


.hero h1{

font-size:38px;

}


.section-title h2{

font-size:30px;

}


.destination-card img{

height:300px;

}


}

.hero-video{

height:100vh;
position:relative;
overflow:hidden;
display:flex;
align-items:center;
color:white;

}


.hero-video video{

position:absolute;
width:100%;
height:100%;
object-fit:cover;

}



.hero-overlay{

position:absolute;
inset:0;

background:

linear-gradient(
90deg,
rgba(0,0,0,.75),
rgba(0,0,0,.25)
);

}



.hero-video .container{

position:relative;
z-index:2;

}



.hero-video h1{

font-size:65px;
font-weight:800;
line-height:1.1;

}



.hero-video p{

font-size:22px;
margin:30px 0;

}



.hero-buttons{

display:flex;
gap:20px;

}



@media(max-width:768px){

.hero-video h1{

font-size:40px;

}

}

.map-box iframe{

width:100%;
height:450px;
border:0;
border-radius:25px;

}



.reservation{

background:#f7f7f7;

}



.reservation-box{

background:white;
padding:45px;
border-radius:25px;

box-shadow:
0 20px 50px rgba(0,0,0,.1);

}



.reservation-box input{

margin-bottom:15px;
height:55px;

}

.language-selector{

display:flex;

gap:10px;

align-items:center;

}

.language-selector button{

background:white;

border:none;

font-size:22px;

cursor:pointer;

transition:.3s;

}

.language-selector button:hover{

transform:scale(1.2);

}

.language-selector{

display:flex;
gap:8px;

margin-left:25px;

}

.lang-btn{

width:38px;

height:38px;

border:none;

border-radius:50%;

background:#FFF;

cursor:pointer;

font-size:18px;

transition:.3s;

box-shadow:0 3px 10px rgba(0,0,0,.15);

}

.lang-btn:hover{

transform:translateY(-3px);

}

.lang-btn.active{

background:#f4b400;

transform:scale(1.1);

}

/*======================================
            HERO
======================================*/

.hero-section{

position:relative;

background:url('../images/banner.jpg') center center;

background-size:cover;

background-repeat:no-repeat;

overflow:hidden;

}

.hero-overlay{

position:absolute;

left:0;

top:0;

width:100%;

height:100%;

background:linear-gradient(
90deg,
rgba(0,0,0,.75),
rgba(0,0,0,.35)
);

}

.hero-section .container{

position:relative;

z-index:10;

}

.hero-title{

font-size:64px;

font-weight:700;

line-height:1.15;

color:#FFF;

margin:20px 0;

}

.hero-description{

font-size:20px;

line-height:1.8;

color:#FFF;

opacity:.95;

max-width:620px;

}

.hero-subtitle{

display:inline-block;

background:#F4B400;

padding:10px 20px;

border-radius:50px;

font-weight:600;

}

.hero-buttons{

display:flex;

gap:20px;

margin-top:40px;

flex-wrap:wrap;

}

.hero-info{

display:flex;

gap:30px;

margin-top:60px;

flex-wrap:wrap;

}

.hero-item{

text-align:center;

color:#FFF;

}

.hero-item i{

font-size:32px;

color:#F4B400;

margin-bottom:10px;

}

.hero-item h4{

font-size:34px;

margin:0;

}

.hero-item p{

margin-top:5px;

opacity:.9;

}

.hero-image{

max-height:650px;

animation:float 5s ease-in-out infinite;

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}

@media(max-width:991px){

.hero-title{

font-size:42px;

}

.hero-description{

font-size:18px;

}

.hero-info{

justify-content:center;

}

}


/*======================================
            ABOUT
======================================*/

.about-section{

background:#ffffff;

padding:100px 0;

}

.section-subtitle{

display:inline-block;

padding:8px 18px;

background:#F4B400;

color:#000;

border-radius:30px;

font-weight:600;

font-size:15px;

}

.section-title{

font-size:46px;

font-weight:700;

margin-bottom:25px;

color:#1d1d1d;

}

.section-text{

font-size:17px;

line-height:1.9;

color:#666;

margin-bottom:20px;

}

.about-image img{

transition:.4s;

}

.about-image img:hover{

transform:scale(1.03);

}

.about-box{

background:#fff;

padding:30px;

border-radius:18px;

text-align:center;

box-shadow:0 10px 35px rgba(0,0,0,.08);

height:100%;

transition:.3s;

}

.about-box:hover{

transform:translateY(-8px);

}

.about-box i{

font-size:38px;

color:#F4B400;

margin-bottom:15px;

}

.about-box h4{

font-size:32px;

font-weight:700;

margin-bottom:5px;

}

.about-box p{

margin:0;

color:#666;

}

@media(max-width:991px){

.section-title{

font-size:34px;

text-align:center;

}

.section-subtitle{

display:block;

width:max-content;

margin:auto;

}

.section-text{

text-align:center;

}

}


/*======================================
            TOURS
======================================*/

.tours-section{

    background:#f8f9fa;

}

.tour-card{

    background:#FFF;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.tour-card:hover{

    transform:translateY(-10px);

}

.tour-card img{

    width:100%;

    height:250px;

    object-fit:cover;

}

.tour-body{

    padding:30px;

}

.tour-body h3{

    font-size:26px;

    font-weight:700;

}

.tour-body p{

    color:#666;

    margin:18px 0;

}

.tour-info{

    list-style:none;

    padding:0;

    margin:25px 0;

}

.tour-info li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:12px;

}

.tour-info i{

    color:#f4b400;

}


/*======================================
        DIFERENCIAIS
======================================*/

.advantages-section{

    background:#ffffff;

}

.advantage-card{

    background:#fff;

    border-radius:20px;

    padding:35px;

    text-align:center;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.advantage-card:hover{

    transform:translateY(-8px);

}

.advantage-card .icon{

    width:80px;

    height:80px;

    border-radius:50%;

    background:#f4b400;

    color:#FFF;

    margin:0 auto 25px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

}

.advantage-card h4{

    font-size:24px;

    font-weight:700;

    margin-bottom:15px;

}

.advantage-card p{

    color:#666;

    line-height:1.8;

}



/*==================================
        RESERVA
==================================*/

.reservation-section{

    background:#f8f9fa;

}

.reservation-card{

    background:#FFF;

    padding:40px;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.reservation-list{

    margin-top:35px;

}

.reservation-list div{

    margin-bottom:18px;

    display:flex;

    align-items:center;

    gap:15px;

}

.reservation-list i{

    color:#f4b400;

    font-size:22px;

}

.form-control,
.form-select{

    height:55px;

    border-radius:12px;

}

textarea.form-control{

    height:auto;

}


/*==================================
        TESTIMONIALS
==================================*/

.testimonials-section{

background:#FFF;

}

.testimonial-card{

padding:35px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

height:100%;

background:#FFF;

}

.stars{

color:#f4b400;

font-size:24px;

margin-bottom:20px;

}

.counter-section{

padding:70px 0;

background:#f4b400;

color:#FFF;

}

.counter-section h2{

font-size:48px;

font-weight:700;

}

.cta-section{

padding:100px 0;

background:#1d1d1d;

color:#FFF;

}

footer{

background:#111;

color:#FFF;

padding:70px 0 30px;

}

footer a{

color:#FFF;

text-decoration:none;

}

footer ul{

list-style:none;

padding:0;

}

.social-icons{

display:flex;

gap:15px;

font-size:24px;

margin-top:20px;

}

.social-icons a{

color:#FFF;

transition:.3s;

}

.social-icons a:hover{

color:#f4b400;

}