/**
 * product-card.css — shared product grid/card component.
 * Used by front-page.php (collection preview) and
 * woocommerce/archive-product.php (full store grid).
 * Loaded after global.css; not included on pages that don't need it.
 */

.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.8rem;
}

.card {
	overflow: hidden;
	transition: .55s cubic-bezier(.2, .8, .25, 1);
	position: relative;
}

.card:hover {
	transform: translateY(-8px);
	border-color: rgba(212, 175, 55, .5);
}

.card-media {
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	background: #000;
}

.card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 1.2s cubic-bezier(.2, .8, .25, 1);
}

.card:hover .card-media img {
	transform: scale(1.07);
}

.card-media .tag {
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-size: .58rem;
	letter-spacing: .24em;
	text-transform: uppercase;
	padding: .42rem .85rem;
	border-radius: 999px;
	background: rgba(5, 5, 5, .6);
	border: 1px solid var(--line);
	color: var(--gold-lt);
	backdrop-filter: blur(8px);
}

.card-body {
	padding: 1.7rem 1.7rem 1.9rem;
}

.card-body h3 {
	font-size: 1.6rem;
	margin-bottom: .45rem;
}

.card-body p {
	color: var(--muted);
	font-size: .9rem;
	min-height: 3.4rem;
}

.card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.4rem;
	padding-top: 1.2rem;
	border-top: 1px solid var(--line);
}

.card-price {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.5rem;
}

.card-stars {
	display: flex;
	gap: .18rem;
	align-items: center;
	margin-top: .7rem;
	font-size: .72rem;
	color: var(--muted);
}

.empty-collection {
	color: var(--muted);
	font-size: .95rem;
}
