.barra-progresso {
    display: flex;
    justify-content: space-between;
}

.barra-progresso .bar,
.barra-progresso .progress {
    height: 6px;
    border-radius: 5px;
    cursor: auto;
    transition: var(--transition);
}

.barra-progresso .bar {
    width: 30%;
    background-color: var(--color-white);
    margin-bottom: 12px;

    border: 1px solid var(--color-border);
    border-radius: 20px;
}

.barra-progresso .bar:hover:not(.non-clickable) {
    box-shadow: 0px 0px 5px 4px rgba(0, 0, 0, 0.1);
    transition: var(--transition);
    cursor: pointer;
}

.barra-progresso .progress {
    background-color: #e5e5e5;
    top: calc(6px / -2);
}

.barra-progresso .progress.active {
    background-color: var(--color-primary);
}

.barra-progresso .progress.clickable,
.barra-progresso .bar.clickable {
    cursor: pointer;
}

/* .barra-progresso .bar:hover .progress.clickable {
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
    transition: var(--transition);
} */


/* ===============================
   PROGRESS BAR
   =============================== */

.barra-progresso {
  display: flex;
  justify-content: space-between;
  gap: 48px; 
}


.barra-progresso .bar {
  position: relative; 
  width: 30%;
  height: 36px; 
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  margin-bottom: 12px;
  padding: 0; 
  cursor: auto;
  transition: var(--transition);
}

.barra-progresso .bar.clickable { cursor: pointer; }

.barra-progresso .bar:hover:not(.non-clickable) {
  box-shadow: 0 0 5px 4px rgba(0, 0, 0, 0.1);
  transition: var(--transition);
}


.barra-progresso .progress {
  position: absolute;        
  left: 16px;
  right: 16px;
  top: 12px;               
  height: 8px;             
  border-radius: 999px;
  background-color: #e5e5e5;
  transition: var(--transition);
  z-index: 1;                
}

.barra-progresso .progress.active {
  background-color: var(--color-primary);
}

.barra-progresso .progress.clickable { cursor: pointer; }


.step-badge {
  position: absolute;
  left: 50%;
  top: 50%;  
  transform: translate(-50%, -50%);
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font: 600 14px/1 Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06);
  z-index: 2;            
}

.step-badge.active   { background: var(--color-primary); color: #fff; }
.step-badge.inactive { background: #E5E5E5; color: var(--color-primary); }

.active-text {
  color: var(--color-primary);
  font-family: "Montserrat ExtraBold";
}

.bar-text {
  justify-content: space-between; 
  gap: 48px;                      
  margin-top: 8px;
}

.bar-text > div {
  text-align: center;            
}

.bar-text .montserrat-400 { font-weight: 400; }
.bar-text .montserrat-800 { font-weight: 800; }

@media (max-width: 1024px) {
  .barra-progresso,
  .barra-progresso {
    gap: 0;
  }
}

@media (max-width: 768px) {
  /* container vira uma trilha única */
  .barra-progresso {
    position: relative;
    align-items: center;
    gap: 0;                  /* nós igualmente espaçados */
    padding: 12px 12px 0;    /* respiro lateral p/ linha */
  }

  /* linha base (cinza) atrás dos nós */
  .barra-progresso::before {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    top: 24px;               /* alinhado ao centro dos círculos */
    height: 4px;
    border-radius: 999px;
    background: #e5e5e5;
    z-index: 0;
  }

  /* linha de progresso (verde) até o passo atual) */
  .barra-progresso::after {
    content: "";
    position: absolute;
    left: 12px;
    top: 24px;
    height: 4px;
    border-radius: 999px;
    background: var(--color-primary);
    width: 0;               /* default (passo 1 = 0%) */
    transition: width .25s ease;
    z-index: 0;
  }
  .barra-progresso.is-step-2::after { width: calc(50% - 12px); } /* até o nó 2 */
  .barra-progresso.is-step-3::after { width: calc(100% - 24px); }/* até o nó 3 */

  /* cada “bar” deixa de ser pílula e vira só o nó */
  .barra-progresso .bar {
    background: transparent;
    border: 0;
    width: auto;            /* NÃO mexe em % do desktop, só no mobile */
    height: auto;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
  }

  /* esconde a “linha interna” do desktop */
  .barra-progresso .progress { display: none; }

  /* círculos um ao lado do outro, centralizados */
  .barra-progresso {
    display: flex;
    justify-content: space-between;
  }

  /* círculo um pouco maior no mobile */
  .step-badge {
    position: relative;
    transform: none;
    left: auto;
    top: auto;
    width: 32px;
    height: 32px;
    font-size: 14px;
    z-index: 1;
  }

  .bar-text {
    gap: 0;                      
}
}