/* Dedicated Wishlist & Compare Styles - Minified Manually */
.action-btn-wrapper {
    opacity: 0;
    transform: translateX(10px);
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    will-change: opacity, transform;
    z-index: 5
}

@media (hover:none) {
    .action-btn-wrapper {
        opacity: 1;
        transform: translateX(0)
    }
}

.card-hover-trigger:hover .action-btn-wrapper,
.course-grid-card-1:hover .action-btn-wrapper,
.bundle-card:hover .action-btn-wrapper,
.event-grid-card-1:hover .action-btn-wrapper,
.product-card:hover .action-btn-wrapper,
.upcoming-course-card__image:hover .action-btn-wrapper {
    opacity: 1;
    transform: translateX(0)
}

.action-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: var(--white);
    box-shadow: 0 4px 15px rgba(0, 0, 0, .1);
    border: 1px solid var(--gray-200);
    cursor: pointer;
    color: var(--gray-500);
    transition: all .2s cubic-bezier(.4, 0, .2, 1);
    position: relative;
    overflow: hidden
}

.action-btn:hover {
    background-color: var(--white);
    color: var(--primary);
    border-color: var(--primary);
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .15)
}

.action-btn:active {
    transform: scale(.95)
}

.action-btn.active,
.action-btn.liked {
    color: var(--danger);
    border-color: var(--danger);
    background-color: #fff1f2
}

.action-btn.active svg,
.action-btn.liked svg {
    fill: currentColor;
    animation: heartBeat .4s ease-in-out
}

.action-btn.active:hover,
.action-btn.liked:hover {
    color: var(--danger)
}

.action-btn.in-compare {
    color: var(--primary);
    border-color: var(--primary);
    background-color: #f0f9ff
}

.action-btn svg.icons {
    width: 20px;
    height: 20px;
    transition: transform .2s ease
}

.action-btn.loadingbar {
    pointer-events: none
}

.action-btn.loadingbar svg {
    opacity: 0
}

.action-btn.loadingbar::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 18px;
    height: 18px;
    border: 2px solid var(--gray-300);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: spin .8s linear infinite
}

@keyframes heartBeat {
    0% {
        transform: scale(1)
    }

    15% {
        transform: scale(1.3)
    }

    30% {
        transform: scale(1)
    }

    45% {
        transform: scale(1.15)
    }

    60% {
        transform: scale(1)
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}