/**
 * Wishlist Toggle Styles
 * Visual enhancements for wishlist buttons
 * 
 * @package Grabit
 */

/* Wishlist Button States */
.cc-wishlist-toggle,
.gi-btn-group.wishlist {
    position: relative;
    transition: all 0.3s ease;
}

/* In Wishlist State */
.cc-wishlist-toggle.in-wishlist,
.gi-btn-group.wishlist.in-wishlist {
    background-color: #5caf90 !important;
    border-color: #5caf90 !important;
}

.cc-wishlist-toggle.in-wishlist i,
.gi-btn-group.wishlist.in-wishlist i {
    color: #fff !important;
}

/* Heart Icon Animation on Toggle */
.cc-wishlist-toggle i,
.gi-btn-group.wishlist i {
    transition: all 0.3s ease;
}

.cc-wishlist-toggle:active i,
.gi-btn-group.wishlist:active i {
    transform: scale(1.3);
}

/* Filled Heart (when in wishlist) */
.fi-sr-heart {
    color: #5caf90;
}

/* Hover Effects */
.cc-wishlist-toggle:hover:not(.in-wishlist) i,
.gi-btn-group.wishlist:hover:not(.in-wishlist) i {
    color: #5caf90 !important;
}

.cc-wishlist-toggle.in-wishlist:hover,
.gi-btn-group.wishlist.in-wishlist:hover {
    background-color: #4b5966 !important;
    border-color: #4b5966 !important;
}

/* Loading State */
.cc-wishlist-toggle.opacity-70,
.gi-btn-group.wishlist.opacity-70 {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Pulse Animation on Counter Update */
@keyframes wishlist-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.15);
    }
}

[data-wishlist-count].scale-110,
.gi-wishlist-count.scale-110 {
    animation: wishlist-pulse 0.3s ease;
}

/* Toast Notification Styles */
#gi-wishlist-toast {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

#gi-wishlist-toast .fi-rr-check-circle {
    color: #5caf90;
}

#gi-wishlist-toast .fi-rr-cross-circle {
    color: #dc2626;
}

#gi-wishlist-toast .fi-rr-info {
    color: #3b82f6;
}

/* Responsive Adjustments */
@media (max-width: 767px) {
    .cc-wishlist-toggle,
    .gi-btn-group.wishlist {
        width: 35px;
        height: 35px;
    }
    
    #gi-wishlist-toast {
        bottom: 10px;
        right: 10px;
        left: 10px;
        max-width: none;
    }
}

/* Accessibility - Focus States */
.cc-wishlist-toggle:focus-visible,
.gi-btn-group.wishlist:focus-visible {
    outline: 2px solid #5caf90;
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .cc-wishlist-toggle,
    .gi-btn-group.wishlist,
    #gi-wishlist-toast {
        display: none !important;
    }
}


