/* ==========================================
RESET
========================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Montserrat',sans-serif;
background:#fff;
color:#333;
overflow-x:hidden;
}

/* ==========================================
VARIÁVEIS
========================================== */

:root{

--blue:#146ff8;
--dark:#00318a;
--light:#f4f8fd;
--white:#fff;
--text:#5b6472;

/* Mantidas as variáveis adicionais para a consistência da Navbar */
--border-color: rgba(0,0,0,.05);
--shadow-light: 0 10px 30px rgba(0,0,0,.08);
--shadow-medium: 0 15px 40px rgba(0,0,0,.12);
--radius: 18px;

}

/* ==========================================
CONTAINER
========================================== */

.container{

width:100%;
max-width:1400px;
margin:auto;
padding:0 25px;

}

/* ==========================================
HEADER (ATUALIZADO)
========================================== */

.main-header{

position:sticky;
top:0;
z-index:9999;

background:rgba(255,255,255,.96);

backdrop-filter:blur(20px);

border-bottom:1px solid rgba(0,0,0,.05);

transition:.3s;

}

.nav-container{

height:110px;

display:flex;
align-items:center;
justify-content:space-between;

}


/* ==========================================
LOGO (ATUALIZADO)
========================================== */

.logo {
display:flex;
align-items:center;
}

.logo img{
height:90px;
width:auto;
}


/* ==========================================
MENU DESKTOP (ATUALIZADO)
========================================== */

.nav-menu ul{

display:flex;
align-items:center;
gap:30px;

list-style:none;

}

.nav-menu a{

text-decoration:none;
font-size:15px;
font-weight:700;

color:#16306b;

display:flex;
align-items:center;

transition:.3s;
position:relative;

}

.nav-menu a:hover{
color:var(--blue);
}

/* LINHA ANIMADA NO HOVER */
.nav-menu a::after{

content:'';

position:absolute;

left:0;
bottom:-8px;

width:0;
height:2px;

background:var(--blue);

transition:.3s;

}

.nav-menu a:hover::after{
width:100%;
}


/* ==========================================
BOTÕES DO HEADER (ATUALIZADO)
========================================== */

.btn-header{

display:inline-flex;
align-items:center;
justify-content:center;

background:var(--dark);
color:#fff;

padding:14px 24px;

border-radius:14px;

text-decoration:none;
font-size:15px;
font-weight:700;

transition:.3s;

box-shadow:
0 10px 25px rgba(0,49,138,.15);

}

.btn-header:hover{

transform:translateY(-3px);
background:var(--blue);

}

.mobile-menu-btn{

display:none;

background:none;
border:none;

font-size:32px;
color:var(--blue);

cursor:pointer;
transition:.3s;

}

.mobile-menu-btn:hover{
transform:scale(1.05);
}


/* ==========================================
HERO
========================================== */

.eventos-hero{

padding:120px 0;

background:
linear-gradient(
135deg,
rgba(20,111,248,.08),
rgba(0,49,138,.15)
);

text-align:center;

}




/*  ---- */

.eventos-hero {
    min-height: 850px; /* Mantém a altura imponente no desktop */
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding:130px 0;
    text-align:center;
    
    /* O gradiente e a imagem continuam aqui */
    background: linear-gradient(
        90deg,
        rgb(0, 0, 0, 0.80) 0%,
        rgba(0, 0, 0, 0.10) 30%,
        rgba(0, 0, 0, 0.10) 70%,
        rgba(0, 0, 0, 0.50) 100%
    ),
    url('../img/eventos/foto02.jpeg');
    
    background-repeat: no-repeat;
    

    background-position: center; 
    
  
    background-size: cover; 
}

@media (max-width: 768px) {
    .eventos-hero {
        
        min-height: 550px; 
   
        background-position: center center; 
    }
}
/*  ---- */




.page-badge{

display:inline-block;

padding:12px 22px;

background:#e8f1ff;

color:var(--blue);

font-weight:700;

border-radius:50px;

margin-bottom:25px;

}

.eventos-hero h1{

font-size:55px;
font-weight:800;
line-height:1.2;

color:#ffff;

max-width:900px;

margin:auto auto 25px;

}

.eventos-hero p{

font-size:1.5rem;
font-weight: 500;
line-height:1.8;
color:#ffffff;
max-width:850px;
margin:auto;

}

/* ==========================================
INTRODUÇÃO
========================================== */

.eventos-section{

padding:100px 0;

}

.eventos-grid{

display:grid;
grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.eventos-text h2{

font-size:42px;

color:var(--dark);

margin-bottom:25px;

}

.eventos-text p{

font-size:18px;
line-height:1.9;

color:#555;

margin-bottom:20px;

}

.eventos-image img{

width:100%;

border-radius:30px;

box-shadow:
0 25px 50px rgba(0,0,0,.12);

display:block;

}


/* ==========================================
TIPOS DE EVENTOS
========================================== */

.tipos-section{

padding:110px 0;

background:#f8fbff;

}

.tipos-section h2{

text-align:center;

font-size:42px;
font-weight:800;

color:var(--dark);

margin-bottom:60px;

}

.tipos-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:30px;

}

