.elementor-4942 .elementor-element.elementor-element-bd529c5{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4942 .elementor-element.elementor-element-b66b893 > .elementor-widget-container{margin:0px 0px 100px 0px;}.elementor-4942 .elementor-element.elementor-element-b66b893 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:25px;font-weight:500;color:#8A8A8A;}.elementor-4942 .elementor-element.elementor-element-372585f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4942 .elementor-element.elementor-element-f0f6888{--display:flex;--padding-top:5px;--padding-bottom:5px;--padding-left:0px;--padding-right:5px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-4942 .elementor-element.elementor-element-1cb7a5e.elementor-element{--align-self:flex-start;}.elementor-4942 .elementor-element.elementor-element-1cb7a5e .elementor-icon-wrapper{text-align:center;}.elementor-4942 .elementor-element.elementor-element-1cb7a5e.elementor-view-stacked .elementor-icon{background-color:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-1cb7a5e.elementor-view-framed .elementor-icon, .elementor-4942 .elementor-element.elementor-element-1cb7a5e.elementor-view-default .elementor-icon{color:#6EC1E400;border-color:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-1cb7a5e.elementor-view-framed .elementor-icon, .elementor-4942 .elementor-element.elementor-element-1cb7a5e.elementor-view-default .elementor-icon svg{fill:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-ad893be.elementor-element{--align-self:flex-start;}.elementor-4942 .elementor-element.elementor-element-ad893be .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:18px;font-weight:500;color:#6B6B6B;}.elementor-4942 .elementor-element.elementor-element-3409703{--display:flex;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-4942 .elementor-element.elementor-element-85ba066 .elementor-icon-wrapper{text-align:center;}.elementor-4942 .elementor-element.elementor-element-85ba066.elementor-view-stacked .elementor-icon{background-color:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-85ba066.elementor-view-framed .elementor-icon, .elementor-4942 .elementor-element.elementor-element-85ba066.elementor-view-default .elementor-icon{color:#6EC1E400;border-color:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-85ba066.elementor-view-framed .elementor-icon, .elementor-4942 .elementor-element.elementor-element-85ba066.elementor-view-default .elementor-icon svg{fill:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-22e0b52 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:18px;font-weight:500;color:#6B6B6B;}.elementor-4942 .elementor-element.elementor-element-5ad7695{--display:flex;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:0px;}.elementor-4942 .elementor-element.elementor-element-a64cb6b.elementor-element{--align-self:flex-end;}.elementor-4942 .elementor-element.elementor-element-a64cb6b .elementor-icon-wrapper{text-align:center;}.elementor-4942 .elementor-element.elementor-element-a64cb6b.elementor-view-stacked .elementor-icon{background-color:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-a64cb6b.elementor-view-framed .elementor-icon, .elementor-4942 .elementor-element.elementor-element-a64cb6b.elementor-view-default .elementor-icon{color:#6EC1E400;border-color:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-a64cb6b.elementor-view-framed .elementor-icon, .elementor-4942 .elementor-element.elementor-element-a64cb6b.elementor-view-default .elementor-icon svg{fill:#6EC1E400;}.elementor-4942 .elementor-element.elementor-element-49d7b96.elementor-element{--align-self:flex-end;}.elementor-4942 .elementor-element.elementor-element-49d7b96 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:16px;font-weight:500;color:#6B6B6B;}@media(min-width:2400px){.elementor-4942 .elementor-element.elementor-element-bd529c5{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-4942 .elementor-element.elementor-element-b66b893 > .elementor-widget-container{margin:0px 0px 50px 0px;}.elementor-4942 .elementor-element.elementor-element-b66b893 .elementor-heading-title{font-size:30px;}.elementor-4942 .elementor-element.elementor-element-f0f6888{--padding-top:5px;--padding-bottom:5px;--padding-left:0px;--padding-right:5px;}.elementor-4942 .elementor-element.elementor-element-1cb7a5e.elementor-element{--align-self:flex-start;}.elementor-4942 .elementor-element.elementor-element-ad893be.elementor-element{--align-self:flex-start;}.elementor-4942 .elementor-element.elementor-element-ad893be{text-align:start;}.elementor-4942 .elementor-element.elementor-element-ad893be .elementor-heading-title{font-size:18px;}.elementor-4942 .elementor-element.elementor-element-3409703{--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;}.elementor-4942 .elementor-element.elementor-element-22e0b52 .elementor-heading-title{font-size:18px;}.elementor-4942 .elementor-element.elementor-element-5ad7695{--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:0px;}.elementor-4942 .elementor-element.elementor-element-a64cb6b.elementor-element{--align-self:flex-end;}.elementor-4942 .elementor-element.elementor-element-49d7b96.elementor-element{--align-self:flex-end;}.elementor-4942 .elementor-element.elementor-element-49d7b96 .elementor-heading-title{font-size:18px;}}/* Start custom CSS *//* ============================
   ESTRUTURA + LINHA CENTRAL
   ============================ */
.project-steps-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  max-width: 900px;
  position: relative;
  z-index: 1;
}

