@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,700|Open+Sans:400,600&display=swap');

/* ============================================================
   BASE GLOBAL
   ============================================================ */
body {
  background: #fff;
  color: #555;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  color: #212121;
  margin-bottom: 15px;
}
a {
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
a:hover { color: #07f22b; }
section.sct-bg-equipe{
    min-height: 35rem;/*25rem*/
    background:url('/images/banner/banner1.jpg') center/cover no-repeat;
}
/* Telas grandes até 1200px → versão 1300px */
@media (max-width: 1200px) {
  section.sct-bg-equipe {
    background-image: url('/images/banner/banner1.jpg');
  }
}

/* Telas médias até 768px → versão 674px */
@media (max-width: 768px) {
  section.sct-bg-equipe {
    background-image: url('/images/banner/banner-975.jpg');
  }
}

/* Telas pequenas até 480px → versão 202px */
@media (max-width: 480px) {
  section.sct-bg-equipe {
    min-height: 10rem;
    background-image: url('/images/banner/banner-624.jpg');
  }
}


.btn {
  border-radius: 30px;
  font-weight: 600;
  padding: 10px 25px;
  transition: all 0.3s;
}
.btn-primary {
  background: #07f22b;
  border: none;
  color: #000;
}
.btn-primary:hover { background: #05c21f; color: #fff; }
.btn-dark { background: #000; color: #fff; border: none; }
.btn-dark:hover { background: #333; }

/* ============================================================
   HEADER
   ============================================================ */
#hd-dv-logo { background: #000; padding: 10px 0; }
#hd-dv-logo .logo-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
#hd-dv-logo .logo img { height: 80px; }
#hd-dv-logo ul.top-info-box {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}
#hd-dv-logo ul.top-info-box li { margin-left: 30px; color: #fff; }
#hd-dv-logo ul.top-info-box li .info-box-title { font-size: 13px; color: #ccc; margin: 0; }
#hd-dv-logo ul.top-info-box li .info-box-subtitle {
  font-size: 15px; font-weight: 700; color: #fff; margin: 0;
}
#hd-dv-logo ul.top-info-box li .info-box-subtitle i { margin-right: 5px; color: #25d366; }
#hd-dv-logo ul.top-info-box li.last .social-icons { display: flex; gap: 15px; }
#hd-dv-logo ul.top-info-box li.last a { color: #fff; font-size: 20px; transition: color 0.3s; }
#hd-dv-logo ul.top-info-box li.last a:hover { color: #07f22b; }

/* ============================================================
   HEADER - Menu Responsivo Bootstrap 5
   ============================================================ */
.site-navigation {background: #022601;min-height:2.7rem; border-bottom:2px solid #fff}

.navbar-nav .nav-link {
  font-weight: 700;
  text-transform: uppercase;
  color: #fff !important;
  padding: 12px 18px;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: #07f22b !important;
}

/* Botão hamburguer */
.navbar-toggler {
  border: none;
  background-color: #07f22b;   /* verde neon */
  padding: 8px 12px;
  border-radius: 6px;
  min-height: 2.7rem!important;            /* área de clique acessível */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Ícone hamburguer (3 linhas bem espaçadas) */
.navbar-toggler .navbar-toggler-icon {
  position: relative;
  width: 28px;
  height: 2px;
  background-color: #fff;
  border-radius: 2px;
}

.navbar-toggler .navbar-toggler-icon::before,
.navbar-toggler .navbar-toggler-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 28px;
  height: 2px;
  background-color: #fff;
  border-radius: 2px;
}

.navbar-toggler .navbar-toggler-icon::before {
  top: -8px;   /* aumenta distância da linha de cima */
}
.navbar-toggler .navbar-toggler-icon::after {
  top: 8px;    /* aumenta distância da linha de baixo */
}


/* ===== Offcanvas (menu mobile) ===== */
.offcanvas-start { width: 260px; }               /* largura do drawer */
#mobileNav { background: #022601; color: #fff; }
#mobileNav .offcanvas-header { border-bottom: 1px solid rgba(255,255,255,.08); }
#mobileNav .offcanvas-title { color: #fff; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
#mobileNav .btn-close { filter: invert(1) brightness(200%); opacity: .9; }

#mobileNav .navbar-nav { padding-top: 10px; }
#mobileNav .nav-link {
  display: block;
  padding: .75rem 0;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
}
#mobileNav .nav-link:hover,
#mobileNav .nav-link.active { color: #07f22b; }

/* garante que o botão hamburguer mantenha o visual custom */
.navbar-toggler {
  border: none;
  background-color: #07f22b;
  padding: 8px 12px;
  border-radius: 4px;
}
.navbar-toggler .navbar-toggler-icon {
  background-image: none;
  position: relative;
  width: 24px; height: 2px; background-color: #fff;
}
.navbar-toggler .navbar-toggler-icon::before,
.navbar-toggler .navbar-toggler-icon::after {
  content: ""; position: absolute; left: 0; width: 24px; height: 2px; background-color: #fff;
}
.navbar-toggler .navbar-toggler-icon::before { top: -8px; }
.navbar-toggler .navbar-toggler-icon::after { top: 8px; }

/* desktop mantém menu tradicional à direita */
@media (min-width: 992px) {
  .site-navigation .navbar .navbar-nav .nav-link { padding: 12px 18px; }
}


/* ============================================================
   BANNER (Bootstrap 5 Carousel)
   ============================================================ */

#btnTopo {
  display: none; /* escondido por padrão */
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: #07f22b;
  color: #000;
  cursor: pointer;
  padding: 12px 15px;
  border-radius: 50%;
  font-size: 18px;
  transition: all 0.3s;
}
#btnTopo:hover {
  background-color: #05c21f;
  color: #fff;
}
#btnTopo svg {
  display: block;
  margin: auto;
}

#homeBanner { position: relative; width: 100%; overflow: hidden; }
#homeBanner .carousel-item {
  height: 100vh;
  background-size: cover;
  background-position: center;
}
#homeBanner .slider-content {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  padding: 0 15px;
  z-index: 5;
}
/* Esconde controles de navegação do carrossel no mobile */
@media (max-width: 767px) {
  #homeBanner .carousel-control-prev,
  #homeBanner .carousel-control-next {
    display: none !important;
  }
}

