.ml-order-timeline {
  margin: 1.5rem 0;
}
.ml-order-timeline--cancelled {
  text-align: center;
}
.ml-order-timeline__cancel-badge {
  display: inline-block;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: var(--ml-color-error-bg, #3a1414);
  color: var(--ml-color-error, #f87171);
  font-weight: 600;
}
.ml-order-timeline__steps {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding: 0;
  margin: 0;
  justify-content: space-between;
}
.ml-order-timeline__step {
  flex: 1 1 80px;
  text-align: center;
  position: relative;
}
.ml-order-timeline__dot {
  display: block;
  width: 14px;
  height: 14px;
  margin: 0 auto 0.35rem;
  border-radius: 50%;
  border: 2px solid #888;
  background: transparent;
}
.ml-order-timeline__step[data-state="done"] .ml-order-timeline__dot {
  border-color: #c9a227;
  background: #c9a227;
  box-shadow: inset 0 0 0 2px #1a1a1a;
}
.ml-order-timeline__step[data-state="current"] .ml-order-timeline__dot {
  border-color: #e07a2f;
  background: #e07a2f;
  animation: ml-pulse 1.6s ease-in-out infinite;
}
.ml-order-timeline__label {
  font-size: 0.72rem;
  color: #ccc;
  line-height: 1.2;
}
@media (max-width: 720px) {
  .ml-order-timeline__steps {
    flex-direction: column;
    align-items: flex-start;
  }
  .ml-order-timeline__step {
    text-align: left;
    display: flex;
    gap: 0.75rem;
    align-items: center;
  }
  .ml-order-timeline__dot {
    margin: 0;
  }
}
