/* ==========================================
   RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins', sans-serif;

    background:#111;

    color:#fff;

    overflow-x:hidden;

}

img{

    max-width:100%;

    display:block;

}

ul{

    list-style:none;

}

a{

    text-decoration:none;

}

.container{

    width:90%;

    max-width:1200px;

    margin:auto;
    
    padding:0 20px;


}
/* ==========================================
   CORES
========================================== */

:root{

    --primary:#D4AF37;

    --secondary:#F7E27E;

    --dark:#111111;

    --black:#000000;

    --gray:#2c2c2c;

    --light:#f5f5f5;

    --white:#ffffff;

    --shadow:0 15px 40px rgba(0,0,0,.25);

    --transition:.4s;

}
/* ==========================================
   HEADER
========================================== */

header{

width: 100%;
  height: 90px;

  position: fixed;
  top: 0;
  left: 0;

  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 0 60px;

  background: rgba(0, 0, 0, 0.35);
  background: rgba(0,0,0,.95);

  z-index: 9999;
  transition: 0.3s;

}

header .container{

    display:flex;

    justify-content:space-between;

    align-items: center;
  
    height:100%;

    margin-top:0;

    padding:20px 0;

    gap: 40px;


}
.logo img{

    width:140px;

}
nav ul{

    display:flex;

    gap:35px;

}

nav ul li a{

    color:white;

    font-size:16px;

    font-weight:500;

    transition:.3s;

}

nav ul li a:hover{

    color:var(--primary);

}
/* ==========================================
   BANNER
========================================== */

.banner{

    width:100%;

    height:100vh;

    background:url('../img/banner.jpg');

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

    display:flex;

    justify-content:center;

    align-items:center;

}
.overlay{

    width:100%;

    height:100%;

    background:rgba(0,0,0,.55);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:20px;

}
.overlay h1{

    font-size:70px;

    color:white;

    margin-bottom:20px;

    font-weight:700;

}
.overlay p{

    font-size:22px;

    color:#ddd;

    margin-bottom:35px;

    max-width:700px;

    line-height:1.8;

}
.overlay a{

    background:var(--primary);

    color:#111;

    padding:18px 45px;

    border-radius:40px;

    font-weight:bold;

    transition:.4s;

}

.overlay a:hover{

    background:white;

    transform:translateY(-5px);

    box-shadow:var(--shadow);

}
/* ==========================================
   SOBRE
========================================== */

.sobre{

    padding:120px 0;

    background:#181818;

}
.sobre .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:60px;

}
.texto{

    flex:1;

}

.texto h2{

    font-size:42px;

    color:var(--primary);

    margin-bottom:25px;

}

.texto p{

    font-size:18px;

    line-height:1.9;

    color:#ddd;

}
.imagem{

    flex:1;

}

.imagem img{

    border-radius:15px;

    box-shadow:var(--shadow);

}
/*==================================
        TITULOS
==================================*/

.titulo{

    text-align:center;

    margin-bottom:60px;

}

.titulo span{

    color:var(--primary);

    text-transform:uppercase;

    letter-spacing:4px;

    font-size:14px;

}

.titulo h2{

    margin-top:15px;

    font-size:42px;

}
/*==================================
        AGENDA
==================================*/

.agenda{

    background:#111;

    padding:120px 0;

}
.cards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}
.card{

    background:#1c1c1c;

    border-radius:15px;

    overflow:hidden;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:30px;

    transition:.4s;

    border:1px solid #333;

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 40px rgba(0,0,0,.35);

}
.data{

    text-align:center;

    color:var(--primary);

}

.data h3{

    font-size:45px;

}

.data span{

    font-size:14px;

}
.info{

    flex:1;

    margin-left:25px;

}

.info h3{

    margin-bottom:8px;

}

.info p{

    color:#bbb;

}
.card a{

    color:var(--primary);

    font-weight:bold;

}
/*==================================
        GALERIA
==================================*/