.evento-card{

background:#fff;

padding:40px 35px;

border-radius:28px;

text-align:center;

box-shadow:
0 15px 35px rgba(0,0,0,.06);

transition:.35s;

border:1px solid rgba(20,111,248,.08);

}

.evento-card i{

font-size:48px;

color:var(--blue);

margin-bottom:25px;

}

.evento-card h3{

font-size:24px;
font-weight:700;

color:var(--dark);

margin-bottom:15px;

}

.evento-card p{

font-size:16px;

line-height:1.8;

color:#666;

}

/* ==========================================
GALERIA
========================================== */

.galeria-section{

padding:110px 0;

background:#ffffff;

}

.galeria-section h2{

text-align:center;

font-size:42px;
font-weight:800;

color:var(--dark);

margin-bottom:60px;

}

.galeria-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.galeria-grid img{

width:100%;

height:280px;

object-fit:cover;

border-radius:25px;

box-shadow:
0 15px 35px rgba(0,0,0,.10);

transition:.35s;

display:block;

}


/* ==========================================
NÚMEROS
========================================== */

.numeros-section{

padding:110px 0;

background:
linear-gradient(
135deg,
#00318a,
#146ff8
);

color:#fff;

}

.numeros-section h2{

text-align:center;

font-size:42px;
font-weight:800;

margin-bottom:60px;

}

.numeros-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.numero-card{

background:
rgba(255,255,255,.10);

backdrop-filter:blur(15px);

padding:40px 25px;

border-radius:28px;

text-align:center;

border:
1px solid rgba(255,255,255,.15);

transition:.35s;

}

.numero-card h3{

font-size:52px;
font-weight:800;

margin-bottom:10px;

color:#fff;

}

.numero-card p{

font-size:18px;
font-weight:600;

color:
rgba(255,255,255,.90);

}


/* ==========================================
CTA SECTION
========================================== */

.cta-section{

padding:120px 0;

background:
linear-gradient(
135deg,
#eef5ff,
#ffffff
);

text-align:center;

}

.cta-section h2{

font-size:48px;
font-weight:800;

line-height:1.3;

color:var(--dark);

max-width:850px;

margin:auto auto 25px;

}

.cta-section p{

font-size:20px;

line-height:1.8;

color:#666;

max-width:700px;

margin:auto auto 40px;

}

.cta-btn{

display:inline-flex;
align-items:center;
justify-content:center;

padding:18px 40px;

background:var(--dark);

color:#fff;

font-size:18px;
font-weight:700;

text-decoration:none;

border-radius:18px;

transition:.35s;

box-shadow:
0 12px 30px rgba(0,49,138,.25);

}


/* ==========================================
FOOTER
========================================== */

.main-footer{

background:
linear-gradient(
180deg,
#05245f 0%,
#001b4d 100%
);

color:#fff;

overflow:hidden;

}

.footer-top{

padding:80px 0 60px;

border-bottom:
1px solid rgba(255,255,255,.08);

}

.footer-top-grid{

display:grid;

grid-template-columns:
1.4fr 1fr 1fr 1.1fr;

gap:50px;

}

.footer-brand img{

height:90px;

margin-bottom:20px;

}

.footer-brand p{

color:
rgba(255,255,255,.75);

line-height:1.9;

font-size:15px;

}

.footer-top h3{

font-size:20px;
font-weight:700;

margin-bottom:25px;

position:relative;

}

.footer-top h3::after{

content:'';

position:absolute;

left:0;
bottom:-10px;

width:45px;
height:3px;

background:#146ff8;

border-radius:10px;

}

.footer-links{

display:flex;
flex-direction:column;

gap:14px;

}

.footer-links a{

color:
rgba(255,255,255,.75);

text-decoration:none;

transition:.3s;

font-size:15px;

}

.footer-links a:hover{

color:#4ac0fd;

padding-left:8px;

}

.footer-contact{

display:flex;
flex-direction:column;

gap:18px;

}

.contact-item{

display:flex;
align-items:center;

gap:15px;

font-size:15px;

color:
rgba(255,255,255,.80);

}

.contact-item i{

width:42px;
height:42px;

display:flex;
align-items:center;
justify-content:center;

background:
rgba(255,255,255,.08);

border-radius:12px;

color:#4ac0fd;

}

.footer-bottom{

padding:25px 0;

background:
rgba(255,255,255,.03);

}

.footer-bottom-content{

display:flex;
align-items:center;
justify-content:space-between;

gap:20px;

}

.footer-bottom-content p{

font-size:14px;

color:
rgba(255,255,255,.70);

}

.footer-bottom-links{

display:flex;

gap:20px;

}

