/* ============================================================
 * Overrides aplicados em cima do mirror Elementor.
 * Carregado em todas as páginas via <link> no <head>.
 * ============================================================ */

/* Sticky header: forçar largura full-viewport (Elementor por padrão
   trava em max-width 1440px, deixa o fundo cortado em telas largas) */
.elementor-section[data-elementor-type="header"],
header.elementor-location-header,
.e-con-boxed.e-parent[data-elementor-type="header"],
[data-elementor-type="header"] > .e-con,
[data-elementor-type="header"] .e-con-boxed.e-parent {
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
}

/* Sticky bar (Elementor sticky module) — mesmo tratamento */
.elementor-sticky,
.elementor-sticky--effects,
.elementor-element.elementor-sticky,
.elementor-element.elementor-sticky--effects {
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
}

/* O conteúdo INTERNO do header mantém o max-width centrado */
[data-elementor-type="header"] .e-con-inner,
header .e-con-inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

/* Axiforma woff2 não tem glyph pra ligatura "fi" — desabilita ligatures
   em todo o site pra evitar "finalizam" renderizando como "nalizam" */
* {
  font-variant-ligatures: none !important;
  font-feature-settings: "liga" 0, "clig" 0, "dlig" 0 !important;
}

/* Counter 65% (data-id 0a8d25f) — título foi injetado manualmente (live tinha
   bug do WP). O widget tinha CSS custom: color:black, font-size:16px, line-height:40px.
   Forçar igual aos outros counters em CADA breakpoint:
   - Mobile (< 768px):    16px / 19.2px  (todos os counters da seção usam isso)
   - Desktop (≥ 768px):   20px / 30px    (outros counters usam isso) */
.elementor-element-0a8d25f .elementor-counter-title {
  color: #ffffff !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}
@media (min-width: 768px) {
  .elementor-element-0a8d25f .elementor-counter-title {
    font-size: 20px !important;
    line-height: 30px !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-0a8d25f .elementor-counter-title {
    font-size: 16px !important;
    line-height: 19.2px !important;
  }
}

/* Espaçamento entre número e título — alinhar todos os counters da seção pra
   ficar igual ao do 65% (que é mais tight). Removendo o gap: 20px do flex. */
.elementor-counter {
  gap: 0 !important;
  row-gap: 0 !important;
}

/* "1/3" e "20-30%" são heading widgets seguidos de text-editor widgets separados.
   Não dá pra usar gap: 0 no parent (afetaria divisor↔stat também).
   Solução: negative margin-top no text-editor logo após o heading.
   - 1/3 (fdb83b0)   → text "dos exames..." (710bf73)
   - 20-30% (276d3ef) → text "dos recursos..." (8baf97e) */
.elementor-element-710bf73,
.elementor-element-8baf97e {
  margin-top: -20px !important;
}

/* ============================================================
 * Case study pages — conteúdo injetado em <div class="page-content">.
 * Estilos próprios pra match com paleta Elementor (#EE6629 / #270833).
 * ============================================================ */
.page-content {
  background: #18041F;
  color: #ffffff;
  padding: 0;
}
.case-back-bar {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 24px;
}
.case-back-link {
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}
.case-back-link:hover { color: #EE6629; }
.case-back-icon { font-size: 18px; }
.case-hero {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 24px 48px;
}
.case-title {
  font-size: 44px;
  line-height: 1.1;
  color: #ffffff;
  margin: 0 0 16px;
  font-weight: 700;
}
.case-subtitle {
  font-size: 18px;
  line-height: 1.4;
  color: rgba(255,255,255,0.85);
  margin: 0;
  font-weight: 400;
}
.case-card,
.case-section {
  max-width: 1100px;
  margin: 0 auto 32px;
  padding: 40px 48px;
  background: rgba(70, 44, 80, 0.4);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  color: rgba(255,255,255,0.9);
}
.case-section {
  background: transparent;
  border: none;
  padding: 24px 24px 40px;
}
.case-h2 {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 24px;
}
.case-h2-light {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
}
.case-h2-brand {
  font-size: 36px;
  font-weight: 400;
  color: #EE6629;
  margin: 0 0 8px;
}
.case-h2-strong { font-weight: 700; color: #EE6629; }
.case-h3 {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 16px;
}
.case-subhead {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  margin: 0 0 32px;
}
.case-p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 16px;
  color: rgba(255,255,255,0.9);
}
.case-bullets {
  list-style: disc;
  padding-left: 20px;
  margin: 0 0 24px;
}
.case-bullets li {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 8px;
  color: rgba(255,255,255,0.9);
}
.case-bullets strong { color: #ffffff; font-weight: 700; }
.case-divider {
  border: none;
  height: 1px;
  background: rgba(255,255,255,0.15);
  margin: 32px 0;
}
.case-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 32px 0;
  padding: 32px;
  background: rgba(70, 44, 80, 0.3);
  border-radius: 16px;
  flex-wrap: wrap;
}
.case-flow-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  min-width: 140px;
}
.case-flow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ffffff;
  color: #EE6629;
  font-size: 22px;
}
.case-flow-label {
  font-size: 14px;
  color: rgba(255,255,255,0.9);
  line-height: 1.3;
}
.case-flow-line {
  flex: 0 0 60px;
  height: 1px;
  border-top: 2px dashed rgba(238,102,41,0.5);
}
.case-steps {
  display: flex;
  gap: 8px;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 16px 0 32px;
}
.case-step {
  flex: 1 1 180px;
  min-width: 180px;
  background: rgba(70, 44, 80, 0.4);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 20px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.case-step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff;
  color: #EE6629;
  font-size: 18px;
}
.case-step p {
  font-size: 13px;
  line-height: 1.4;
  margin: 0;
  color: rgba(255,255,255,0.9);
}
.case-step-arrow {
  display: flex;
  align-items: center;
  color: #EE6629;
  font-size: 24px;
  font-weight: 700;
}
.case-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 24px 0 32px;
}
.case-metric-value {
  font-size: 40px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 8px;
}
.case-metric-label {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  line-height: 1.3;
}
.case-quote {
  font-size: 16px;
  font-style: italic;
  color: rgba(255,255,255,0.8);
  margin: 0;
  text-align: right;
  border: none;
  padding: 0;
}
@media (max-width: 768px) {
  .case-title { font-size: 30px; }
  .case-subtitle { font-size: 16px; }
  .case-card, .case-section { padding: 24px 20px; }
  .case-h2, .case-h2-light, .case-h2-brand { font-size: 24px; }
  .case-metrics { grid-template-columns: 1fr; }
  .case-step-arrow { display: none; }
  .case-flow-line { display: none; }
}
