/*! 9ui Badge v1.0 | MIT License | https://9ui.dev */

.ui-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-1);
  font-size: var(--ui-text-xs);
  font-weight: var(--ui-font-semibold);
  line-height: 1;
  padding: var(--ui-space-0-5) var(--ui-space-2);
  border-radius: var(--ui-radius-full);
  border: 1px solid transparent;
  white-space: nowrap;
  letter-spacing: var(--ui-tracking-wide);
  text-transform: uppercase;
}

/* ─── Variants ─── */
.ui-badge-default {
  background-color: hsl(var(--ui-secondary));
  color: hsl(var(--ui-secondary-foreground));
  border-color: hsl(var(--ui-border));
}

.ui-badge-primary {
  background-color: hsl(var(--ui-primary) / 0.12);
  color: hsl(var(--ui-primary));
  border-color: hsl(var(--ui-primary) / 0.2);
}

.ui-badge-solid-primary {
  background-color: hsl(var(--ui-primary));
  color: hsl(var(--ui-primary-foreground));
}

.ui-badge-success {
  background-color: hsl(var(--ui-success) / 0.12);
  color: hsl(var(--ui-success));
  border-color: hsl(var(--ui-success) / 0.2);
}

.ui-badge-warning {
  background-color: hsl(var(--ui-warning) / 0.15);
  color: hsl(43 80% 40%);
  border-color: hsl(var(--ui-warning) / 0.3);
}

.ui-badge-error,
.ui-badge-destructive {
  background-color: hsl(var(--ui-destructive) / 0.12);
  color: hsl(var(--ui-destructive));
  border-color: hsl(var(--ui-destructive) / 0.2);
}

.ui-badge-info {
  background-color: hsl(var(--ui-info) / 0.12);
  color: hsl(var(--ui-info));
  border-color: hsl(var(--ui-info) / 0.2);
}

/* ─── Special badges ─── */
.ui-badge-hot {
  background: linear-gradient(135deg, hsl(0 90% 60%), hsl(30 100% 55%));
  color: #fff;
  border: none;
  animation: ui-pulse 2s ease-in-out infinite;
}

.ui-badge-new {
  background: linear-gradient(135deg, hsl(var(--ui-primary)), hsl(var(--ui-chart-3)));
  color: #fff;
  border: none;
}

.ui-badge-featured {
  background: linear-gradient(135deg, hsl(43 96% 56%), hsl(30 100% 55%));
  color: hsl(40 40% 10%);
  border: none;
}

/* ─── Sizes ─── */
.ui-badge-sm {
  font-size: 0.625rem;
  padding: 2px var(--ui-space-1-5);
}

.ui-badge-lg {
  font-size: var(--ui-text-sm);
  padding: var(--ui-space-1) var(--ui-space-3);
  border-radius: var(--ui-radius-lg);
}

/* ─── Square variant ─── */
.ui-badge-square {
  border-radius: var(--ui-radius-md);
  text-transform: none;
  letter-spacing: normal;
}

/* ─── Dot indicator ─── */
.ui-badge-dot::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: currentColor;
  flex-shrink: 0;
}