h1.banner-title{
    text-align: center;color: #fff;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
}
@media(max-width: 767px){
   #homeBanner .slider-content {width: 90%;margin-top:-50px}
}

#homeBanner h2{
  color:#fff;text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

.animated-text {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-in-out;
}

.animated-text.show {
  opacity: 1;
  transform: translateY(0);
}

#homeBanner .btn { margin: 5px; }

/* Controles */
#homeBanner .carousel-control-prev-icon,
#homeBanner .carousel-control-next-icon {
  width: 40px;
  height: 40px;
  background-size: 100%, 100%;
  background-color: rgba(0,0,0,0.6);
  border-radius: 50%;
}
#homeBanner .carousel-control-prev-icon:hover,
#homeBanner .carousel-control-next-icon:hover {
  background-color: #07f22b;
}

/* Indicadores */
#homeBanner .carousel-indicators [data-bs-target] { background-color: #fff; }
#homeBanner .carousel-indicators .active { background-color: #07f22b; }

/* ============================================================
   CALL TO ACTION
   ============================================================ */
.call-to-action-box { background: #07f22b; padding: 25px 0; }
.call-to-action-text .action-title { font-size: 22px; font-weight: 700; margin: 0; color: #000; }
.call-to-action-btn .btn-dark { background: #000; color: #fff; border: none; }
.call-to-action-btn .btn-dark:hover { background: #333; }

/* ============================================================
   QUEM SOMOS
   ============================================================ */

.ts-features { padding: 60px 0; }
.into-title { font-size: 22px; font-weight: 700; margin-bottom: 15px; }
.into-sub-title { font-size: 18px; font-weight: 600; margin-bottom: 15px; color:#022601; }
.ts-intro p { margin-bottom: 15px; }
.bg-verde{color:#fff;background-color:  #022601;}

div.dv-linha-team{display: flex;justify-content: space-around}
div.dv-img-team{width:19%;}
@media screen and (max-width: 768px) {
  div.dv-linha-team{display: flex;flex-direction: column}
  div.dv-img-team{min-width:90%;margin:10px 5px;}
}
.team-slide .slick-slide {
  margin-left: 25px;
  padding-bottom: 60px;
}
.team-slide .slick-list {
  margin-left: -25px;
}
.team-slide .carousel-control {
  position: absolute; 
  bottom: 0;
  left: 50%;
  border: 0;
  background-color: #ddd;
  height: 37px;
  width: 37px;
  border-radius: 4px;
  transition: 0.3s;
  z-index: 6;
}
.team-slide .carousel-control:hover {
  background-color: #07f22b;
  color: #fff;
}
.team-slide .carousel-control.left {
  transform: translateX(calc(-50% - 25px));
}
.team-slide .carousel-control.right {
  transform: translateX(calc(-50% + 25px));
}
.team-slide .carousel-control.slick-disabled {
  opacity: 0.4;
}
.team-slide .carousel-control.slick-disabled:hover {
  background-color: #ddd;
  color: #000;
}

.ts-team-wrapper {
  position: relative;
  overflow: hidden;
}
.ts-team-wrapper .ts-team-content {
  position: absolute;
  top: 76%;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 5px;/*padding: 15px 25px;*/
  margin-top: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  transition: 350ms;
}
@media (max-width: 1200px) {
  .ts-team-wrapper .ts-team-content {
    top: 72%;
  }
}
@media (max-width: 575px) {
  .ts-team-wrapper .ts-team-content {
    text-align: center;
  }
}
.ts-team-wrapper .ts-name {
  font-size: 13px;
  margin-top: 0;
  margin-bottom: 3px;
  line-height: normal;
  color: #07f22b;
}
.ts-team-wrapper .ts-designation {
  color: #fff;
  font-size: 14px;
  margin-bottom: 15px;
  font-weight: 700;
}
.ts-team-wrapper .team-social-icons a i {
  color: #fff;
  margin-right: 8px;
  text-align: center;
  transition: 400ms;
}
.ts-team-wrapper .team-social-icons a i:hover {
  color: #07f22b;
}
.ts-team-wrapper:hover .ts-team-content {
  top: 0;
  padding-top: 50px;
}

/* Team Classic */
.ts-team-content-classic {
  margin-top: 15px;
}
.ts-team-content-classic .ts-name {
  font-size: 16px;
  margin-bottom: 5px;
  color: #212121;
}
.ts-team-content-classic .ts-designation {
  color: #888;
  margin-bottom: 5px;
  font-weight: 600;
}
.ts-team-content-classic .team-social-icons a i {
  color: #999;
}
.ts-team-content-classic .team-social-icons a i:hover {
  color: #07f22b;
}

/*Parceiros*/
section#parceiros{background-color: #e6feea;padding:.6rem 0;}
section#parceiros ul{list-style-type: none;width:80%;margin: auto;}

section#parceiros ul>li{
 
  padding:.6rem  1.2rem;margin-bottom: 1.5rem;
  font-size: 1.5rem;text-align: left;
  border: 1px solid #cefdd6;
  border-radius:.3rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
section#parceiros ul>li>img{margin-right: .6rem;border-radius: 50%;width: 3.12rem;height: 3.12rem;}
@media (max-width: 767px) {
  section#parceiros{padding: 0;}
  section#parceiros ul{width:100%;padding: 0;}
  section#parceiros ul>li{padding: 0;font-size: 1.1rem;}
  section#parceiros ul>li>img{margin-right: .3rem;width: 2.5rem;height: 2.5rem;}

}
/* ============================================================
   SERVIÇOS
   ============================================================ */
.ts-service-area { background: #022601; padding: 60px 0; color: #fff; }
.ts-service-area .section-sub-title { font-size: 22px; font-weight: 700; margin-bottom: 30px; }
.ts-service-box { margin-bottom: 30px; display: flex; }
.ts-service-box-img { margin-right: 15px; flex-shrink: 0; }
.ts-service-box-img img { width: 50px; }
.ts-service-box-info h3 { font-size: 18px; margin-bottom: 10px; color: #07f22b; }
.ts-service-box-info p { font-size: 14px; }

.plan-list li {
  display: flex;
  align-items: center;   /* alinha check, texto e logo na mesma linha */
  gap: 8px;              /* espaço entre elementos */
  margin-bottom: 6px;
}

.plan-list li i.fas.fa-check {
  color: #07f22b;        /* verde */
  font-size: 14px;
  flex-shrink: 0;
}

.plan-list li img {
  height: 20px;
  flex-shrink: 0;
}

/* ============================================================
   EQUIPE
   ============================================================ */
@media (min-width: 767px) {
   div#equipe{padding: 3rem};
}
   
  /* ===== Equipe - Carrossel ===== */
  .carousel-section {
    padding: 60px 0;
    background: #fff;
    text-align: center; 
  }
  .carousel-section h2 {
    margin-bottom: 40px;
    font-weight: 700;
    text-transform: uppercase;
  }

  /* Card do profissional */
  .team-card {
     height: auto;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    margin: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
  .team-card img {
    width: 100%;
    display: block;
    transition: transform 0.5s;
  }
  .team-card:hover img {
    transform: scale(1.1);
  }
  .team-info {
    position: absolute;
    bottom: -100%;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.65);
    color: #fff;
    padding: 15px;
    text-align: center;
    transition: all 0.4s ease-in-out;
  }
  .team-card:hover .team-info { bottom: 0; }
  .team-info h3 { font-size: 18px; margin: 0 0 5px; color:#07f22b;}
  .team-info p { font-size: 14px; margin: 0 0 10px; color: #07f22b; }
  .team-social-icons a {
    margin: 0 5px;
    color: #07f22b;
    font-size: 16px;
    transition: color 0.3s;
  }
  .team-social-icons a:hover { color: #fff; }

 /* ============================
   Ajustes do carrossel da equipe (Bootstrap 5 + Slick)
   ============================ */

/* Força o carrossel a ocupar toda a largura */
.team-carousel {
  position: relative;
}

/* Setas no desktop */
.team-carousel .slick-prev,
.team-carousel .slick-next {
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  z-index: 10;
}
.team-carousel .slick-prev::before,
.team-carousel .slick-next::before {
  font-family: 'slick';
  font-size: 20px;
  color: #fff;
  opacity: 1;
}
/* Esquerda */
.team-carousel .slick-prev {left: -50px;}

/* Direita */
.team-carousel .slick-next {right: -50px;}

/* Hover */
.team-carousel .slick-prev:hover,
.team-carousel .slick-next:hover {
  background: #07f22b;
  color: #000;
}

/* Esconde setas no mobile */
@media (max-width: 767px) {
  .team-carousel .slick-prev,
  .team-carousel .slick-next {
    display: none !important;
  }
}
/* ============================
   Personalização dos dots (Slick Carousel)
   ============================ */

/* Dots padrão */
.team-carousel .slick-dots {
  bottom: -35px; /* ajusta distância do carrossel */
}

.team-carousel .slick-dots li {
  margin: 0 6px;
}

.team-carousel .slick-dots li button {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid #07f22b;
  transition: all 0.3s ease;
}

.team-carousel .slick-dots li button::before {
  content: ""; /* remove o número */
}

.team-carousel .slick-dots li button:hover {
  background: #07f22b33; /* verde translúcido no hover */
}

/* Dot ativo */
.team-carousel .slick-dots li.slick-active button {
  background: #07f22b;
  border-color: #024a0d;
  transform: scale(1.2);
}

  



/* ============================================================
   TESTEMUNHOS
   ============================================================ */
.testemunho-carousel .quote-item {
  height: auto;
  position: relative;
  background: #fff;
  border: 1px solid #022601;/*#07f22b;*/
  border-radius: 8px;
  padding: 20px;
  margin: 20px 10px 60px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.testemunho-carousel .quote-item::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 15px 12px 0 12px;
  border-style: solid;
  border-color: #022601/*#07f22b*/ transparent transparent transparent;
}
.quote-text-border { font-style: italic; color: #555; }
.quote-item-footer {
  position: absolute;
  bottom: -45px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}
.quote-author { 
  font-size: 14px; font-weight: 700; 
  color: #022601;/*#07f22b; text-transform: uppercase;*/ 
}

/* ============================
   Carrossel de Testemunhos
   ============================ */
   
/* Setas do carrossel de testemunhos */
.testemunho-carousel .slick-prev,
.testemunho-carousel .slick-next {
  top: 40%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  z-index: 10;
}

.testemunho-carousel .slick-prev::before,
.testemunho-carousel .slick-next::before {
  font-family: "slick";
  font-size: 20px;
  color: #fff;
  opacity: 1;
}

.testemunho-carousel .slick-prev { left: -50px; }
.testemunho-carousel .slick-next { right: -50px; }

.testemunho-carousel .slick-prev:hover,
.testemunho-carousel .slick-next:hover {
  background: #07f22b;
  color: #000;
}

/* Esconde setas no mobile */
@media (max-width: 767px) {
  .testemunho-carousel .slick-prev,
  .testemunho-carousel .slick-next {
    display: none !important;
  }
}

.sct-testemunho {
  padding: 50px 0;
  background: #f9f9f9; /* fundo suave para destacar */
}

.sct-testemunho h2 {
  font-size: 1.8rem;
  margin-bottom: 30px;
  font-weight: 700;
  color: #222;
}

.testemunho-carousel {
  max-width: 900px;
  margin: 0 auto;
}

.quote-item {
  text-align: center;
  padding: 20px;
}

.quote-text-border {
  font-style: italic;
  font-size: 1.1rem;
  line-height: 1.6;
  padding: 20px;
  border-left: 5px solid #07f22b; /* verde da identidade */
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  margin-bottom: 15px;
}

.quote-author {
  font-size: 1rem;
  font-weight: 600;
  color: #024a0d; /* verde escuro */
}

/* Slick dots personalizados */
.testemunho-carousel .slick-dots {
  bottom: -35px;
}

.testemunho-carousel .slick-dots li button:before {
  font-size: 12px;
  color: #07f22b;
  opacity: 0.5;
}

.testemunho-carousel .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #024a0d;
}

/* Responsivo */
@media (max-width: 767px) {
  .quote-text-border {
    font-size: 1rem;
    padding: 15px;
  }
  .quote-author {
    font-size: 0.9rem;
  }
}


/* ============================================================
   SERVIÇOS
   ============================================================ */

#servico .section-sub-title {
  font-weight: 700;
  text-transform: uppercase;
  color: #034001;
}

.plan-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 25px 20px;
  text-align: center;
  background: #fff;
  transition: all 0.3s;
}
.plan-card:hover {
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  transform: translateY(-5px);
}

.plan-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
  text-transform: uppercase;
  color: #034001;
}

.price-box {
  margin: 15px 0;
  font-family: "Montserrat", sans-serif;
}
.price-box .currency {
  font-size: 18px;
  vertical-align: top;
}
.price-box .amount {
  font-size: 36px;
  font-weight: 700;
  color: #034001
  ;
  margin: 0 5px;
}
.price-box .period {
  display: block;
  font-size: 14px;
  color: #666;
}

.plan-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  text-align: left;
}
.plan-list li {
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.4;
}
.plan-list i {
  color: #07f22b;
  margin-right: 8px;
}
.plan-list img {
  height: 20px;
  vertical-align: middle;
  margin-left: 5px;
}
/* ============================================================
   GALERIA
   ============================================================ */
   
@media (min-width: 768px) {
    section#galeria{padding: 2rem;}
}
.galeria-item {padding: 10px;} /* separação entre cards */

.galeria-wrapper { position: relative; border-radius: 10px; overflow: hidden; }
.galeria-wrapper img { width: 100%; border-radius: 10px; display: block; }
.galeria-wrapper .info {
  position: absolute;
  bottom: 0; left: 0; width: 100%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  text-align: center;
  padding: 8px;
}
.galeria-wrapper .info h4 { font-size: 16px; margin: 0; color: #07f22b; }
.galeria-wrapper .info p { font-size: 13px; margin: 0; }

.galeria-carousel .slick-prev,
.galeria-carousel .slick-next {
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  z-index: 10;
}
/* Esquerda */
.galeria-carousel .slick-prev {left: -50px;}

/* Direita */
.galeria-carousel .slick-next {right: -50px;}

/* Hover */
.galeria-carousel .slick-prev:hover,.galeria-carousel .slick-next:hover { background: #07f22b;color: #000;}

/* Esconde setas do carrossel da galeria no mobile */
@media (max-width: 767px) {
  .galeria-carousel .slick-prev,
  .galeria-carousel .slick-next {
    display: none !important;
  }
}

/* ============================================================
   BLOG
   ============================================================ */
div.col-btn{min-width: 25rem;}
span.lbl-btn{white-space: nowrap;}
/* Estilo base para os botões de calendário */
.calendar-btn {
  transition: all 0.3s ease;
  font-size: 1.05rem;
  border-width: 2px; /* borda mais destacada */
  box-shadow: 0 4px 8px rgba(0,0,0,0.12); /* sombra inicial */
  background-color: #fff; /* fundo branco para destacar logos */
}

/* Hover com efeito de "saliente" */
.calendar-btn:hover {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
  background-color: #f8f9fa; /* leve contraste */
  text-decoration: none; /* remove sublinhado */
}

/* Logo dentro do botão */
.calendar-btn img {transition: transform 0.3s ease;}

/* Zoom leve na logo ao passar o mouse */
.calendar-btn:hover img {transform: scale(1.15);}

/* Força todos os botões do bloco a terem a mesma altura */
.calendar-btn {
  min-height: 80px;        /* ajuste conforme o design */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;             /* ocupa a largura total da coluna */
}

/* Mantém altura uniforme entre botões dentro da mesma linha */
.calendar-btn {flex: 1 1 auto;}

/*news-card*/
.news-card { border-radius: 8px; overflow: hidden; transition: all 0.3s; }
.news-card:hover {  
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  transform: translateY(-5px);
}
.news-card img { transition: transform 0.4s; }
.news-card:hover img { transform: scale(1.05); }
.news-card .card-title { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.news-card .card-text { font-size: 14px; color: #555; }
article.news-card p.text-muted{font-size: .75rem;}
/* ============================================================
   CONTATO
   ============================================================ */
form#contact-form input,form#contact-form select{width:25rem;}
.contact-form { border-radius: 8px; background: #fff; padding: 20px; }
.contact-form label { font-weight: 600; font-size: 14px; color: #333; }
.contact-form .btn-primary { background: #07f22b; border-color: #07f22b; }
.whatsapp-btn {
  display: inline-block;
  background: #25d366;
  color: #fff !important;
  font-weight: 600;
  padding: 12px 25px;
  border-radius: 30px;
}
.whatsapp-btn i { margin-right: 8px; }
.whatsapp-btn:hover { background: #1ebc57; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer { background: #000; color: #fff; padding: 15px 0 0; font-size: 16px; }
.footer h3.footer-title { color: #07f22b;font-size: 16px; font-weight: 700; margin-bottom: 15px; text-transform: uppercase; }
.footer-logo img { max-height: 70px; margin-bottom: 15px; }
.footer ul { list-style: none; padding: 0; margin: 0; }
.footer ul li { margin-bottom: 3px; color: #fff; font-size: 16px; }
.footer ul li a { color: #ccc; transition: color 0.3s; }
.footer ul li a:hover { color: #07f22b; }
.footer-services li::before {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 8px;
  color: #07f22b;
}
.footer .social-icons a {
  display: inline-block;
  margin: 0 8px;
  font-size: 20px;
  color: #fff;
  transition: color 0.3s;
}
.footer .social-icons a:hover { color: #07f22b; }
.footer-bottom {
  background: #07f22b;
  color: #000;
  padding: 15px 0;
  font-size: 14px;
  margin-top: 30px;
  text-align: center;
}
.footer-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.footer-menu ul li { margin-left: 15px; }
.footer-menu ul li a { color: #000; font-weight: 600; }
.footer-menu ul li a:hover { text-decoration: underline; }
@media (max-width: 767px) {
  .footer { text-align: center; }
  .footer-menu ul { justify-content: center; margin-top: 10px; }
  .footer-menu ul li { margin: 0 10px; }
}

/* ============================================================
   RESPONSIVIDADE
   ============================================================ */
@media (min-width: 1400px) {
  #homeBanner .carousel-item { height: 95vh; }
  #homeBanner .slide-title { font-size: 42px; }
}
@media (min-width: 992px) and (max-width: 1399px) {
  #homeBanner .carousel-item { height: 80vh; }
  #homeBanner .slide-title { font-size: 32px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  #homeBanner .carousel-item { height: 500px; }
  #homeBanner .slide-title { font-size: 24px; }
}
@media (max-width: 767px) {
  #homeBanner .carousel-item { height: 380px; }
  #homeBanner .slide-title { font-size: 18px; line-height: 1.3; padding: 0 10px; }
  #homeBanner .btn {
    display: block;
    width: 100%;
    max-width: 250px;
    margin: 8px auto;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 25px;
  }
  form#contact-form input,form#contact-form select{width:16rem;}

}
