/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    background:#fafafa;
    color:#222;
    overflow-x:hidden;

}

img{

    width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

.container{

    width:min(1200px,92%);
    margin:auto;

}

/*==============================
CORES
==============================*/

:root{

    --verde:#2f6b46;
    --verde-escuro:#214b31;
    --dourado:#c8a86a;
    --cinza:#777;
    --claro:#fafafa;
    --branco:#ffffff;
    --sombra:0 20px 60px rgba(0,0,0,.12);

}

/*==============================
HEADER
==============================*/

#header{

    position:fixed;

    top:25px;

    left:50%;

    transform:translateX(-50%);

    width:96%;

    max-width:1500px;

    z-index:999;

}

#header .container{

    height:82px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 35px;

    border-radius:60px;

    backdrop-filter:blur(30px);

    background:rgba(255,255,255,.25);

    border:1px solid rgba(255,255,255,.25);

    transition:.4s;

}

#header.scrolled .container{

    background:#fff;

    box-shadow:var(--sombra);

}

.logo{

    width:200px;

}

nav{

    display:flex;

    gap:40px;

}

nav a{

    color:#fff;

    font-size:15px;

    font-weight:500;

    transition:.3s;

}

#header.scrolled nav a{

    color:#222;

}

nav a:hover{

    color:var(--dourado);

}

.btn-reservar{

    padding:14px 30px;

    border-radius:40px;

    background:var(--verde);

    color:#fff;

    font-weight:600;

    transition:.35s;

}

.btn-reservar:hover{

    transform:translateY(-3px);

    background:var(--verde-escuro);

}

.menu-mobile{

    display:none;

    background:none;

    border:none;

    color:#fff;

    font-size:30px;

    cursor:pointer;

}
/*==============================
HERO
==============================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    background:url("../img/fotocapa.jpg") center center/cover no-repeat;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(0,0,0,.18),
        rgba(0,0,0,.28)
    );

}

.hero-container{

    position:relative;

    z-index:5;

    color:#fff;

    max-width:760px;

}

.hero-tag{

    display:inline-block;

    letter-spacing:3px;

    color:var(--dourado);

    font-size:14px;

    margin-bottom:20px;

}

.hero h1{

    font-family:'Playfair Display',serif;

    font-size:72px;

    line-height:1.1;

    margin-bottom:30px;

}

.hero p{

    font-size:20px;

    line-height:1.9;

    margin-bottom:45px;

    max-width:620px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.btn-principal{

    padding:18px 42px;

    border-radius:45px;

    background:var(--verde);

    color:#fff;

    font-weight:600;

    transition:.35s;

}

.btn-principal:hover{

    background:var(--verde-escuro);

    transform:translateY(-5px);

}
.btn-mapa{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    margin-top:15px;

    padding:16px;

    border-radius:50px;

    background:#4285F4;

    color:#fff;

    font-weight:600;

    text-decoration:none;

    transition:.35s;

}

.btn-mapa:hover{

    background:#2b6fd6;

    transform:translateY(-3px);

}
.btn-secundario{

    padding:18px 42px;

    border-radius:45px;

    border:2px solid #fff;

    color:#fff;

    transition:.35s;

}

.btn-secundario:hover{

    background:#fff;

    color:#222;

}

.scroll{

    position:absolute;

    left:50%;

    bottom:40px;

    transform:translateX(-50%);

    color:#fff;

    font-size:28px;

    animation:descer 2s infinite;

}

@keyframes descer{

    0%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,12px);

    }

    100%{

        transform:translate(-50%,0);

    }

}
/*==================================================
SOBRE
==================================================*/

.sobre{

    padding:140px 0;
    background:#fff;

}

.sobre .container{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;

}

.sobre-imagem{

    position:relative;

}

.sobre-imagem img{

    border-radius:30px;
    box-shadow:0 35px 70px rgba(0,0,0,.18);

}

.sobre-conteudo .section-tag{

    color:var(--dourado);
    letter-spacing:4px;
    font-size:14px;
    font-weight:600;

}

.sobre-conteudo h2{

    font-family:'Playfair Display',serif;
    font-size:52px;
    margin:20px 0 30px;
    line-height:1.15;

}

.sobre-conteudo p{

    color:#666;
    font-size:18px;
    line-height:1.9;
    margin-bottom:25px;

}

