/* landing-maximus.css */

/* Header */
.top-bar {
    background:#000; 
    padding:8px 0;
}
.top-bar i {
  color: #FECB28;
}
.top-bar .container {
    display:flex; 
    justify-content:flex-end; 
    gap:20px;
    max-width: 1200px;
    margin: 0 auto;
}
.top-bar .container a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #fff;
}

.top-bar .container a:hover {
  color: #FECB28;
}

.landing-header {
  padding: 5px 0;
  background: #fff;
  color: #000;


}
.landing-header .container {
display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
    margin: 0 auto;
}

.logo a {
    height: 100%;
    display: block;
}

.logo img {
  max-height: 110px;
  max-width: 210px;
}

.landing-header .cta > a {
  color: #000;
  text-transform: uppercase;
  font-weight: 700;
  padding: 10px 15px;
  background: #FECB28;
  border-radius: 10px;
  font-size: 12px;
  letter-spacing: 1.2px;
  cursor: pointer;
}
.landing-header .cta a.btn.btn-primary:hover {
  color: #FECB28;
  background: #000;
}
.landing-header .cta > a.whats-header {
  background: #00d757;
}

.landing-header .cta > a.whats-header:hover {
  color: #fff;
}

/* Geral */
body.page-template-page-landing-maximus {
  background: #000;
  color: #fff;
}
body.page-template-page-landing-maximus .elementor-location-header {
    display: none;
}
body h2 {
  font-weight: 600;
  text-transform: uppercase;
}


.banner-principal .text {
  position: absolute;
  z-index: 11;
  bottom: 200px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
/* Slider container */
.banner-principal {
  position: relative;
  overflow: hidden;
  height: 60vh;             /* ou fixe em px, como 500px */
}

/* Cada slide usa background */
.banner-principal .slider {
  position: absolute;
  inset: 0;
}
.banner-principal .slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.banner-principal .slide.active {
  opacity: 1;
}

/* ===== Seção Junte-se a nós ===== */
.join-us {
  padding: 60px 0;
}
.join-us__wrapper {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 1100px;
  margin: 0 auto;
}
.join-us__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  max-width: 300px;
}
.join-us__content h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #ffd100;
}
.join-us__content p {
  font-size: 1rem;
  line-height: 1.6;
  color: #fff;
}

/* ===== Responsivo ===== */
@media (max-width: 767px) {
  .join-us__wrapper {
    flex-direction: column;
    gap: 20px;
  }
  .join-us__content h2 {
    font-size: 1.5rem;
    text-align: center;
  }
  .join-us__content p {
    font-size: 0.9rem;
    text-align: center;
  }
  .join-us__image img {
    border-radius: 4px;
  }
  
  .join-us__image img:nth-child(1) {
    display: none;
  }
  .join-us__image img:nth-child(2) {
    max-height: 400px;
    object-fit: cover;
    max-width: 100%;
  }
}



#quem-somos, #monitoramento-eletronico, #diferenciais, #clientes, #contato {
  max-width: 1200px;
  margin: 0 auto 30px;
}

/* ===== Seção Serviços Destaque ===== */
.servicos-destaque {
  background: #000;      /* ou outra cor de fundo */
  margin: 30px 0 0;
}
.servicos-destaque .cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}
.servicos-destaque .card {
  background: #FFD100;   /* amarelo */
  border: 1px solid #fff;
  border-radius: 8px;
  padding: 30px;
  text-align: center;
  transition: transform .2s;
}
.servicos-destaque .card:hover {
  transform: translateY(-5px);
}
.servicos-destaque .card img {
  width: 60px;
  margin-bottom: 20px;
}
.servicos-destaque .card h3 {
  margin-bottom: 15px;
  font-size: 1.4rem;
  color: #000;
  font-weight: 600;
}
.servicos-destaque .card p {
  color: #000;
  line-height: 1.5;
}


#servicos-destaque .container {
  max-width: 1200px;
  margin: 0 auto;
}
.icon.style-color .jki {
  font-size: 40px;
  color: #000;
}


#quem-somos {
  max-width: 768px;
  color: #FECB28;
  line-height: 1.5;
  text-align: center;
  padding: 40px 0 10px;
}
#quem-somos h2 {
  text-transform: uppercase;
  font-weight: 600;
  margin: 30px 0;
}
#quem-somos p {
    color: #fff;
}
#clientes {
  text-align: center;
  background: #fff;
  color: #000;
  padding: 20px 0;
  border-radius: 15px;
}
#clientes h2 {
  margin: 0 0 10px;
}
#clientes .logos {
    display:flex; 
    flex-wrap:wrap; 
    justify-content:center; 
    gap:30px; 
    margin-top:40px;
}



