/* Tipografia e ajustes gerais */
html, body { 
    scroll-behavior: smooth;
    overflow-x: hidden; /* Previne scroll horizontal */
    max-width: 100%;
}

body {
    position: relative;
}

/* cor normal do link */
.navbar .nav-link {
  font-weight: 500;
  font-size: 20px;
  color: #000; /* ajusta se precisar */
  transition: all 0.2s ease; /* suaviza o hover */
}

/* link ativo */
.navbar .nav-link.active {
  color: #0f5132 !important;
  background: #d1e7dd;
  border-radius: .375rem;
  padding-left: .75rem;
  padding-right: .75rem;
}

/* hover: fica verde */
.navbar .nav-link:hover {
  color: #0f5132 !important;
}

/* Hero (Swiper) */
.hero-slide {
  height: clamp(380px, 60vh, 640px);
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
}
.hero-slide::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 40%, rgba(0,0,0,0.55) 100%);
}
.hero-slide1 {
  height: 309px;               /* altura fixa */
  background-size: cover;      /* cobre toda a área */
  background-position: center; /* centraliza */
  position: relative;
  display: flex;
}
.hero-slide1::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 40%, rgba(0,0,0,0.55) 100%);
}



.hero-copy { position: relative; z-index: 2; margin-bottom: 6vh; }

/* Swiper controles */
.swiper-button-prev, .swiper-button-next { color: #fff; }
.swiper-pagination-bullet-active { background: #198754; }

/* Seções */
.section-title { font-weight: 700; font-size: 50px; color: #198754;}
.hover-up { transition: transform .2s ease, box-shadow .2s ease; }
.hover-up:hover { transform: translateY(-4px); box-shadow: 0 .75rem 1.25rem rgba(0,0,0,.08); }
/* ===== Footer ===== */
.site-footer{
  /* cor base + textura (troque o arquivo pela sua arte) */
  background: #0b2e1f url('../img/footer.jpg') center/cover no-repeat;
  position: relative;
}
.site-footer::before{
  /* leve escurecido por cima pra dar contraste no texto */
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,.15);
}
.site-footer .container{ position:relative; z-index:1; }

/* colunas com divisórias verticais no md+ */
.footer-grid .footer-col{
  position: relative;
}
@media (min-width: 768px){
  .footer-grid .footer-col + .footer-col{
    border-left: 1px solid rgba(255,255,255,.25);
  }
}

/* links do menu do footer */
.footer-link{
  display:block;
  padding: .25rem 0;
  color:#ffffff;
  text-decoration:none;
  opacity:.9;
}
.footer-link:hover{ opacity:1; text-decoration: none; color:#ffd900; }
.footer-link.active{
  font-weight:600;
  color:#e9faf3;
}

/* botões sociais */
.site-footer .btn-outline-light{
  --bs-btn-color: #fff;
  --bs-btn-border-color: rgba(255,255,255,.75);
  --bs-btn-hover-bg: #0b2e1f;
  --bs-btn-hover-color: #ffd900;
  --bs-btn-hover-border-color: #fff;
}





/* Galeria máx 300px */
.gallery-img{
  height: 300px;          /* limite solicitado */
  width: 100%;
  object-fit: cover;      /* preenche sem distorcer */
  border-radius: .5rem;
}

/* Deixa os slides bonitos e com respingo leve */
.gallerySwiper .swiper-slide{
  width: auto;            /* permite slides adaptarem à largura da imagem */
  max-width: 420px;       /* evita ficar gigante em telas largas */
}
.gallery-item{
  display: block;
  overflow: hidden;
  border-radius: .5rem;
}
.gallery-item img{
  transition: transform .25s ease;
}
.gallery-item:hover img{
  transform: scale(1.03);
}

/* Modal preto pra destacar a foto */
#galeriaModal .modal-content{
  background: #000;
  border: none;
}




#contato .form-control, 
#contato .form-select {
  border-radius: .5rem;
  box-shadow: none;
}

#contato button {
  border-radius: .5rem;
}
