/* Icon Button Styles */
.btn-with-icon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.6rem 1.2rem;
}

.btn-with-icon i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.btn-with-icon:hover i {
    transform: translateY(-2px);
}

/* Icon-only button styles */
.btn-icon-only {
    width: 2.8rem;
    height: 2.8rem;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-icon-only i {
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

.btn-icon-only:hover i {
    transform: scale(1.2);
}


/* Button with Right-side Image */
.btn-with-image {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: var(--radius-md);
    transition: all var(--transition-speed);
    font-weight: 500;
    min-height: 38px;
}

.btn-with-image img {
    margin-top: 5px;
    width: 14px;
    height: 14px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    transition: transform var(--transition-speed);
}

.btn-with-image:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-with-image:hover img {
    transform: rotate(45deg);
}

.btn-primary.btn-with-image {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-secondary.btn-with-image {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
}

.btn-success.btn-with-image {
    background-color: var(--success-color);
    border-color: var(--success-color);
}

/* Spacing between icon buttons */
.mb-4 .btn {
    margin-right: 1rem;
}
