/* Favorite Button Styles */
/* Used across property listing, saved listings, and detail pages */

.favorite-btn {
    cursor: pointer;
    transition: all 0.3s ease;
}

.favorite-btn .favorite-icon {
    color: #ccc;
    stroke: #ccc;
    fill: none;
    transition: all 0.3s ease;
}

.favorite-btn:hover .favorite-icon {
    color: #ff6b6b;
    stroke: #ff6b6b;
    transform: scale(1.1);
}

.favorite-btn.favorited .favorite-icon {
    color: #ff4757;
    stroke: #ff4757;
    fill: #ff4757;
}

.favorite-btn.favorited:hover .favorite-icon {
    color: #ff3742;
    stroke: #ff3742;
    fill: #ff3742;
    transform: scale(1.1);
}

.favorite-btn.favorite-animation .favorite-icon {
    animation: favoritePulse 0.3s ease-in-out;
}

@keyframes favoritePulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* Higher specificity for property sections to override existing styles */
.property-section .property-box .property-image .overlay-property-box .favorite-btn .favorite-icon {
    color: #ccc !important;
    stroke: #ccc !important;
    fill: none !important;
}

.property-section .property-box .property-image .overlay-property-box .favorite-btn:hover .favorite-icon {
    color: #ff6b6b !important;
    stroke: #ff6b6b !important;
}

.property-section .property-box .property-image .overlay-property-box .favorite-btn.favorited .favorite-icon {
    color: #ff4757 !important;
    stroke: #ff4757 !important;
    fill: #ff4757 !important;
}

.property-section .property-box .property-image .overlay-property-box .favorite-btn.favorited:hover .favorite-icon {
    color: #ff3742 !important;
    stroke: #ff3742 !important;
    fill: #ff3742 !important;
}