.sobre-destaques{

    margin-top:50px;
    display:flex;
    flex-direction:column;
    gap:25px;

}

.sobre-destaques .item{

    display:flex;
    gap:22px;
    align-items:flex-start;

}

.sobre-destaques i{

    width:65px;
    height:65px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:var(--verde);
    color:#fff;
    font-size:24px;

    flex-shrink:0;

}

.sobre-destaques h3{

    margin-bottom:8px;
    font-size:22px;

}

.sobre-destaques span{

    color:#777;
    line-height:1.7;

}
/* TÍTULO DA GALERIA */

.galeria-premium{
    text-align:center;
}

.galeria-premium .section-tag{
    color: var(--dourado);
    letter-spacing:4px;
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
}

.galeria-premium h2{
    font-family:'Playfair Display', serif;
    font-size:52px;
    font-weight:700;
    line-height:1.15;
    margin:20px 0 30px;
    color:#1d2230;
}

.galeria-premium p{
    color:#666;
    font-size:18px;
    line-height:1.9;
}
/*==================================================
NÚMEROS
==================================================*/

.numeros{

    padding:90px 0;

    background:linear-gradient(
        135deg,
        var(--verde),
        var(--verde-escuro)
    );

}

.numeros .container{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;

}

.numero{

    text-align:center;
    color:#fff;

}

.numero h2{

    font-size:58px;
    font-family:'Playfair Display',serif;
    color:var(--dourado);
    margin-bottom:12px;

}

.numero span{

    font-size:18px;
    letter-spacing:1px;

}

/*==================================================
TÍTULOS
==================================================*/

.section-title{

    text-align:center;
    margin-bottom:80px;

}

.section-title span{

    color:var(--dourado);
    letter-spacing:4px;
    font-size:14px;
    font-weight:600;

}

.section-title h2{

    margin:20px auto;
    max-width:750px;

    font-family:'Playfair Display',serif;
    font-size:52px;

}

.section-title p{

    color:#777;
    font-size:18px;
    line-height:1.8;
    max-width:700px;
    margin:auto;

}

/*==================================================
ESTRUTURA
==================================================*/

.estrutura{

    padding:140px 0;
    background:#f7f7f7;

}

.estrutura-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.estrutura-card{

    background:#fff;
    border-radius:28px;

    padding:50px 35px;

    text-align:center;

    transition:.45s;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.estrutura-card:hover{

    transform:translateY(-12px);

    box-shadow:0 35px 65px rgba(0,0,0,.16);

}

.estrutura-card i{

    width:90px;
    height:90px;

    display:flex;
    justify-content:center;
    align-items:center;

    margin:0 auto 30px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--verde),
        var(--verde-escuro)
    );

    color:#fff;

    font-size:34px;

}

.estrutura-card h3{

    margin-bottom:18px;
    font-size:24px;

}

.estrutura-card p{

    color:#777;
    line-height:1.8;

}
/*==================================================
GALERIA
==================================================*/

.galeria{

    padding:140px 0;
    background:#ffffff;

}

.galeria-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    grid-auto-rows:260px;

    gap:22px;

}

.foto{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    cursor:pointer;

    box-shadow:0 18px 45px rgba(0,0,0,.10);

}

.foto img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.8s;

}

.foto:hover img{

    transform:scale(1.12);

}

.foto::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.65)

    );

    opacity:0;

    transition:.4s;

    z-index:1;

}

.foto:hover::before{

    opacity:1;

}

.overlay{

    position:absolute;

    left:35px;

    bottom:28px;

    z-index:2;

    color:#fff;

    transform:translateY(30px);

    transition:.4s;

}

.foto:hover .overlay{

    transform:translateY(0);

}

.overlay h3{

    font-family:'Playfair Display',serif;

    font-size:30px;

    margin-bottom:8px;

}

.overlay span{

    font-size:15px;

    opacity:.9;

}

.foto-grande{

    grid-column:span 2;

    grid-row:span 2;

}

.foto-horizontal{

    grid-column:span 2;

}
/*==================================================
EXPERIÊNCIAS
==================================================*/

.experiencias{

    padding:40px 0;

    background:#f8f8f8;

}

.experiencias-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}

