/* Corrige o carrossel de logos de parceiros: o slider original dependia de JS
   (tiny-slider) que não roda no clone estático. Recriamos o efeito de rotação
   com uma animação CSS, mostrando no máximo ~5 logos por vez em uma janela fixa. */

.jkit-client-logo .tns-outer {
  overflow: hidden !important;
  max-width: 780px !important;
  margin: 0 auto !important;
}

.jkit-client-logo .tns-ovh {
  overflow: hidden !important;
  height: auto !important;
}

.jkit-client-logo .client-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 48px !important;
  width: max-content !important;
  animation: dpgLogosMarquee 16s ease-in-out infinite !important;
}

/* Esconde os slides duplicados que o slider usava para o loop de JS */
.jkit-client-logo .tns-slide-cloned {
  display: none !important;
}

.jkit-client-logo .client-slider.item {
  width: auto !important;
  max-width: 160px !important;
  flex: 0 0 auto !important;
}

.jkit-client-logo .content-image img {
  height: 42px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.jkit-client-logo .tns-nav,
.jkit-client-logo [data-nav] {
  display: none !important;
}

@keyframes dpgLogosMarquee {
  0%   { transform: translateX(0); }
  12%  { transform: translateX(0); }
  50%  { transform: translateX(-620px); }
  62%  { transform: translateX(-620px); }
  100% { transform: translateX(0); }
}

/* ===================================================================== */
/* Corrige o carrossel de depoimentos (testimonials): mesmo problema —
   slider tiny-slider sem JS ficava travado com o transform congelado
   no meio de uma transição, cortando os cards. */

.jkit-testimonials .tns-outer {
  overflow: hidden !important;
  max-width: 1184px !important;
  margin: 0 auto !important;
}

.jkit-testimonials .tns-ovh {
  overflow: hidden !important;
  height: auto !important;
}

.jkit-testimonials .testimonials-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 32px !important;
  width: max-content !important;
  animation: dpgTestimonialsMarquee 24s ease-in-out infinite !important;
}

/* Esconde os slides duplicados usados pelo slider para o loop de JS */
.jkit-testimonials .tns-slide-cloned {
  display: none !important;
}

.jkit-testimonials .testimonial-item {
  width: min(560px, 85vw) !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

.jkit-testimonials .tns-nav,
.jkit-testimonials [data-nav] {
  display: none !important;
}

@keyframes dpgTestimonialsMarquee {
  0%   { transform: translateX(0); }
  12%  { transform: translateX(0); }
  33%  { transform: translateX(-1184px); }
  45%  { transform: translateX(-1184px); }
  66%  { transform: translateX(-2368px); }
  78%  { transform: translateX(-2368px); }
  100% { transform: translateX(0); }
}

/* ===================================================================== */
/* Padroniza a altura dos cards de serviços (grid de 8 cards): sem isso
   cada card fica com uma altura diferente conforme o tamanho do texto. */

.elementor-element-cd634d6.e-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

.elementor-element-cd634d6 .elementor-widget-jkit_icon_box {
  height: 100% !important;
}

.elementor-element-cd634d6 .icon-box-link {
  height: 100% !important;
  display: flex !important;
}

.elementor-element-cd634d6 .jkit-icon-box-wrapper {
  height: 100% !important;
  min-height: 340px !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

.elementor-element-cd634d6 .icon-box-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

.elementor-element-cd634d6 .icon-box-body .title {
  min-height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-cd634d6 .icon-box-description {
  flex: 1 1 auto !important;
}

/* Deixa claro que as abas de "Por que nos contratar" são clicáveis
   (a troca de conteúdo agora funciona via script). */
.jkit-tabs .tab-nav {
  cursor: pointer !important;
}

/* ===================================================================== */
/* Corrige o menu de navegação: no mobile, o clique num item com
   submenu (via script em layout.js) adiciona a classe "dropdown-open",
   mas o CSS original só mostrava o submenu com :hover (sem funcionar
   em telas de toque). Esta regra completa o comportamento. */
.jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu .sub-menu.dropdown-open,
.jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu .jkit-mega-menu-wrapper.dropdown-open {
  opacity: 1 !important;
  visibility: visible !important;
}

.jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper.active {
  left: 0 !important;
}

/* ===================================================================== */
/* Sistema de layout próprio (dpg-*) para as páginas novas do site
   (Sobre, Contato, FAQ, Planos, etc.). Em vez de tentar reaproveitar os
   containers do Elementor (que dependem de CSS específico por página
   original e quebram o layout), essas páginas usam classes simples e
   totalmente controladas aqui — sem depender de nada externo. */

.dpg-page { overflow: hidden; }

.dpg-container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

.dpg-container.dpg-narrow { max-width: 820px; }

.dpg-section { padding: 64px 0; }
.dpg-section.dpg-section-alt { background-color: #f7f5f0; }
.dpg-section.dpg-section-dark {
  background-color: #123a3f;
  color: #fff;
  text-align: center;
}

.dpg-eyebrow {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  font-size: 13px;
  color: #16b364;
  margin: 0 0 12px;
}

.dpg-h1 {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.15;
  margin: 0 0 20px;
  color: #123a3f;
}

.dpg-h2 {
  font-size: clamp(26px, 3vw, 34px);
  margin: 0 0 16px;
  color: #123a3f;
}

.dpg-h3 {
  font-size: clamp(20px, 2.4vw, 26px);
  margin: 0 0 16px;
  color: #123a3f;
}

.dpg-section-dark .dpg-h3 { color: #fff; }

.dpg-lead {
  font-size: 17px;
  line-height: 1.6;
  color: #444;
  max-width: 640px;
}

.dpg-text p { line-height: 1.7; color: #444; margin: 0 0 16px; }
.dpg-text p:last-child { margin-bottom: 0; }

.dpg-hero-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 48px;
}
.dpg-hero-grid > * { flex: 1 1 380px; min-width: 0; }

.dpg-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  display: block;
  object-fit: cover;
}

.dpg-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin-top: 32px; }
.dpg-grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; margin-top: 32px; }
.dpg-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; margin-top: 32px; }

.dpg-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  box-sizing: border-box;
}

.dpg-card-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #e9f9e9;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  overflow: hidden;
}
.dpg-card-icon img { width: 34px; height: 34px; object-fit: contain; }

.dpg-card h4 { margin: 0 0 8px; font-size: 18px; color: #123a3f; }
.dpg-card p { margin: 0; color: #555; font-size: 14px; line-height: 1.6; }

.dpg-btn {
  display: inline-block;
  background: #123a3f;
  color: #fff !important;
  padding: 14px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  margin-top: 16px;
}
.dpg-btn:hover { opacity: 0.9; }
.dpg-btn-light { background: #fff; color: #123a3f !important; }

.dpg-cta { text-align: center; }

.dpg-list { list-style: none; padding: 0; margin: 24px 0 0; }
.dpg-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  border: 1px solid #ececec;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 16px;
}

.dpg-faq-item { margin-bottom: 32px; }
.dpg-faq-item h4 { margin: 0 0 8px; color: #123a3f; }
.dpg-faq-item p { margin: 0; color: #555; line-height: 1.6; }

.dpg-pricing-card {
  border-radius: 16px;
  padding: 32px 24px;
  box-sizing: border-box;
  border: 1px solid #ececec;
  background: #fff;
}
.dpg-pricing-card.dpg-highlight { border: 2px solid #16b364; background: #f0fff4; }
.dpg-pricing-card h3 { margin: 0 0 4px; }
.dpg-pricing-card .dpg-price { font-weight: 700; font-size: 20px; margin: 8px 0; color: #123a3f; }
