:root{ 
  --azul:#0b3c5d;
  --azul-claro:#1e88e5;
  --dourado:#f2b705;
}

/* ================= BASE ================= */
*{
  box-sizing:border-box;
}
body{
  font-family:"Roboto", Arial, sans-serif;
  margin:0;
  padding:0;
}

/* ================= TOP NAV ================= */
.topnav{
  background:var(--azul);
  font-size:13px;
}
.topnav a{
  color:#fff;
  text-decoration:none;
  margin-right:15px;
}
.topnav .social a{
  margin-left:12px;
  color:#fff;
}

/* ================= NAVBAR ================= */
.navbar{
  background:#fff;
  padding:0;
}
.navbar-brand img{
  height:56px;
}

.navbar-nav .nav-link{
  color:var(--azul)!important;
  font-weight:600;
  text-transform:uppercase;
  padding:22px 16px;
  position:relative;
  font-size:14px;
}

/* underline dourado */
.navbar-nav .nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:10px;
  width:0;
  height:3px;
  background:var(--dourado);
  transition:0.3s;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.show::after{
  width:100%;
}

/* ================= MEGAMENU ================= */
.nav-item.position-static{
  position:static;
}

.dropdown-menu.megamenu{
  width:100%;
  left:0;
  right:0;
  top:100%;
  border:none;
  border-top:4px solid var(--dourado);
  padding:40px 60px;
  box-shadow:0 8px 30px rgba(0,0,0,.12);
}

.megamenu h6{
  font-weight:700;
  color:var(--azul);
  margin-bottom:12px;
}
.megamenu a{
  display:block;
  color:#333;
  text-decoration:none;
  padding:6px 0;
  font-size:14px;
}
.megamenu a:hover{
  color:var(--azul-claro);
}

/* ================= DROPDOWN NORMAL ================= */
.dropdown-menu{
  border-radius:6px;
  box-shadow:0 6px 20px rgba(0,0,0,.12);
}
.dropdown-item{
  font-size:14px;
}

/* ================= SEPARATOR ================= */
.nav-separator{
  height:6px;
  background:linear-gradient(to right,#f2b705,#ffd86b,#f2b705);
}

/* ================================================= */
/* ================= HERO / CAROUSEL ================= */
/* ================================================= */

#hero-wrapper{
  width:100%;
}

#heroCarousel,
#heroCarousel .carousel-inner,
#heroCarousel .carousel-item{
  width:100%;
  height:85vh; /* ALTURA DEFINIDA POR TI */
}

#heroCarousel img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* legenda */
.hero-caption{
  background:rgba(11,60,93,.75);
  padding:24px 32px;
  border-radius:6px;
}

/* ================= SECTIONS ================= */
.section{
  padding:70px 0;
}
.section-title{
  border-left:6px solid var(--dourado);
  padding-left:15px;
  color:var(--azul);
  margin-bottom:40px;
}

/* ================= CARDS ================= */
.card{
  border:none;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.img-fixed{
  height:220px;
  object-fit:cover;
}

/* ================= EVENTOS ================= */
.event-image{
  position:relative;
}

.event-date{
  position:absolute;
  top:12px;
  left:12px;
  background:#17c1d9;
  color:#fff;
  font-size:13px;
  font-weight:600;
  padding:6px 12px;
  border-radius:20px;
  box-shadow:0 3px 8px rgba(0,0,0,.25);
}

/* ================= FOOTER ================= */
footer{
  background:#000;
  color:#fff;
  padding-top:60px;
}
footer h5{
  font-weight:700;
  margin-bottom:20px;
}
footer p,
footer a{
  color:#ccc;
  font-size:14px;
  text-decoration:none;
}
footer a:hover{
  color:#fff;
}
.footer-social a{
  font-size:20px;
  margin-right:15px;
  color:#fff;
}
.footer-bottom{
  border-top:1px solid #333;
  margin-top:40px;
  padding:20px 0;
  font-size:13px;
  color:#aaa;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 991px){

  .topnav{
    display:none;
  }

  .navbar-nav .nav-link{
    padding:14px 10px;
  }

  /* MegaMenu vira normal no mobile */
  .dropdown-menu.megamenu{
    position:static;
    padding:20px;
    box-shadow:none;
  }

  #heroCarousel,
  #heroCarousel .carousel-inner,
  #heroCarousel .carousel-item{
    height:85vh; /* mantém exatamente como definiste */
  }
}
