:root{

--marrom:#2d1b13;
--dourado:#b88a38;
--cinza:#f7f7f7;
--texto:#444;
--branco:#fff;

}

body{

font-family:'Poppins',sans-serif;

color:var(--texto);

overflow-x:hidden;

background:#fff;

}

h1,h2,h3,h4,h5{

font-family:'Playfair Display',serif;

}

.top-header{

background:#faf6f2;

padding:20px 0;

}

.logo{

max-height:90px;

}

.navbar{

background:var(--marrom);

}

.navbar-nav .nav-link{

color:#fff;

font-weight:500;

padding:18px;

transition:.3s;

}

.navbar-nav .nav-link:hover{

color:var(--dourado);

}

.social-icons a{

color:#fff;

font-size:18px;

margin-left:18px;

}

footer{

background:#2d1b13;

color:#fff;

padding:60px 0 30px;

margin-top:80px;

}

.social-footer a{

color:#fff;

font-size:22px;

margin-right:15px;

}
/* =====================================================
HERO
===================================================== */

#hero{

position:relative;

}

.carousel-item{

height:92vh;

min-height:700px;

position:relative;

overflow:hidden;

}

.carousel-item img{

width:100%;

height:100%;

object-fit:cover;

}

.hero-overlay{

position:absolute;

left:0;

top:0;

width:100%;

height:100%;

background:linear-gradient(
90deg,
rgba(25,17,13,.75),
rgba(25,17,13,.45),
rgba(25,17,13,.20)
);

}

.hero-conteudo{

position:absolute;

top:50%;

left:8%;

transform:translateY(-50%);

max-width:650px;

color:white;

z-index:10;

}

.hero-conteudo span{

display:block;

font-size:17px;

letter-spacing:3px;

text-transform:uppercase;

color:#d8bb82;

margin-bottom:18px;

}

.hero-conteudo h1{

font-size:68px;

font-weight:800;

line-height:1.1;

margin-bottom:25px;

}

.hero-conteudo p{

font-size:22px;

line-height:38px;

margin-bottom:40px;

color:#f5f5f5;

}

.hero-botoes{

display:flex;

gap:18px;

flex-wrap:wrap;

}

.btn-gold{

background:#b88a38;

border:none;

color:#fff;

padding:18px 42px;

font-size:17px;

font-weight:600;

border-radius:40px;

transition:.35s;

}

.btn-gold:hover{

background:#d4a64c;

transform:translateY(-4px);

color:#fff;

}

.btn-outline-light{

padding:18px 42px;

border-radius:40px;

font-weight:600;

}

.carousel-indicators{

margin-bottom:35px;

}

.carousel-indicators button{

width:14px;

height:14px;

border-radius:50%;

margin:0 6px;

}

.carousel-control-prev,
.carousel-control-next{

width:7%;

}

@media(max-width:992px){

.carousel-item{

height:700px;

}

.hero-conteudo{

left:35px;

right:35px;

max-width:100%;

}

.hero-conteudo h1{

font-size:46px;

}

.hero-conteudo p{

font-size:18px;

line-height:30px;

}

}

@media(max-width:768px){

.carousel-item{

height:620px;

}

.hero-conteudo{

text-align:center;

left:20px;

right:20px;

}

.hero-conteudo span{

font-size:14px;

letter-spacing:2px;

}

.hero-conteudo h1{

font-size:34px;

}

.hero-conteudo p{

font-size:16px;

line-height:28px;

}

.hero-botoes{

justify-content:center;

}

.btn-gold,
.btn-outline-light{

width:100%;

}

}
/*=================================================
QUEM SOMOS
=================================================*/

.about-home{

padding:110px 0;

background:#ffffff;

}

.section-subtitle{

display:block;

color:#b88a38;

font-weight:600;

letter-spacing:3px;

margin-bottom:15px;

}

.section-title{

font-size:48px;

font-weight:700;

color:#2d1b13;

margin-bottom:30px;

}