.experiencias article{

    background:#fff;

    border-radius:30px;

    padding:45px 35px;

    text-align:center;

    transition:.45s;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.experiencias article:hover{

    transform:translateY(-12px);

    box-shadow:0 35px 60px rgba(0,0,0,.15);

}

.experiencias i{

    width:90px;

    height:90px;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:auto;

    border-radius:50%;

    margin-bottom:28px;

    font-size:34px;

    color:#fff;

    background:linear-gradient(

        135deg,

        var(--verde),

        var(--verde-escuro)

    );

}

.experiencias h3{

    margin-bottom:15px;

    font-size:24px;

}

.experiencias p{

    color:#777;

    line-height:1.8;

}
/*==================================================
CTA
==================================================*/

.cta{

    padding:160px 0;

    background:url("../img/fotocapa.jpg") center center/cover fixed;

    position:relative;

}

.cta::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(20,20,20,.65);

}

.cta .container{

    position:relative;

    z-index:2;

}

.cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.cta-box span{

    color:var(--dourado);

    letter-spacing:4px;

    font-size:14px;

}

.cta-box h2{

    margin:30px 0;

    font-family:'Playfair Display',serif;

    font-size:58px;

    line-height:1.2;

}

.cta-box p{

    max-width:700px;

    margin:0 auto 45px;

    font-size:20px;

    line-height:1.8;

}
/*==================================================
DEPOIMENTOS
==================================================*/

.depoimentos{

    padding:140px 0;
    background:#fff;

}

.depoimentos-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.depoimento{

    background:#fff;

    padding:45px;

    border-radius:30px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

    transition:.4s;

}

.depoimento:hover{

    transform:translateY(-12px);

}

.estrelas{

    color:#d4af37;

    margin-bottom:25px;

    font-size:18px;

}

.depoimento p{

    line-height:2;

    color:#666;

    margin-bottom:30px;

}

.depoimento h4{

    font-size:20px;

}
/*==================================================
CONTATO
==================================================*/

.contato{

    padding:140px 0;

}

.contato-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.contato-info h2{

    font-family:'Playfair Display',serif;

    font-size:54px;

    margin:20px 0;

}

.contato-info p{

    color:#666;

    line-height:2;

    margin-bottom:40px;

}

.contato-info li{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:25px;

    font-size:18px;

}

.contato-info i{

    color:var(--verde);

}

.mapa iframe{

    width:100%;

    height:520px;

    border:none;

    border-radius:30px;

}
/*==================================================
FOOTER
==================================================*/

footer{

    background:#183122;

    color:#fff;

}

.footer{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:70px;

    padding:90px 0;

}

.footer img{

    width:180px;

    margin-bottom:30px;

}

.footer p{

    color:#d8d8d8;

    line-height:2;

}

.footer h3{

    margin-bottom:25px;

    font-size:22px;

}

.footer a{

    display:block;

    color:#d8d8d8;

    margin-bottom:18px;

    transition:.3s;

}

.footer a:hover{

    color:#fff;

    padding-left:8px;

}

.copyright{

    border-top:1px solid rgba(255,255,255,.1);

    padding:30px;

    text-align:center;

    color:#cfcfcf;

}
/*==================================================
WHATSAPP
==================================================*/

.whatsapp{

    position:fixed;

    right:30px;

    bottom:30px;

    width:68px;

    height:68px;

    border-radius:50%;

    background:#25D366;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

    box-shadow:0 15px 40px rgba(0,0,0,.30);

    z-index:999;

    transition:.3s;

}

.whatsapp:hover{

    transform:scale(1.12);

}
/*==================================================
RESPONSIVO
==================================================*/

/* Notebook */

@media (max-width:1200px){

    .hero h1{

        font-size:60px;

    }

    .section-title h2{

        font-size:44px;

    }

}

/* Tablet */

