/* WooCommerce-backed product card foundation; product facts come from ProductRepository. */
.cleanify-product-card {
	display: flex; min-width: 0; flex-direction: column; overflow: hidden;
	border: 1px solid var(--cleanify-color-border); border-radius: var(--cleanify-radius-card);
	background: var(--cleanify-color-surface); color: var(--cleanify-color-text); box-shadow: var(--cleanify-shadow-subtle);
	transition: box-shadow var(--cleanify-motion-standard) var(--cleanify-motion-ease), transform var(--cleanify-motion-standard) var(--cleanify-motion-ease);
}
.cleanify-product-card:hover { transform: translateY(-2px); box-shadow: var(--cleanify-shadow-elevated); }
.cleanify-product-card__image-link { display: grid; min-height: 12rem; place-items: center; background: var(--cleanify-color-surface-subtle); }
.cleanify-product-card__image { display: block; width: 100%; height: 100%; max-height: 20rem; object-fit: contain; }
.cleanify-product-card__body { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--cleanify-space-md); padding: var(--cleanify-space-lg); }
.cleanify-product-card__title { margin: 0; font-family: var(--cleanify-font-display); font-size: var(--cleanify-type-h4); line-height: var(--cleanify-line-heading); }
.cleanify-product-card__title a { color: inherit; text-decoration: none; }
.cleanify-product-card__title a:hover { color: var(--cleanify-color-secondary); }
.cleanify-product-card__description, .cleanify-product-card__options, .cleanify-product-card__stock { margin: 0; color: var(--cleanify-color-text-secondary); font-size: var(--cleanify-type-small); line-height: var(--cleanify-line-body); }
.cleanify-product-card__price { margin: 0; font-size: var(--cleanify-type-h4); font-weight: var(--cleanify-weight-semibold); }
.cleanify-product-card__price del { margin-inline-end: var(--cleanify-space-sm); color: var(--cleanify-color-text-muted); font-size: var(--cleanify-type-small); }
.cleanify-product-card__price ins { text-decoration: none; }
.cleanify-product-card__cta { width: 100%; margin-block-start: auto; }
@media (min-width: 40rem) { .cleanify-product-card__image-link { min-height: 15rem; } }
@media (prefers-reduced-motion: reduce) { .cleanify-product-card, .cleanify-product-card:hover { transform: none; transition: none; } }