.footer-bottom-links a{

text-decoration:none;

color:
rgba(255,255,255,.70);

font-size:14px;

transition:.3s;

}

.footer-bottom-links a:hover{

color:#4ac0fd;

}

/* ==========================================
ANIMAÇÕES E HOVERS GERAIS
========================================== */

.evento-card,
.numero-card,
.galeria-grid img,
.cta-btn{

transition:
all .35s ease;

}

.evento-card:hover{
transform:translateY(-10px);
box-shadow:0 25px 45px rgba(20,111,248,.18);
}

.galeria-grid img:hover{
transform:scale(1.04);
box-shadow:0 25px 50px rgba(0,0,0,.18);
}

.numero-card:hover{
transform:translateY(-8px);
background:rgba(255,255,255,.15);
}

.cta-btn:hover{
transform:translateY(-5px);
background:var(--blue);
}

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(30px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/* ANIMAÇÃO ESPECÍFICA PARA ABERTURA DA NAVBAR MOBILE */
@keyframes menuFade{

from{
opacity:0;
transform:translateY(-15px);
}

to{
opacity:1;
transform:translateY(0);
}

}

.eventos-hero,
.eventos-section,
.tipos-section,
.galeria-section,
.numeros-section,
.cta-section{

animation:
fadeUp .8s ease;

}


/* ==========================================
RESPONSIVO TABLET GRANDE
========================================== */

@media(max-width:1100px){

.eventos-grid{
grid-template-columns:1fr;
gap:50px;
}

.footer-top-grid{
grid-template-columns:1fr 1fr;
}

}


/* ==========================================
RESPONSIVO NAVBAR INTERMEDIÁRIO (1024px) (ADICIONADO)
========================================== */

@media(max-width:1024px){

.mobile-menu-btn{
display:block;
}

.btn-header{
display:none;
}

.nav-container{
height:90px;
}

.logo img{
height:68px;
}

.nav-menu{

position:absolute;

top:90px;
left:0;

width:100%;

background:#fff;

display:none;

padding:25px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

max-height:80vh;
overflow-y:auto;
z-index:999;

}

.nav-menu.open{
display:block;
animation:menuFade .3s ease;
}

.nav-menu ul{
flex-direction:column;
align-items:flex-start;
gap:0;
}

.nav-menu li{
width:100%;
border-bottom:1px solid rgba(0,0,0,.05);
}

.nav-menu li:last-child{
border:none;
}

.nav-menu a{
width:100%;
padding:18px 0;
justify-content:space-between;
font-size:16px;
}

.nav-menu a::after{
display:none;
}

}


/* ==========================================
RESPONSIVO MOBILE
========================================== */

@media(max-width:768px){

.container{
padding:0 20px;
}

/* Sincronização dos tamanhos do Header para 768px */
.nav-container{
height:90px;
}

.logo img{
height:60px;
}

.nav-menu{
top:90px;
}
/* Fim do ajuste do header */

.eventos-hero{
padding:140px 0 90px;
}

.eventos-hero h1{
font-size:34px;
}

.eventos-hero p{
font-size:18px;
}

.eventos-grid{
grid-template-columns:1fr;
}

.intro-image img{
height:350px;
}

.tipos-section h2,
.galeria-section h2,
.numeros-section h2,
.cta-section h2{
font-size:30px;
}

.galeria-grid{
grid-template-columns:1fr;
}

.numero-card h3{
font-size:42px;
}

.footer-top-grid{
grid-template-columns:1fr;
gap:40px;
}

.footer-bottom-content{
flex-direction:column;
text-align:center;
}

.footer-bottom-links{
flex-wrap:wrap;
justify-content:center;
}

}


/* ==========================================
RESPONSIVO MOBILE PEQUENO
========================================== */

@media(max-width:480px){

/* Ajustes finos adicionais da Navbar no mobile pequeno */
.logo img{
height:55px;
}

.mobile-menu-btn{
font-size:28px;
}
/* Fim dos ajustes */

.eventos-hero h1{
font-size:28px;
}

.eventos-hero p{
font-size:16px;
}

.page-badge{
font-size:12px;
padding:10px 18px;
}

.evento-card{
padding:30px 22px;
}

.numero-card{
padding:30px 20px;
}

.cta-btn{
width:100%;
}

}



/* ======================================
   SCROLLBAR
   ====================================== */

::-webkit-scrollbar {
    width: 10px; /* Largura da barra */
}

::-webkit-scrollbar-track {
    background: #eef4f9; /* Cor do fundo da barra (cinza bem claro) */
}

/* É ESTE BLOCO AQUI QUE DEIXA O SCROLL AZUL: */
::-webkit-scrollbar-thumb {
    background: #146ff8; /* O azul principal do scroll */
    border-radius: 20px; /* Deixa as bordas arredondadas */
}

::-webkit-scrollbar-thumb:hover {
    background: #00318a; /* O azul escuro quando você passa o mouse por cima */
}