.galeria{

    background:#181818;

    padding:120px 0;

}
.grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}
.grid img{

    width:100%;

    height:320px;

    object-fit:cover;

    border-radius:15px;

    transition:.5s;

    cursor:pointer;

}
.grid img:hover{

    transform:scale(1.05);

    filter:brightness(.7);

}
/*======================================
        INTEGRANTES
======================================*/

.integrantes{

    padding:120px 0;

    background:#111;

}

.membros{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.membro{

    background:#1d1d1d;

    border-radius:15px;

    overflow:hidden;

    transition:.4s;

    text-align:center;

}

.membro:hover{

    transform:translateY(-10px);

}

.membro img{

    width:100%;

    height:auto;

    object-fit:contain;

}

.membro h3{

    margin-top:25px;

}

.membro p{

    color:var(--primary);

    margin:10px 0 25px;

}
/*======================================
        NÚMEROS
======================================*/

.numeros{

    background:linear-gradient(rgba(0,0,0,.8),
    rgba(0,0,0,.8)),
    url("../img/banner.jpg");

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

    padding:120px 0;

}

.numeros .container{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    text-align:center;

}

.numero h2{

    font-size:60px;

    color:var(--primary);

}

.numero p{

    margin-top:15px;

    color:#ddd;

}
/*======================================
        DEPOIMENTOS
======================================*/

.depoimentos{

    padding:120px 0;

    background:#181818;

}

.cards-depoimentos{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.depoimento{

    background:#222;

    padding:35px;

    border-radius:15px;

    transition:.4s;

}

.depoimento:hover{

    transform:translateY(-10px);

}

.depoimento p{

    line-height:1.8;

    margin-bottom:20px;

}

.depoimento h4{

    color:#FFD700;

    margin-bottom:10px;

}

.depoimento span{

    color:#bbb;

}
/*=====================================
        CONTATO
=====================================*/

.contato{

    background:#111;

    padding:120px 0;

}

.contato-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

}

.informacoes h3{

    font-size:32px;

    color:var(--primary);

    margin-bottom:30px;

}

.informacoes p{

    margin-bottom:18px;

    line-height:1.8;

}
form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

input{

    padding:18px;

    border:none;

    border-radius:10px;

    background:#222;

    color:white;

    font-size:16px;

}

textarea{

    padding:20px;

    background:#222;

    color:white;

    border:none;

    border-radius:10px;

    min-height:180px;

    resize:none;

}

button{

    padding:18px;

    border:none;

    background:var(--primary);

    color:#111;

    font-size:17px;

    font-weight:bold;

    border-radius:40px;

    cursor:pointer;

    transition:.4s;

}

button:hover{

    background:white;

}
/*=====================================
        FOOTER
=====================================*/

footer{

    background:#000;

    padding-top:90px;

}

.footer-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:40px;

}

.footer-grid h3{

    margin-bottom:25px;

    color:var(--primary);

}

.footer-grid p{

    color:#bbb;

    line-height:1.8;

}

.footer-grid li{

    margin-bottom:12px;

}

.footer-grid a{

    color:#bbb;

    transition:.3s;

}

.footer-grid a:hover{

    color:var(--primary);

}
.copyright{

    margin-top:70px;

    text-align:center;

    padding:25px;

    border-top:1px solid #222;

    color:#888;

}
.whatsapp{

    position:fixed;

    right:30px;

    bottom:30px;

    width:65px;

    height:65px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:30px;

    z-index:999;

    box-shadow:0 10px 30px rgba(0,0,0,.3);

    transition:.4s;

}

.whatsapp:hover{

    transform:scale(1.15);

}
.topo{

    position:fixed;

    left:30px;

    bottom:30px;

    width:60px;

    height:60px;

    background:var(--primary);

    color:#111;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    opacity:0;

    transition:.4s;

}
.menu-mobile{

    display:none;

    font-size:30px;

    cursor:pointer;

    color:white;

}

/*Ignora a configuração para navegador, se a tela for de um celular*/

