.favorite-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 1.5rem;
    background-color: #ffffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
    z-index: 10;
}

.favorite-icon:hover {
    transform: scale(1.1);
}

.favorite-icon i {
    color: #6c757d;
    transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.favorite-icon:hover i {
    color: #dc3545;
}

.favorite-icon.active i {
    color: #dc3545;
    transform: scale(1.15);
}

.favorite-icon.active:hover i {
    color: #dc3545;
    transform: scale(1.2);
}

.modal-favorite-icon {
    position: static;
    box-shadow: none;
    background-color: transparent;
    font-size: 2rem;
}

.modal-favorite-icon i {
    color: #495057;
}

.modal-favorite-icon:hover i {
    color: #dc3545;
    transform: scale(1.1);
}

.modal-favorite-icon.active i {
    color: #dc3545;
}

.modal-favorite-icon.active:hover i {
    color: #dc3545;
    transform: scale(1.15);
}