/* ==============================
   RESET GERAL
================================ */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==============================
   ROLAGEM SUAVE
================================ */
html{
    scroll-behavior:smooth;
}

/* ==============================
   CONFIGURAÇÕES GERAIS
================================ */
body{
    font-family:Arial, Helvetica, sans-serif;
    background:#0d0d0d;
    color:white;
}

/* ==============================
   NAVBAR
================================ */
.navbar{
    position:fixed;
    top:0;
    left:0;

    width:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:16px 40px;

    background:rgba(5,5,5,0.75);

    backdrop-filter:blur(10px);

    border-bottom:1px solid rgba(212,175,55,0.15);

    z-index:999;
}

.nav-logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.nav-logo img{
    width:50px;
}

.nav-logo span{
    color:#d4af37;
    font-weight:bold;
    font-size:18px;
}

.nav-links{
    display:flex;
    align-items:center;
    gap:20px;
}

.nav-links a{
    color:white;
    text-decoration:none;
    transition:0.3s;
}

.nav-links a:hover{
    color:#d4af37;
}

.nav-btn{
    background:#d4af37;
    color:black !important;

    padding:10px 18px;

    border-radius:10px;

    font-weight:bold;
}

/* ==============================
   PÁGINA INICIAL / HERO
================================ */
.hero{
    position:relative;
    width:100%;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background:
    linear-gradient(
        rgba(0,0,0,0.75),
        rgba(0,0,0,0.85)
    ),
    url('https://images.unsplash.com/photo-1521590832167-7bcbfaa6381f?q=80&w=1400');
    background-size:cover;
    background-position:center;
}

.hero-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:500px;
    background:rgba(15,15,15,0.88);
    border:1px solid rgba(212,175,55,0.3);
    border-radius:30px;
    padding:40px 25px;
    text-align:center;
    backdrop-filter:blur(10px);
}

.logo{
    width:170px;
    margin-bottom:25px;
}

/* ==============================
   TEXTOS PRINCIPAIS
================================ */
h1{
    color:#d4af37;
    font-size:42px;
    margin-bottom:15px;
}

p{
    color:#ddd;
    line-height:1.6;
    margin-bottom:30px;
}

