/* PRODUCTS MODULE — module-specific styles (Tailwind handles the rest) */

.wd-product-card {
    background: #ffffff;
    border: 1px solid #B7E4C7;
    border-radius: 1rem;
    padding: 1.4rem;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s ease, transform .2s ease;
}
.wd-product-card:hover { box-shadow: 0 12px 28px rgba(27, 67, 50, .10); transform: translateY(-3px); }

.wd-product-icon {
    width: 3rem; height: 3rem;
    border-radius: 2rem 0.5rem 2rem 0.5rem;
    background: #D8F3DC;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; margin-bottom: .9rem;
}

.wd-featured-ribbon {
    position: absolute; top: 12px; right: 12px;
    background: #FFFBEB; color: #92400E; border: 1px solid #FDE68A;
    font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 9999px;
}

.wd-low-stock { color: #B45309; font-size: 12px; font-weight: 500; }

.wd-skeleton {
    background: linear-gradient(90deg, #F7FBF5 25%, #D8F3DC 50%, #F7FBF5 75%);
    background-size: 200% 100%;
    animation: wd-shimmer 1.2s infinite;
    border-radius: 1rem; height: 230px; border: 1px solid #D8F3DC;
}
@keyframes wd-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* Product photo (when the vendor uploaded one) replaces the category icon */
.wd-product-photo {
    width: 100%; height: 8rem; border-radius: 0.9rem;
    background: #D8F3DC; overflow: hidden;
}
.wd-product-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Favourite-the-farm heart button (matches vendor-profile / customer-account) */
.wd-heart {
    background: none; border: 0; cursor: pointer; font-size: 20px; line-height: 1;
    color: #6B7568; transition: transform .15s ease, color .15s ease;
}
.wd-heart:hover { transform: scale(1.15); }
.wd-heart.on { color: #DC2626; }

html.dark .wd-product-photo { background: #1B2A21; }
html.dark .wd-heart { color: #8FA394; }
html.dark .wd-heart.on { color: #F87171; }

