/* ========================================
   Badges & Pills
   ======================================== */

/* Base badge */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.625rem;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: 1;
  white-space: nowrap;
  border-radius: var(--radius-md);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* Badge variants */
.badge--primary {
  background-color: var(--color-primary-light);
  color: var(--color-primary-dark);
}

.badge--secondary {
  background-color: var(--color-secondary-light);
  color: var(--color-secondary-dark);
}

.badge--success {
  background-color: var(--color-success-light);
  color: #065f46;
}

.badge--error,
.badge--danger {
  background-color: var(--color-error-light);
  color: #991b1b;
}

.badge--warning {
  background-color: var(--color-warning-light);
  color: #92400e;
}

.badge--info {
  background-color: var(--color-info-light);
  color: #1e40af;
}

.badge--gray,
.badge--neutral {
  background-color: var(--color-gray-100);
  color: var(--color-gray-700);
}

/* Order status badges */
.badge--pending {
  background-color: var(--color-warning-light);
  color: #92400e;
}

.badge--processing {
  background-color: var(--color-info-light);
  color: #1e40af;
}

.badge--shipped {
  background-color: #dbeafe;
  color: #1e40af;
}

.badge--delivered {
  background-color: var(--color-success-light);
  color: #065f46;
}

.badge--canceled,
.badge--cancelled {
  background-color: var(--color-gray-100);
  color: var(--color-gray-600);
}

.badge--refunded {
  background-color: var(--color-error-light);
  color: #991b1b;
}

/* Badge sizes */
.badge--sm {
  padding: 0.125rem 0.5rem;
  font-size: 0.625rem;
}

.badge--lg {
  padding: 0.375rem 0.75rem;
  font-size: var(--font-size-sm);
}

/* Pill badge (fully rounded) */
.badge--pill {
  border-radius: var(--radius-full);
}

/* Dot badge */
.badge--dot {
  padding-left: 0.375rem;
  gap: 0.375rem;
}

.badge__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background-color: currentColor;
}

/* Badge with icon */
.badge--with-icon {
  gap: 0.25rem;
}

.badge__icon {
  width: 0.875rem;
  height: 0.875rem;
}

/* Solid badges (with border) */
.badge--solid {
  border: 1px solid currentColor;
}

.badge--solid.badge--primary {
  background-color: var(--color-primary);
  color: white;
  border-color: var(--color-primary-dark);
}

.badge--solid.badge--success {
  background-color: var(--color-success);
  color: white;
  border-color: #059669;
}

.badge--solid.badge--error {
  background-color: var(--color-error);
  color: white;
  border-color: #dc2626;
}

/* Outline badges */
.badge--outline {
  background-color: transparent;
  border: 1px solid currentColor;
}

.badge--outline.badge--primary {
  color: var(--color-primary);
}

.badge--outline.badge--success {
  color: var(--color-success);
}

.badge--outline.badge--error {
  color: var(--color-error);
}