/* ==========================================================================
   CORREÇÃO DA BARRA, BANNER E MENU HAMBÚRGUER (MOBILE)
   ========================================================================== */

@media screen and (max-width: 768px) {
    
    /* 1. Força o fim do vazamento lateral (Fim da barra preta) */
    html, body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* 2. Corrige o Header para o Menu Hamburguer aparecer */
    header {
        padding: 0 20px !important;
        height: 70px !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        position: fixed !important;
    }

    header .container {
        margin-top: 0 !important;
        height: 100% !important;
        padding: 0 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    /* Garante que o botão hambúrguer fique visível sobre o fundo escuro */
    .menu-toggle {
        display: flex !important;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 22px;
        background: transparent !important;
        border: none !important;
        cursor: pointer;
        z-index: 99999 !important; /* Joga o botão para a camada mais alta */
        padding: 0 !important;
    }

    .menu-toggle span {
        display: block !important;
        width: 100% !important;
        height: 3px !important;
        background-color: #ffffff !important; /* Cor branca para as 3 linhas */
        transition: all 0.3s ease-in-out !important;
    }

    /* Animação do X quando ativo */
    .menu-toggle.active span:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; }
    .menu-toggle.active span:nth-child(2) { opacity: 0 !important; }
    .menu-toggle.active span:nth-child(3) { transform: translateY(-11px) rotate(-45deg) !important; }

    /* Esconde a navegação padrão e prepara para o efeito lateral */
    .nav-menu {
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        width: 270px !important;
        height: 100vh !important;
        background-color: #000000 !important; /* Fundo preto do menu lateral */
        padding: 100px 30px 30px 30px !important;
        transition: right 0.3s ease-in-out !important;
        z-index: 99998 !important;
    }

    .nav-menu.active {
        right: 0 !important;
    }

    nav ul {
        display: flex !important;
        flex-direction: column !important;
        gap: 25px !important;
    }

    /* 3. CORREÇÃO DEFINITIVA DO BANNER (Sem cortes e adaptável) */
    .banner {
        background-attachment: scroll !important; /* Desativa o parallax fixo que quebra no mobile */
        background-position: center center !important;
        background-size: cover !important; /* Garante que preencha as laterais sem distorcer */
        height: auto !important;
        min-height: 85vh !important; /* Define uma altura excelente para telas de celulares */
        display: flex !important;
        align-items: center !important;
    }

    .overlay {
        height: 100% !important;
        padding: 140px 20px 60px 20px !important; /* Padding superior para o texto não sumir sob o header fixo */
    }

    .overlay h1 {
        font-size: 32px !important; /* Diminui o título para caber na tela do celular */
        line-height: 1.3 !important;
    }

    .overlay p {
        font-size: 16px !important;
        line-height: 1.6 !important;
        margin-bottom: 25px !important;
    }

    /* 4. Ajustes rápidos para as outras seções não quebrarem */
    .sobre .container, .contato-grid, .footer-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
    }
    
    .sobre .container {
        flex-direction: column-reverse !important; /* Texto em cima, imagem embaixo */
    }

    .cards, .grid, .membros, .numeros .container, .cards-depoimentos {
        grid-template-columns: 1fr !important; /* Transforma todos os grids em uma coluna única */
        gap: 20px !important;
    }

    .grid {
        grid-template-columns: repeat(2, 1fr) !important; /* Galeria em 2 colunas para poupar espaço */
    }
    
    .grid img {
        height: 180px !important;
    }

    .card {
        flex-direction: column !important;
        text-align: center !important;
    }
    
    .info { margin-left: 0 !important; }
}

/* Ajuste específico para evitar que os integrantes fiquem gigantes em celulares comuns */
@media screen and (max-width: 550px) {
    .membros {
        grid-template-columns: 1fr !important;
    }
    .membro img {
        height: 280px !important;
    }

    .menu-toggle span {
    display: block;
    height: 3px;
    width: 100%;
    background: #fff;
    border-radius: 2px;
}

}
