/* Flujo visual único para carrito, asistentes, checkout y confirmación. */
.mfn-checkout-steps,
.mfn-cart-steps,
.woocommerce .mfn-checkout-steps{
  display:none!important;
}

.ifc-checkout-progress{
  max-width:1200px;
  margin:28px auto 38px;
  padding:0 18px;
  box-sizing:border-box;
}
.ifc-flow-steps{
  list-style:none!important;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0!important;
  padding:0!important;
}
.ifc-flow-step{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-width:0;
  color:#697386;
  font-size:15px;
  font-weight:500;
  text-align:center;
}
.ifc-flow-step:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:0;
  top:50%;
  left:calc(50% + 58px);
  right:calc(-50% + 58px);
  height:1px;
  background:#dfe4ea;
  transform:translateY(-50%);
}
.ifc-flow-step__marker{
  position:relative;
  z-index:1;
  display:inline-flex;
  width:40px;
  height:40px;
  flex:0 0 40px;
  align-items:center;
  justify-content:center;
  border:1px solid #d7dde5;
  border-radius:50%;
  background:#fff;
  color:#53606f;
  font-weight:700;
  box-sizing:border-box;
}
.ifc-flow-step__label{
  position:relative;
  z-index:1;
  background:transparent;
  padding-right:9px;
  white-space:normal;
}
.ifc-flow-step--active{
  color:#0f315c;
  font-weight:700;
}
.ifc-flow-step--active .ifc-flow-step__marker,
.ifc-flow-step--complete .ifc-flow-step__marker{
  border-color:#168fd2;
  background:#168fd2;
  color:#fff;
}
.ifc-flow-step--complete{
  color:#465464;
}
.ifc-flow-step--complete:not(:last-child)::after{
  background:#168fd2;
}

/* En la pantalla de asistentes la barra ya aporta el contexto del paso. */
.ifc-attendees-wrap{
  margin-top:0!important;
}

@media(max-width:820px){
  .ifc-checkout-progress{
    margin:22px auto 30px;
    padding:0 12px;
    overflow-x:auto;
  }
  .ifc-flow-steps{
    min-width:620px;
  }
  .ifc-flow-step{
    gap:8px;
    font-size:13px;
  }
  .ifc-flow-step__marker{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
  .ifc-flow-step:not(:last-child)::after{
    left:calc(50% + 48px);
    right:calc(-50% + 48px);
  }
}