.join-us__image {
  display: flex;
  gap: 20px;
  width: 60%;
  align-items: center;
}
.join-us__image img:nth-child(2) {
  position: relative;
  bottom: -80px;
}

.join-us__content {
  width: 40%;
  margin-bottom: 160px;
}

@media (max-width: 768px) {
  .join-us__content, .join-us__image {
      width: 100%;
      justify-content: start;
      margin: 0;
  }
  .join-us__image img:nth-child(2) {
  position: initial;
  bottom: -80px;
}
}


/* Container com navegação */
.logos-slider-container {
  position: relative;
  overflow: hidden;
  padding: 20px 0;
}

/* Slider em si */
.logos-slider {
  display: flex;
  align-items: center;
  gap: 40px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

.logos-slider {
  overflow-x: auto;             /* mantém o scroll funcional */
  -ms-overflow-style: none;      /* IE/Edge Legacy */
  scrollbar-width: none;        /* Firefox */
}
.logos-slider::-webkit-scrollbar {
  display: none;                /* Chrome, Safari e Opera */
}

/* Botões de navegação */
.logos-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 1.2rem;
  cursor: pointer;
  transition: background .2s;
  padding: 0;
}
.logos-nav:hover {
  background: rgba(0,0,0,0.8);
}
.logos-prev {
  left: 10px;
}
.logos-next {
  right: 10px;
}

/* Cada logo */
.logos-slider img {
  flex: 0 0 auto;
  width: 140px;
  scroll-snap-align: center;
  opacity: 0.7;
  transition: opacity .3s, transform .3s;
}
.logos-slider img:hover {
  opacity: 1;
  transform: scale(1.05);
}

#diferenciais {
  text-align: center;
}

#diferenciais ul {
  list-style: none !important;
}

/* ===== Cards de Diferenciais ===== */
.diferenciais-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 40px 0;
}
.diferenciais-cards li {
  position: relative;
  background: rgba(254,203,40,0.1);
  border: 2px solid #FECB28;
  border-radius: 8px;
  padding: 20px 30px 20px 60px;
  color: #fff;
  font-size: 1rem;
  line-height: 1.5;
  transition: transform .2s, box-shadow .2s;
}
.diferenciais-cards li:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.3);
}
.diferenciais-cards li::before {
  content: "✔";
  position: absolute;
  left: 20px;
  top: 10px;
  font-size: 1.5rem;
  color: #FECB28;
}



/* Container geral */
.stats-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
  padding: 0;
  margin: 60px 0;
  list-style: none;
}

/* Cada círculo */
.stats-list li {
  position: relative;
  width: 270px;
  height: 270px;
  background: rgba(254, 203, 40, 0.1); /* fundo claro por baixo do degradê */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  
  /* borda degradê */
  border: 6px solid #FECB28;
  
  text-align: center;
  padding: 20px;
  border-radius: 50%;
}

/* Número animado */
.stats-list .stat-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: #FECB28;
  display: block;
  min-width: 3ch;
  margin-bottom: 8px;
}

/* Descrição abaixo do número */
.stats-list li span + * {
  display: block;
  font-size: 1rem;
  color: #333;
  line-height: 1.4;
}

/* Responsivo: vira carrossel no mobile */
@media (max-width: 767px) {
  .stats-list {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 20px;
    padding-bottom: 10px;
  }
  .stats-list li {
    scroll-snap-align: start;
  }
}

#contato {
    text-align: center;
    max-width: 660px;
}
#contato form {
    display:grid; 
    gap:15px; 
    margin-top:30px;
}
#contato .btn.btn-primary {
  border-color: #FECB28;
  color: #000;
  background: #FECB28;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 7px;
}
#contato p {
    margin-top: 20px;
}
#contato p a {
  color: #fff;
}
#contato p a:hover {
  color: #fecb28;
}



/* ===== Fade-in geral ===== */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== Fade-in geral ===== */
.page-template-page-landing-maximus .elementor-element-500e1781, .page-template-page-landing-maximus .elementor-element-65155cd1 {
  display: none;
}


.page-template-page-landing-maximus .elementor-302 .elementor-element.elementor-element-70c6b5f5.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated {
background: #FECB28;
}
.page-template-page-landing-maximus .social-geral, .page-template-page-landing-maximus .info-geral {
  display: none;
}
.page-template-page-landing-maximus .info-saopaulo, .page-template-page-landing-maximus .social-sp {
  display: block !important;
}

  .banner-mobile {
    display: none;
  }

  