/* Linha atrás dos checkpoints */
.project-steps::before {
  content: "";
  position: absolute;
  left: 0%;
  right: 0%;
  top: 18px; /* Ajuste fino da altura da linha */
  height: 2px;
  background: linear-gradient(90deg, #c7c7c7, #c7c7c7);
  z-index: -1;
}

/* ============================
   BOLINHA + ESTILOS
   ============================ */

/* Estiliza o container do ícone como bolinha */
.project-step__dot .elementor-icon {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #c7c7c7;
  border: 2px solid #777;
  margin: 0 auto 6px;
  display: block;
  position: relative;
  transition: all 0.3s ease;
}

/* Some com o ícone interno (estrela, svg etc.) */
.project-step__dot i,
.project-step__dot svg {
  display: none !important;
}

/* Texto */
.project-step__label {
  font-size: 0.8rem;
  color: #999;
  text-align: center;
}

/* ATIVO */
.project-step.is-active .project-step__dot .elementor-icon {
  background: #22c55e;
  border-color: #22c55e;
  box-shadow: 0 0 14px rgba(34, 197, 94, 0.9);
}

.project-step.is-active .project-step__label {
  color: #000;
  font-weight: 600;
}

/* FINALIZADO */
.project-step.done .project-step__dot .elementor-icon {
  background: #0ea5e9;
  border-color: #0ea5e9;
}

.project-step.done .project-step__label {
  color: #555;
}
/* Animação de pulsar */
@keyframes pulseGreen {
  0% {
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.5);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 18px rgba(34, 197, 94, 1);
    transform: scale(1.15);
  }
  100% {
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.5);
    transform: scale(1);
  }
}

/* Aplica a animação na etapa ativa */
.project-step.is-active .project-step__dot .elementor-icon {
  animation: pulseGreen 3.2s infinite ease-in-out;
}

/* ============================
   RESPONSIVO
   ============================ */

/* Tablet: dá uma enxugada geral */
@media (max-width: 768px) {
  .project-steps-wrapper {
    min-height: auto;
    padding: 40px 16px;
  }

  .project-steps {
    max-width: 100%;
    gap: 12px;
  }

  .project-step__dot .elementor-icon {
    width: 24px;
    height: 24px;
  }

  .project-step__label {
    font-size: 0.75rem;
  }
}

/* Mobile: vira linha do tempo VERTICAL */
@media (max-width: 480px) {
  .project-steps {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  /* Linha vira vertical no lado esquerdo */
  .project-steps::before {
    left: 16px;
    right: auto;
    top: 10px;
    bottom: 10px;
    width: 2px;
    height: auto;
    background: #c7c7c7;
  }

  .project-step {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
  }

  .project-step__dot .elementor-icon {
    margin: 0;            /* gruda do lado da linha */
  }

  .project-step__label {
    text-align: left;
  }
}/* End custom CSS */