.about-home p{

font-size:18px;

line-height:34px;

color:#666;

margin-bottom:20px;

}

.about-list{

list-style:none;

padding:0;

margin-top:30px;

}

.about-list li{

margin-bottom:18px;

font-size:18px;

}

.about-list i{

color:#b88a38;

margin-right:12px;

}

.about-image{

position:relative;

}

.experience-box{

position:absolute;

right:25px;

bottom:25px;

background:#b88a38;

padding:30px;

border-radius:18px;

color:#fff;

text-align:center;

box-shadow:0 15px 35px rgba(0,0,0,.2);

}

.experience-box h2{

font-size:52px;

margin:0;

}

/*=================================================
NÚMEROS
=================================================*/

.numbers{

background:#2d1b13;

padding:90px 0;

color:#fff;

}

.number{

font-size:58px;

font-weight:800;

color:#d6b271;

margin-bottom:15px;

}

.numbers h5{

font-weight:500;

}

/*=================================================
DIFERENCIAIS
=================================================*/

.advantages{

padding:110px 0;

background:#f8f8f8;

}

.adv-card{

background:#fff;

padding:45px;

border-radius:20px;

text-align:center;

transition:.4s;

height:100%;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.adv-card:hover{

transform:translateY(-12px);

}

.adv-card i{

font-size:55px;

color:#b88a38;

margin-bottom:25px;

}

.adv-card h4{

margin-bottom:20px;

font-weight:700;

}

.adv-card p{

line-height:30px;

color:#666;

}

/*=================================================
EVENTOS
=================================================*/

.events-section{

padding:120px 0;

background:#ffffff;

}

.section-text{

max-width:800px;

margin:auto;

font-size:18px;

line-height:34px;

color:#666;

}

.event-card{

position:relative;

overflow:hidden;

border-radius:20px;

height:420px;

cursor:pointer;

box-shadow:0 15px 40px rgba(0,0,0,.10);

}

.event-card img{

width:100%;

height:100%;

object-fit:cover;

transition:.8s;

}

.event-overlay{

position:absolute;

left:0;

top:0;

width:100%;

height:100%;

display:flex;

align-items:flex-end;

padding:35px;

background:linear-gradient(
transparent,
rgba(0,0,0,.90)
);

transition:.5s;

}

.event-content{

color:white;

width:100%;

}

.event-content h3{

font-size:34px;

margin-bottom:15px;

}

.event-content p{

font-size:17px;

line-height:30px;

margin-bottom:25px;

opacity:.95;

}

.event-content a{

color:#d6b271;

font-weight:bold;

text-decoration:none;

}

.event-content a i{

margin-left:8px;

}

.event-card:hover img{

transform:scale(1.10);

}

.event-card:hover .event-overlay{

background:linear-gradient(
rgba(34,22,14,.35),
rgba(34,22,14,.95)
);

}


/*=================================================
GASTRONOMIA
=================================================*/

.gastronomia{

padding:120px 0;

background:#faf8f5;

}

.gastronomia-img{

overflow:hidden;

border-radius:20px;

}

.gastronomia-img img{

transition:.5s;

}

.gastronomia-img:hover img{

transform:scale(1.05);

}

.menu-list{

list-style:none;

padding:0;

margin:0;

}

.menu-list li{

margin-bottom:18px;

font-size:17px;

}

.menu-list i{

color:#b88a38;

margin-right:10px;

}

/*=================================================
CARDÁPIOS
=================================================*/

.cardapios-home{

padding:110px 0;

background:#fff;

}

.menu-card{

background:#fff;

padding:45px 30px;

border-radius:18px;

text-align:center;

height:100%;

transition:.35s;

box-shadow:0 10px 35px rgba(0,0,0,.08);

}

.menu-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.menu-card i{

font-size:50px;

color:#b88a38;

margin-bottom:25px;

}

.menu-card h4{

margin-bottom:15px;

font-weight:700;

}

.menu-card p{

line-height:28px;

color:#666;

}

/*=================================================
GALERIA
=================================================*/

.gallery-section{

padding:120px 0;

background:#fafafa;

}

.gallery-filter{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

margin-bottom:50px;

}

.gallery-filter button{

background:white;

border:2px solid #b88a38;

color:#b88a38;

padding:12px 28px;

border-radius:30px;

font-weight:600;

cursor:pointer;

transition:.35s;

}

.gallery-filter button.active,

.gallery-filter button:hover{

background:#b88a38;

color:white;

}

.gallery-item{

position:relative;

overflow:hidden;

border-radius:18px;

}

.gallery-item img{

width:100%;

height:320px;

object-fit:cover;

transition:.6s;

}

.gallery-overlay{

position:absolute;

left:0;

top:0;

width:100%;

height:100%;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

background:rgba(0,0,0,.65);

opacity:0;

transition:.4s;

color:white;

}

.gallery-overlay i{

font-size:40px;

margin-bottom:20px;

}

.gallery-overlay h4{

font-size:28px;

}

.gallery-item:hover img{

transform:scale(1.08);

}

.gallery-item:hover .gallery-overlay{

opacity:1;

}

/* =====================================================
DEPOIMENTOS
===================================================== */

.testimonials-section{
    padding:120px 0;
    background:#fff;
}

.testimonials-intro{
    margin:0;
}

.rating-box{
    background:var(--marrom);
    border-radius:20px;
    padding:35px;
    text-align:center;
    color:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.rating-number{
    font-family:'Playfair Display',serif;
    font-size:60px;
    font-weight:700;
    line-height:1;
    color:#fff;
}

.rating-stars{
    color:#d6b271;
    margin:15px 0;
    font-size:21px;
    letter-spacing:3px;
}

.rating-box p{
    margin:0;
    font-size:15px;
    opacity:.85;
}

.testimonials-carousel-inner{
    min-height:auto;
}

.testimonial-slide{
    height:auto !important;
    min-height:0 !important;
    padding:10px 70px 20px;
}

.testimonial-card{
    position:relative;
    background:#faf8f5;
    max-width:900px;
    margin:0 auto;
    padding:55px 70px;
    text-align:center;
    border-radius:24px;
    box-shadow:0 15px 45px rgba(0,0,0,.07);
}

.testimonial-quote{
    font-size:42px;
    color:rgba(184,138,56,.20);
    margin-bottom:10px;
}

.testimonial-stars{
    color:#b88a38;
    font-size:18px;
    letter-spacing:3px;
    margin-bottom:25px;
}

.testimonial-card p{
    max-width:720px;
    margin:0 auto 30px;
    font-family:'Playfair Display',serif;
    font-size:23px;
    line-height:1.8;
    color:#555;
    font-style:italic;
}

.testimonial-card h4{
    color:var(--marrom);
    font-size:23px;
    margin-bottom:6px;
}

.testimonial-card span{
    color:#999;
    font-size:14px;
}

.testimonial-control{
    width:48px;
    height:48px;
    top:50%;
    transform:translateY(-50%);
    background:var(--marrom);
    border-radius:50%;
    opacity:1;
}

.testimonial-control:hover{
    background:var(--dourado);
}

.testimonial-control i{
    font-size:16px;
    color:#fff;
}


/* =====================================================
CTA / ORÇAMENTO RÁPIDO
===================================================== */

.quick-budget{
    position:relative;
    padding:120px 0;
    background:
        url('../img/cta-evento.jpg')
        center center / cover no-repeat fixed;
}

.quick-budget-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(33,20,13,.96),
        rgba(33,20,13,.80),
        rgba(33,20,13,.58)
    );
}