.elementor-element-fa8be3f .elementor-widget-wrap.elementor-element-populated {
  flex-direction: column-reverse;
}
.elementor-element.elementor-element-49f4413.elementor-view-default.elementor-vertical-align-top.elementor-widget.elementor-widget-icon-box {
  margin-bottom: 20px;
}

/* Oculta o joinchat padrão SÓ nesta página */
body.page-template-page-landing-maximus .joinchat { display: none !important; }

/* Botão flutuante WhatsApp (SP) */
.whats-float-sp{
  position: fixed;
  right: 18px; bottom: 22px;
  width: 64px; height: 64px;
  background: #25D366; color: #fff;
  border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; z-index: 9999;
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
  transition: transform .15s ease, box-shadow .15s ease;
  animation: whats-pulse 2s infinite;
}
.whats-float-sp:hover{ transform: translateY(-2px); box-shadow:0 14px 24px rgba(0,0,0,.3); }

.whats-float-sp .whats-label{
  position: absolute;
  right: 74px;
  background: #fff;
  color: #000;
  padding: 8px 12px;
  border-radius: 9999px;
  font-size: .9rem;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  opacity: 0;
  width: 0;
}

.whats-float-sp .jki-whatsapp:before {
  font-size: 44px;
}

.whats-float-sp:hover .whats-label {
  opacity: 1;
  width: initial;
}

/* Animação sutil */
@keyframes whats-pulse{
  0%{ box-shadow:0 0 0 0 rgba(37,211,102,.6); }
  70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); }
  100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

/* Mobile: menor e sem label */
@media (max-width: 767px){
  .whats-float-sp{ width: 56px; height: 56px; right: 14px; bottom: 14px; }
  .whats-float-sp .whats-label{ display: none; }
}





@media (max-width: 500px) {
  .banner-principal {
    display: none;
  }
  .banner-mobile {
    display: block;
  }
  .logo img {
    max-width: 170px;
  }
    .landing-header .cta > a.whats-header {
    display: none;
  }
    .landing-header .container {
        padding: 5px;
        gap: 10px;
    }
    .landing-header .cta {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .top-bar .container {
        align-items: center;
        flex-direction: column;
        align-items: center;
    }
    #contato p {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 14px;
    }
    .elementor-302 .elementor-element.elementor-element-32bd0351 {
        padding: 10px 0 0;
    }
    #diferenciais ul {
        padding: 0;
    }

    .page-template-page-landing-maximus section {
        padding: 10px !important;
    }
    .page-template-page-landing-maximus h2 {
        font-size: 17px;
    }
    .page-template-page-landing-maximus p {
        font-size: 12px;
    }
    .page-template-page-landing-maximus h3 {
        font-size: 18px;
        text-transform: uppercase;
    }
    .page-template-page-landing-maximus .feature h3 {
        font-size: 14px;
    }
    #diferenciais li {
        font-size: 12px;
    }
    .servicos-destaque .card h3 {
        font-size: 16px;
    }
    .landing-header .cta > a {
        font-size: 10px;
    }
    
    input, textarea, select {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
  .features {
    display: flex !important;           /* vira flex no mobile */
    overflow-x: auto;                   /* scroll horizontal */
    scroll-snap-type: x mandatory;      /* trava o snap em cada slide */
    -webkit-overflow-scrolling: touch;  /* inércia no iOS */
    gap: 20px;                          /* espaçamento entre itens */
    padding-bottom: 10px;               /* evita corte do shadow/underflow */
  }
  .features .feature {
    flex: 0 0 80%;                      /* cada “slide” ocupa 80% da viewport */
    scroll-snap-align: start;           /* alinha o início de cada slide */
  }
  /* Opcional: tira a margem grid original */
  .features {
    margin-top: 20px !important;
  }
  #servicos-destaque {
    margin: 0;
  }

  .servicos-destaque .cards {
    display: flex !important;            /* vira flex no mobile */
    overflow-x: auto;                    /* scroll horizontal */
    scroll-snap-type: x mandatory;       /* trava o snap em cada “slide” */
    -webkit-overflow-scrolling: touch;   /* inércia suave no iOS */
    gap: 20px;                           /* espaçamento entre cards */
    padding-bottom: 10px;                /* para não cortar sombra/overflow */
  }
  .servicos-destaque .cards .card {
    flex: 0 0 80%;                       /* cada card ocupa ~80% da viewport */
    scroll-snap-align: start;            /* alinha cada um no início */
  }
  .banner-principal .text {
    display: none;
  }
  .stats-list li {
    width: 230px;
    height: 230px;
  }
}

