/* =============================================
   Generic button system
   ============================================= */

.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 8px 16px;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    white-space: nowrap;
}

.btn-primary {
    background: color-mix(in srgb, var(--bg-primary-subtle) 55%, transparent);
    border: none;
    border-top: 1px solid color-mix(in srgb, var(--color-primary) 32%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);
    color: var(--color-primary-light);
    letter-spacing: 0.01em;
    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--color-primary) 70%, transparent);
}

.btn-primary:hover {
    background: color-mix(in srgb, var(--bg-primary-subtle) 75%, transparent);
    border: none;
    border-top: 1px solid color-mix(in srgb, var(--color-primary) 52%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--color-primary) 36%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--color-primary) 36%, transparent);
    color: var(--color-primary-light);
    box-shadow: inset 0 -3px 0 var(--color-primary);
}

.btn-danger {
    background: linear-gradient(135deg, var(--color-danger), var(--color-danger-dark));
    color: var(--text-white);
    border: none;
}

.btn-success {
    background: linear-gradient(135deg, var(--color-success), var(--color-success-light));
    color: var(--text-white);
    border: none;
}

.btn-info {
    background: linear-gradient(135deg, var(--color-info), var(--color-info-light));
    color: var(--text-white);
    border: none;
}

.btn-ghost {
    background: color-mix(in srgb, var(--bg-surface-1) 65%, transparent);
    border: none;
    border-top: 1px solid color-mix(in srgb, var(--border-subtle) 70%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--border-subtle) 55%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--border-subtle) 55%, transparent);
    color: var(--text-muted);
    letter-spacing: 0.01em;
    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--border-subtle) 75%, transparent);
}

.btn-ghost:hover {
    background: color-mix(in srgb, var(--bg-surface-1) 85%, transparent);
    border: none;
    border-top: 1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--border-primary) 60%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--border-primary) 60%, transparent);
    color: var(--text-primary);
    box-shadow: inset 0 -3px 0 var(--border-primary);
}

.btn-ghost--danger {
    background: color-mix(in srgb, var(--color-danger) 15%, transparent);
    border: none;
    border-top: 1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--color-danger) 24%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--color-danger) 24%, transparent);
    color: var(--color-danger);
    letter-spacing: 0.01em;
    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--color-danger) 70%, transparent);
}

.btn-ghost--danger:hover {
    background: color-mix(in srgb, var(--color-danger) 24%, transparent);
    border: none;
    border-top: 1px solid color-mix(in srgb, var(--color-danger) 58%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--color-danger) 42%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--color-danger) 42%, transparent);
    box-shadow: inset 0 -3px 0 var(--color-danger);
}


.btn-sm {
    padding: 6px 12px;
    font-size: 0.85rem;
}

/* =============================================
   Button group
   ============================================= */

.btn-group {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
