/* Preference button styles */
.bk-btn-added {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: white !important;
}

.bk-btn-added:hover {
    background-color: #218838 !important;
    border-color: #1e7e34 !important;
}

.bk-btn-added:focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25) !important;
}

.bk-btn-success {
    background-color: #28a745;
    border-color: #28a745;
    color: white;
}

.bk-btn-success:hover {
    background-color: #218838;
    border-color: #1e7e34;
}

.bk-btn-success:focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

/* Loading state for preference buttons */
.bk-btn.loading {
    opacity: 0.6;
    cursor: not-allowed;
    position: relative;
}

.bk-btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Smooth transition for button state changes */
.bk-btn {
    transition: all 0.3s ease;
}

.bk-btn i {
    transition: all 0.3s ease;
}

.bk-btn span {
    transition: all 0.3s ease;
}
