.post-card, .category-card, .product-card {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);
}
.post-card:hover, .category-card:hover, .product-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-4px);
	border-color: transparent;
}

.product-card__media { position: relative; overflow: hidden; }
.product-card__image { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.product-card__image--hover {
	position: absolute; inset: 0; opacity: 0;
	transition: opacity var(--transition-base);
}
.product-card:hover .product-card__image--hover { opacity: 1; }

.product-card__badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 4px; z-index: 2; }
.badge { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 3px; color: #fff; text-transform: uppercase; }
.badge--sale { background: var(--color-sale); }
.badge--out { background: var(--color-text-light); }

.product-card__actions {
	position: absolute; top: 10px; right: 10px;
	display: flex; flex-direction: column; gap: 6px;
	opacity: 0; transform: translateX(8px);
	transition: opacity var(--transition-base), transform var(--transition-base);
	z-index: 2;
}
.product-card:hover .product-card__actions { opacity: 1; transform: translateX(0); }
.product-card__action {
	width: 36px; height: 36px;
	display: flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid var(--color-border); border-radius: 50%;
	cursor: pointer;
}
.product-card__action:hover { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }

.product-card__body { padding: var(--gap-md); }
.product-card__cat { font-size: 12px; color: var(--color-text-light); text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 4px; }
.product-card__title { font-size: 1rem; margin-bottom: 6px; font-weight: 600; }
.product-card__title a:hover { color: var(--color-primary); }
.product-card__rating .star-rating { color: #f2b84b; font-size: 13px; margin-bottom: 6px; }
.product-card__price { font-weight: 700; color: var(--color-dark); margin-bottom: 8px; }
.product-card__price ins { color: var(--color-primary); text-decoration: none; }
.product-card__price del { color: var(--color-text-light); margin-right: 6px; }