.quick-budget .container{
    position:relative;
    z-index:2;
}

.quick-budget-content{
    color:#fff;
    padding-right:70px;
}

.cta-subtitle{
    color:#d8bb82;
    font-size:14px;
    font-weight:600;
    letter-spacing:3px;
    display:block;
    margin-bottom:18px;
}

.quick-budget-content h2{
    font-size:52px;
    line-height:1.15;
    margin-bottom:25px;
}

.quick-budget-content > p{
    font-size:18px;
    line-height:32px;
    color:rgba(255,255,255,.88);
    margin-bottom:35px;
}

.cta-benefits{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.cta-benefits div{
    font-size:15px;
}

.cta-benefits i{
    color:#d8bb82;
    margin-right:9px;
}

.quick-form-box{
    background:#fff;
    border-radius:24px;
    padding:45px;
    box-shadow:0 25px 70px rgba(0,0,0,.25);
}

.quick-form-box h3{
    font-size:32px;
    color:var(--marrom);
    margin-bottom:8px;
}

.quick-form-box > p{
    color:#777;
    margin-bottom:28px;
}

.quick-budget-form .form-label{
    font-size:13px;
    font-weight:600;
    color:#555;
    margin-bottom:7px;
}

.quick-budget-form .form-control,
.quick-budget-form .form-select{
    min-height:52px;
    border:1px solid #e1ddd8;
    border-radius:10px;
    box-shadow:none;
    font-size:15px;
}

.quick-budget-form textarea.form-control{
    min-height:115px;
    resize:vertical;
}

.quick-budget-form .form-control:focus,
.quick-budget-form .form-select:focus{
    border-color:var(--dourado);
    box-shadow:0 0 0 .2rem rgba(184,138,56,.12);
}

.btn-budget-submit{
    width:100%;
    border-radius:10px;
    gap:10px;
}


/* =====================================================
BOTÕES FLUTUANTES
===================================================== */

.whatsapp-float{
    position:fixed;
    right:22px;
    bottom:22px;
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#25d366;
    color:#fff;
    font-size:29px;
    text-decoration:none;
    z-index:9998;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    transition:.3s;
}

.whatsapp-float:hover{
    color:#fff;
    transform:translateY(-4px) scale(1.04);
}

.back-to-top{
    position:fixed;
    right:27px;
    bottom:93px;
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--marrom);
    color:#fff;
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:.3s;
    z-index:9997;
    box-shadow:0 8px 25px rgba(0,0,0,.20);
}

