/* ============================================
   BADGES
   Reusable status badges with variants
   ============================================ */

.badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    border-radius: var(--r-full);
    /* Full pill effect */
    white-space: nowrap;
    transition: all 0.2s ease;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Badge Variants */
.badge-success {
    background: linear-gradient(135deg,
            rgba(var(--c-success-rgb), 0.15) 0%,
            rgba(var(--c-success-rgb), 0.1) 100%);
    color: var(--c-success);
    border: 1px solid rgba(var(--c-success-rgb), 0.3);
    box-shadow: 0 0 20px rgba(var(--c-success-rgb), 0.1);
}

.badge-info {
    background: linear-gradient(135deg,
            rgba(var(--c-primary-rgb), 0.15) 0%,
            rgba(var(--c-primary-rgb), 0.1) 100%);
    color: var(--c-primary);
    border: 1px solid rgba(var(--c-primary-rgb), 0.3);
    box-shadow: 0 0 20px rgba(var(--c-primary-rgb), 0.1);
}

.badge-warning {
    background: linear-gradient(135deg,
            rgba(var(--c-warning-rgb), 0.15) 0%,
            rgba(var(--c-warning-rgb), 0.1) 100%);
    color: var(--c-warning);
    border: 1px solid rgba(var(--c-warning-rgb), 0.3);
    box-shadow: 0 0 20px rgba(var(--c-warning-rgb), 0.1);
}

.badge-danger {
    background: linear-gradient(135deg,
            rgba(var(--c-error-rgb), 0.15) 0%,
            rgba(var(--c-error-rgb), 0.1) 100%);
    color: var(--c-error);
    border: 1px solid rgba(var(--c-error-rgb), 0.3);
    box-shadow: 0 0 20px rgba(var(--c-error-rgb), 0.1);
}

.badge-neutral {
    background: linear-gradient(135deg,
            rgba(var(--c-text-ghost-rgb), 0.15) 0%,
            rgba(var(--c-text-ghost-rgb), 0.1) 100%);
    color: var(--c-text-ghost);
    border: 1px solid rgba(var(--c-text-ghost-rgb), 0.3);
    box-shadow: 0 0 20px rgba(var(--c-text-ghost-rgb), 0.1);
}

/* Badge with icon */
.badge i {
    width: 0.875rem;
    height: 0.875rem;
}

/* Hover effect (optional, for interactive badges) */
.badge.badge-interactive {
    cursor: pointer;
}

.badge.badge-interactive:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Small variant */
.badge-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.625rem;
    gap: 0.25rem;
}

.badge-sm i {
    width: 0.75rem;
    height: 0.75rem;
}

/* Large variant */
.badge-lg {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    gap: 0.5rem;
}

.badge-lg i {
    width: 1rem;
    height: 1rem;
}