@media (max-width:992px){

    #header{

        top:15px;
        width:96%;

    }

    #header .container{

        height:75px;
        padding:0 25px;

    }

    nav{

        position:fixed;

        top:95px;
        left:0;
        right:0;

        background:#fff;

        flex-direction:column;

        align-items:center;

        gap:25px;

        padding:35px;

        box-shadow:0 20px 40px rgba(0,0,0,.15);

        display:none;

        border-radius:25px;

    }

    nav.active{

        display:flex;

    }

    nav a{

        color:#222 !important;

        font-size:17px;

    }

    .menu-mobile{

        display:block;

    }

    .btn-reservar{

        display:none;

    }

    .hero{

        text-align:center;

    }

    .hero-container{

        margin:auto;

    }

    .hero h1{

        font-size:52px;

    }

    .hero p{

        margin:auto auto 40px;

    }

    .hero-buttons{

        justify-content:center;

    }

    .sobre .container{

        grid-template-columns:1fr;

    }

    .sobre-imagem{

        order:-1;

    }

    .estrutura-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .experiencias-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .galeria-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .depoimentos-grid{

        grid-template-columns:1fr;

    }

    .contato-grid{

        grid-template-columns:1fr;

    }

    .footer{

        grid-template-columns:1fr 1fr;

    }

}

/* Celular */

@media (max-width:768px){

    section{

        padding:90px 0 !important;

    }

    .hero{

        min-height:90vh;

    }

    .hero h1{

        font-size:42px;

    }

    .hero p{

        font-size:18px;

    }

    .btn-principal,
    .btn-secundario{

        width:100%;

        text-align:center;

    }

    .section-title h2{

        font-size:34px;

    }

    .sobre-conteudo h2{

        font-size:36px;

    }

    .numeros .container{

        grid-template-columns:repeat(2,1fr);

        gap:40px;

    }

    .estrutura-grid{

        grid-template-columns:1fr;

    }

    .experiencias-grid{

        grid-template-columns:1fr;

    }

    .galeria-grid{

        grid-template-columns:1fr;

        grid-auto-rows:280px;

    }

    .foto-grande,
    .foto-horizontal{

        grid-column:auto;

        grid-row:auto;

    }

    .footer{

        grid-template-columns:1fr;

        text-align:center;

    }

    .footer img{

        margin:auto auto 30px;

    }

    .mapa iframe{

        height:350px;

    }

}

/* Celulares pequenos */

@media (max-width:480px){

    .hero h1{

        font-size:34px;

        line-height:1.2;

    }

    .hero-tag{

        font-size:12px;

        letter-spacing:2px;

    }

    .numero h2{

        font-size:42px;

    }

    .estrutura-card{

        padding:35px 25px;

    }

    .depoimento{

        padding:30px;

    }

    .whatsapp{

        width:58px;
        height:58px;
        font-size:28px;

        right:18px;
        bottom:18px;

    }

}
/*=========================================
ANIMAÇÕES
=========================================*/

.estrutura-card,
.foto,
.experiencias article,
.depoimento{

    opacity:0;

    transform:translateY(50px);

    transition:.8s;

}

.show{

    opacity:1;

    transform:translateY(0);

}

/*==========================
GALERIA PREMIUM
==========================*/

.galeria-premium{

    padding:110px 0;

}

.gallery-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    grid-template-rows:260px 260px;

    gap:20px;

    margin-top:50px;

}

.gallery-grid a{

    overflow:hidden;

    border-radius:25px;

    position:relative;

}

.gallery-grid img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.gallery-grid a:hover img{

    transform:scale(1.08);

}

.big{

    grid-row:1 / 3;

}

.more span{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:34px;

    font-weight:700;

    background:rgba(0,0,0,.45);

    backdrop-filter:blur(2px);

}

.galeriaSwiper .swiper-slide{
    height:550px;
    border-radius:20px;
    overflow:hidden;
}

.galeriaSwiper .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.galeriaSwiper{
    width:100%;
    max-width:1200px;
    margin:40px auto 0;
}


/* MINIATURAS */

.thumbSwiper {
    margin-top: 15px;
}

.thumbSwiper .swiper-slide {
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    opacity: .55;
    transition: .3s;
}

.thumbSwiper .swiper-slide-thumb-active {
    opacity: 1;
    border: 3px solid #2f8f46;
}

.thumbSwiper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ver-galeria{

display:inline-block;

margin-top:35px;

padding:18px 35px;

background:#2f6b46;

color:#fff;

border-radius:50px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.ver-galeria:hover{

background:#245438;

}

.swiper-button-next,
.swiper-button-prev{

color:white;

}

.swiper-pagination-bullet-active{

background:white;

}