.back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.back-to-top:hover{
    background:var(--dourado);
}

/* =====================================================
RODAPÉ PREMIUM
===================================================== */

.footer-premium{
    background:#21140e;
    color:rgba(255,255,255,.78);
    padding:85px 0 0;
    margin-top:0;
}

.footer-premium h4{
    color:#fff;
    font-size:21px;
    margin-bottom:28px;
}

.footer-logo{
    max-width:190px;
    max-height:100px;
    object-fit:contain;
    margin-bottom:25px;
}

.footer-brand p{
    font-size:14px;
    line-height:27px;
    max-width:350px;
}

.footer-social{
    display:flex;
    gap:10px;
    margin-top:25px;
}

.footer-social a{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.footer-social a:hover{
    background:var(--dourado);
    border-color:var(--dourado);
    transform:translateY(-3px);
}

.footer-links,
.footer-contact{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:12px;
}

.footer-links a,
.footer-contact a{
    color:rgba(255,255,255,.72);
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover,
.footer-contact a:hover{
    color:#d8bb82;
}

.footer-contact li{
    display:flex;
    gap:13px;
    margin-bottom:18px;
    font-size:14px;
    line-height:24px;
}

.footer-contact i{
    color:#d8bb82;
    margin-top:5px;
    min-width:16px;
}

.footer-map{
    overflow:hidden;
    border-radius:15px;
    height:210px;
}

.footer-map iframe{
    border:0;
    width:100%;
    height:100%;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.10);
    margin-top:60px;
    padding:25px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    font-size:13px;
}

.footer-bottom a{
    color:rgba(255,255,255,.65);
    text-decoration:none;
}

.footer-bottom a:hover{
    color:#d8bb82;
}

.footer-bottom span{
    margin:0 8px;
    opacity:.3;
}