/* ==============================
   BOTÕES DA HOME
================================ */
.buttons{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.btn{
    text-decoration:none;
    padding:16px;
    border-radius:14px;
    font-weight:bold;
    transition:0.3s;
}

.gold{
    background:#d4af37;
    color:black;
}

.dark{
    border:1px solid #d4af37;
    color:#d4af37;
}

.btn:hover{
    transform:translateY(-3px);
    opacity:0.9;
}

/* ==============================
   SEÇÃO DE SERVIÇOS
================================ */
.servicos{
    background:#0d0d0d;
    padding:90px 20px;
}

.section-header{
    max-width:700px;
    margin:0 auto 45px;
    text-align:center;
}

.section-header span{
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:bold;
}

.section-header h2{
    color:#fff;
    font-size:36px;
    margin:15px 0;
}

.section-header p{
    color:#bbb;
}

/* ==============================
   CATEGORIAS DOS SERVIÇOS
================================ */
.categorias-servicos{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;

    margin-bottom:50px;
}

.categoria{
    background:#151515;

    border:1px solid rgba(212,175,55,0.25);

    color:#d4af37;

    padding:12px 22px;

    border-radius:999px;

    cursor:pointer;

    transition:0.3s;

    font-weight:bold;
}

.categoria:hover{
    background:#d4af37;
    color:black;
}

.categoria.ativo{
    background:#d4af37;
    color:black;
}


/* ==============================
   GRID DOS CARDS
================================ */
.servicos-grid{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
}

/* ==============================
   CARD DE SERVIÇO
================================ */
.servico-card{
    background:linear-gradient(145deg, #151515, #0f0f0f);
    border:1px solid rgba(212,175,55,0.25);
    border-radius:24px;
    padding:28px;
    transition:0.3s;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:210px;
}

.servico-card:hover{
    transform:translateY(-6px);
    border-color:#d4af37;
}

.servico-card h3{
    color:#fff;
    font-size:22px;
    margin-bottom:20px;
}

.servico-card strong{
    color:#d4af37;
    font-size:28px;
    margin-bottom:25px;
}

.servico-card a{
    display:block;
    text-align:center;
    background:#d4af37;
    color:#000;
    padding:14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:bold;
}

/* ==============================
   COMBOS ESPECIAIS
================================ */
.combos-title{
    margin-top:80px;
}

.servico-card.combo{
    border-color:rgba(232,200,120,0.45);
}

.servico-card.destaque{
    border-color:#d4af37;
    box-shadow:0 0 35px rgba(212,175,55,0.18);
}


/* ==============================
   SEÇÃO SOBRE
================================ */
.sobre{
    background:#111;
    padding:80px 20px;
    border-top:1px solid rgba(212,175,55,0.15);
    border-bottom:1px solid rgba(212,175,55,0.15);
}

.sobre-content{
    max-width:850px;
    margin:0 auto;
    text-align:center;
}

.sobre-content span{
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:bold;
}

.sobre-content h2{
    color:#fff;
    font-size:38px;
    margin:18px 0;
}

.sobre-content p{
    color:#ccc;
    font-size:18px;
    line-height:1.7;
    margin:0;
}

/* ==============================
   SEÇÃO CONTATO / WHATSAPP
================================ */
.contato{
    background:
    linear-gradient(
        rgba(0,0,0,0.88),
        rgba(0,0,0,0.95)
    );
    padding:90px 20px;
}

.contato-card{
    max-width:720px;
    margin:0 auto;
    text-align:center;
    background:linear-gradient(145deg, #151515, #0b0b0b);
    border:1px solid rgba(212,175,55,0.35);
    border-radius:30px;
    padding:45px 28px;
    box-shadow:0 0 45px rgba(212,175,55,0.08);
}

.contato-card span{
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:bold;
}

.contato-card h2{
    color:#fff;
    font-size:38px;
    margin:18px 0;
}

.contato-card p{
    color:#ccc;
    font-size:17px;
    line-height:1.7;
}

.contato-card a{
    display:inline-block;
    margin-top:10px;
    background:#d4af37;
    color:#000;
    padding:16px 34px;
    border-radius:14px;
    text-decoration:none;
    font-weight:bold;
    transition:0.3s;
}

.contato-card a:hover{
    transform:translateY(-3px);
    opacity:0.9;
}

/* ==============================
   RODAPÉ
================================ */
.footer{
    background:#080808;
    padding:50px 20px;
    border-top:1px solid rgba(212,175,55,0.18);
}

.footer-content{
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.footer-content img{
    width:90px;
    margin-bottom:18px;
}

.footer-content h3{
    color:#d4af37;
    font-size:24px;
    margin-bottom:10px;
}

.footer-content p{
    color:#bbb;
    margin-bottom:22px;
}

.footer-links{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom:25px;
}

.footer-links a{
    color:#d4af37;
    text-decoration:none;
    font-weight:bold;
}

.footer-links a:hover{
    opacity:0.8;
}

.footer-content small{
    color:#777;
}

/* ==============================
   DIFERENCIAIS
================================ */
.diferenciais{
    background:#0d0d0d;
    padding:80px 20px;
}

.diferenciais-grid{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
}

.diferencial-card{
    background:#151515;
    border:1px solid rgba(212,175,55,0.22);
    border-radius:24px;
    padding:30px;
}

.diferencial-card span{
    color:#d4af37;
    font-weight:bold;
    font-size:14px;
    letter-spacing:2px;
}

.diferencial-card h3{
    color:#fff;
    margin:18px 0 12px;
    font-size:22px;
}

.diferencial-card p{
    color:#bbb;
    margin:0;
}

/* ==============================
   DEPOIMENTOS
================================ */
.depoimentos{
    background:#111;
    padding:90px 20px;
}

.depoimentos-grid{
    max-width:1100px;
    margin:0 auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:24px;
}

.depoimento-card{
    background:linear-gradient(
        145deg,
        #161616,
        #0f0f0f
    );

    border:1px solid rgba(212,175,55,0.2);

    border-radius:24px;

    padding:30px;
}

.stars{
    color:#d4af37;
    font-size:24px;
    margin-bottom:20px;
}

.depoimento-card p{
    color:#ccc;
    margin-bottom:20px;
    line-height:1.7;
}

.depoimento-card strong{
    color:#d4af37;
}

/* ==============================
   GALERIA / INSTAGRAM
================================ */
.galeria{
    background:#0d0d0d;
    padding:90px 20px;
}

.galeria-grid{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
}

.galeria-item{
    position:relative;

    height:230px;

    border-radius:24px;

    background:linear-gradient(
        145deg,
        #1c1c1c,
        #111
    );

    border:1px solid rgba(212,175,55,0.22);

    display:flex;
    align-items:center;
    justify-content:center;

    color:#d4af37;
    font-weight:bold;

    overflow:hidden;

    transition:0.4s;
}

.galeria-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.galeria-item::before{
    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        rgba(0,0,0,0),
        rgba(0,0,0,0.6)
    );

    opacity:0;

    transition:0.4s;
}

.galeria-item:hover{
    transform:translateY(-8px) scale(1.02);

    border-color:#d4af37;

    box-shadow:0 20px 40px rgba(0,0,0,0.35);
}

.galeria-item:hover::before{
    opacity:1;
}

.galeria-button{
    text-align:center;
    margin-top:35px;
}

.galeria-button a{
    display:inline-block;
    background:#d4af37;
    color:#000;
    padding:15px 30px;
    border-radius:14px;
    text-decoration:none;
    font-weight:bold;
}

/* ==============================
   BOTÃO FLUTUANTE WHATSAPP
================================ */
.whatsapp-float{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:1000;

    background:#25d366;
    color:#fff;

    padding:15px 22px;
    border-radius:999px;

    text-decoration:none;
    font-weight:bold;

    box-shadow:0 10px 30px rgba(0,0,0,0.35);
    transition:0.3s;
}

.whatsapp-float:hover{
    transform:translateY(-4px);
    opacity:0.9;
}

/* ==============================
   LOCALIZAÇÃO / ATENDIMENTO
================================ */
.localizacao{
    background:#111;
    padding:90px 20px;
    border-top:1px solid rgba(212,175,55,0.14);
    border-bottom:1px solid rgba(212,175,55,0.14);
}

.localizacao-content{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:30px;
    align-items:center;
}

.localizacao span{
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:bold;
}

.localizacao h2{
    color:#fff;
    font-size:38px;
    margin:18px 0;
}

.localizacao p{
    color:#ccc;
    font-size:17px;
    line-height:1.7;
}

.localizacao a{
    display:inline-block;
    margin-top:10px;
    background:#d4af37;
    color:#000;
    padding:15px 28px;
    border-radius:14px;
    text-decoration:none;
    font-weight:bold;
}

.localizacao-box{
    background:linear-gradient(145deg, #151515, #0b0b0b);
    border:1px solid rgba(212,175,55,0.3);
    border-radius:28px;
    padding:35px;
    box-shadow:0 0 35px rgba(212,175,55,0.08);
}

.localizacao-box h3{
    color:#d4af37;
    font-size:26px;
    margin-bottom:18px;
}

.localizacao-box p{
    margin-bottom:10px;
}

/* ==============================
   RESPONSIVIDADE
================================ */
@media(max-width:900px){

    .localizacao-content{
    grid-template-columns:1fr;
}

    .galeria-grid{
    grid-template-columns:1fr 1fr;
}

.depoimentos-grid{
    grid-template-columns:1fr;
}

    /* ==============================
   DIFERENCIAIS
================================ */
.diferenciais{
    background:#0d0d0d;
    padding:80px 20px;
}

.diferenciais-grid{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
}

.diferencial-card{
    background:#151515;
    border:1px solid rgba(212,175,55,0.22);
    border-radius:24px;
    padding:30px;
}

.diferencial-card span{
    color:#d4af37;
    font-weight:bold;
    font-size:14px;
    letter-spacing:2px;
}

.diferencial-card h3{
    color:#fff;
    margin:18px 0 12px;
    font-size:22px;
}

.diferencial-card p{
    color:#bbb;
    margin:0;
}

    
    .servicos-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){

.galeria-grid{
    grid-template-columns:1fr;
}

    .navbar{
    padding:15px 20px;
    }

    .nav-logo span{
    display:none;
    }   

    .nav-links{
    gap:10px;
    }

    .nav-btn{
    padding:10px 14px;
    }
    
    h1{
        font-size:32px;
    }

    .hero-content{
        padding:30px 20px;
    }

    .logo{
        width:140px;
    }

    .section-header h2{
        font-size:28px;
    }
}

/* ==============================
   ANIMAÇÕES AO ROLAR
================================ */
.animar{
    opacity:0;
    transform:translateY(40px);
    transition:all 0.8s ease;
}

.animar.apareceu{
    opacity:1;
    transform:translateY(0);
}