/**
 * Shared button styles used across multiple pages.
 * Page-specific button overrides belong in that page's CSS file.
 */

.btn-primary {
    padding: 0.75rem 1.5rem;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--border-radius-sm, 8px);
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition-fast, all 0.15s ease);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-decoration: none;
}

.btn-primary:hover:not(:disabled) {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    color: #fff;
}

.btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.btn-secondary {
    padding: 0.75rem 1.5rem;
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm, 8px);
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition-fast, all 0.15s ease);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-decoration: none;
}

.btn-secondary:hover:not(:disabled) {
    background: var(--border-light);
    color: var(--text-primary);
}

.btn-danger {
    padding: 0.75rem 1.5rem;
    background: var(--danger, #f0354b);
    color: #fff;
    border: none;
    border-radius: var(--border-radius-sm, 8px);
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition-fast, all 0.15s ease);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-danger:hover:not(:disabled) {
    background: #d6263a;
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.modal-btn {
    padding: 0.625rem 1.25rem;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-fast, all 0.15s ease);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.modal-btn-primary {
    background: var(--primary);
    color: #fff;
}

.modal-btn-primary:hover:not(:disabled) {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.modal-btn-secondary {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.modal-btn-secondary:hover:not(:disabled) {
    background: var(--border-light);
}

.modal-btn-danger {
    background: var(--danger, #f0354b);
    color: #fff;
}

.modal-btn-danger:hover:not(:disabled) {
    background: #d6263a;
}

.modal-btn:disabled,
.modal-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.modal-submit-btn {
    padding: 0.75rem 1.5rem;
    background: var(--primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition-fast, all 0.15s ease);
}

.modal-submit-btn:hover:not(:disabled) {
    background: var(--primary-dark) !important;
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

@media (max-width: 768px) {
    .btn-primary,
    .btn-secondary,
    .modal-btn {
        width: 100%;
        justify-content: center;
    }
}
