/* ============================================================
   majsterkowo_dostarczone — tracking widget
   Korzysta z klas Bootstrap 5 dostepnych w motywie Hummingbird.
   Wlasne klasy z prefixem .majsterkowo-tracking
   ============================================================ */

.majsterkowo-tracking {
  background: #fff;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: .5rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}

.majsterkowo-tracking__title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 1rem;
  color: var(--bs-body-color, #212529);
}

.majsterkowo-tracking__icon {
  flex-shrink: 0;
  color: var(--bs-primary, #0d6efd);
}

/* ── Numer listu przewozowego ─────────────────────── */

.majsterkowo-tracking__waybill {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .375rem .75rem;
  margin-bottom: 1.25rem;
  font-size: .9rem;
}

.majsterkowo-tracking__waybill-label {
  color: var(--bs-secondary-color, #6c757d);
}

.majsterkowo-tracking__waybill-number {
  font-family: var(--bs-font-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
  font-size: .95rem;
  letter-spacing: .025em;
}

.majsterkowo-tracking__external-link {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .8125rem;
  color: var(--bs-primary, #0d6efd);
  text-decoration: none;
}
.majsterkowo-tracking__external-link:hover {
  text-decoration: underline;
}

/* ── Loader ───────────────────────────────────────── */

.majsterkowo-tracking__loader {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .75rem 0;
  color: var(--bs-secondary-color, #6c757d);
  font-size: .875rem;
}

.majsterkowo-tracking__spinner {
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--bs-border-color, #dee2e6);
  border-top-color: var(--bs-primary, #0d6efd);
  border-radius: 50%;
  animation: majsterkowo-spin .8s linear infinite;
}

@keyframes majsterkowo-spin {
  to { transform: rotate(360deg); }
}

/* ── Pasek kroków ─────────────────────────────────── */

.majsterkowo-tracking__steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: .5rem 0 0;
}

.majsterkowo-tracking__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
}

.majsterkowo-tracking__step-dot {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: var(--bs-border-color, #dee2e6);
  border: 2px solid var(--bs-border-color, #dee2e6);
  transition: background .3s, border-color .3s, box-shadow .3s;
  position: relative;
  z-index: 1;
}

.majsterkowo-tracking__step-label {
  margin-top: .5rem;
  font-size: .75rem;
  color: var(--bs-secondary-color, #6c757d);
  text-align: center;
  white-space: nowrap;
  transition: color .3s, font-weight .3s;
}

.majsterkowo-tracking__step-line {
  flex: 1 1 0;
  height: 3px;
  background: var(--bs-border-color, #dee2e6);
  margin-top: calc(.75rem - 1px);
  transition: background .3s;
  min-width: 1rem;
}

/* ── Stany aktywne ────────────────────────────────── */

.majsterkowo-tracking__step.is-completed .majsterkowo-tracking__step-dot {
  background: var(--bs-success, #198754);
  border-color: var(--bs-success, #198754);
}

.majsterkowo-tracking__step.is-completed .majsterkowo-tracking__step-label {
  color: var(--bs-success, #198754);
}

.majsterkowo-tracking__step.is-current .majsterkowo-tracking__step-dot {
  background: #fff;
  border-color: var(--bs-primary, #0d6efd);
  box-shadow: 0 0 0 4px rgba(13, 110, 253, .2);
}

.majsterkowo-tracking__step.is-current .majsterkowo-tracking__step-label {
  color: var(--bs-primary, #0d6efd);
  font-weight: 600;
}

.majsterkowo-tracking__step-line.is-completed {
  background: var(--bs-success, #198754);
}

/* ── Statusy specjalne (anulowana, zwrot) ─────────── */

.majsterkowo-tracking__step.is-error .majsterkowo-tracking__step-dot {
  background: var(--bs-danger, #dc3545);
  border-color: var(--bs-danger, #dc3545);
}

.majsterkowo-tracking__step.is-error .majsterkowo-tracking__step-label {
  color: var(--bs-danger, #dc3545);
  font-weight: 600;
}

/* ── Status tekstowy ──────────────────────────────── */

.majsterkowo-tracking__status-text {
  margin-top: .75rem;
  padding: .625rem .875rem;
  border-radius: .375rem;
  font-size: .875rem;
  font-weight: 500;
}

.majsterkowo-tracking__status-text.is-delivered {
  background: rgba(25, 135, 84, .08);
  color: var(--bs-success, #198754);
}

.majsterkowo-tracking__status-text.is-in-transit {
  background: rgba(13, 110, 253, .08);
  color: var(--bs-primary, #0d6efd);
}

.majsterkowo-tracking__status-text.is-error-status {
  background: rgba(220, 53, 69, .08);
  color: var(--bs-danger, #dc3545);
}

/* ── Komunikat błędu ──────────────────────────────── */

.majsterkowo-tracking__error {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem .875rem;
  border-radius: .375rem;
  background: rgba(220, 53, 69, .08);
  color: var(--bs-danger, #dc3545);
  font-size: .875rem;
}

/* ── Responsywność ────────────────────────────────── */

@media (max-width: 575.98px) {
  .majsterkowo-tracking {
    padding: 1rem;
  }
  .majsterkowo-tracking__step-label {
    font-size: .625rem;
  }
  .majsterkowo-tracking__step-dot {
    width: 1.25rem;
    height: 1.25rem;
  }
  .majsterkowo-tracking__step-line {
    margin-top: calc(.625rem - 1px);
  }
}
