/* static/css/components/buttons.css */
/* ====================================================
   BUTTONS – Extends main.css button variables
   ==================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.6rem 1.2rem;
    border: 2px solid transparent;
    border-radius: var(--radius-md);
    font-family: var(--font-family);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition-fast);
    user-select: none;
    white-space: nowrap;
}

.btn:focus-visible {
    outline: 2px solid var(--primary-blue);
    outline-offset: 2px;
}

.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* Sizes */
.btn-sm {
    padding: 0.35rem 0.8rem;
    font-size: 0.85rem;
}

.btn-lg {
    padding: 0.8rem 2rem;
    font-size: 1.1rem;
}

/* Primary (Blue) */
.btn-primary {
    background: var(--primary-blue);
    color: var(--white);
    border-color: var(--primary-blue);
}

.btn-primary:hover {
    background: var(--bright-blue);
    border-color: var(--bright-blue);
    color: var(--white);
    text-decoration: none;
}

.btn-primary:active {
    transform: scale(0.97);
}

/* Secondary (Outline) */
.btn-outline {
    background: transparent;
    color: var(--primary-blue);
    border-color: var(--primary-blue);
}

.btn-outline:hover {
    background: var(--primary-blue);
    color: var(--white);
    text-decoration: none;
}

.btn-outline:active {
    transform: scale(0.97);
}

/* Success (Green) */
.btn-success {
    background: var(--primary-green);
    color: var(--white);
    border-color: var(--primary-green);
}

.btn-success:hover {
    background: var(--dark-green);
    border-color: var(--dark-green);
    color: var(--white);
    text-decoration: none;
}

.btn-success:active {
    transform: scale(0.97);
}

/* Danger (Red) – for delete/remove actions */
.btn-danger {
    background: #DC2626;
    color: var(--white);
    border-color: #DC2626;
}

.btn-danger:hover {
    background: #B91C1C;
    border-color: #B91C1C;
    color: var(--white);
    text-decoration: none;
}

/* Ghost (transparent) */
.btn-ghost {
    background: transparent;
    color: var(--dark-charcoal);
    border-color: var(--light-gray);
}

.btn-ghost:hover {
    background: var(--light-gray);
    text-decoration: none;
}