/**
 * Turquoise Commerce Framework — product card component
 * Layer: product-cards (Build 4 — hooks + CSS)
 *
 * Markup wired via inc/components/product-card.php (Woo loop hooks).
 * @see components/PRODUCT_CARD.md · Mission 008 Deliverable 5
 */

.tq-product-card {
	display: flex;
	flex-direction: column;
	height: auto;
	min-height: 0;
	background: var(--tq-surface);
	border: 1px solid var(--tq-border);
	border-radius: var(--tq-radius);
	overflow: hidden;
	transition: box-shadow var(--tq-duration) var(--tq-ease),
		transform var(--tq-duration) var(--tq-ease);
}

/* Do not flex-grow: cream body was stretching into empty panels (P0-C). */
.tq-product-card .woocommerce-loop-product__link {
	display: flex !important;
	flex-direction: column;
	flex: 0 1 auto;
	height: auto !important;
	min-height: 0 !important;
	text-decoration: none;
	color: var(--tq-ink) !important;
}

.tq-product-card:hover {
	box-shadow: 0 8px 24px color-mix(in srgb, var(--tq-ink) 8%, transparent);
	transform: translateY(-2px);
}

.tq-product-card__media {
	position: relative;
	/* Match Woo thumbnail crop 1:1 + GP archive cards — not portrait demo */
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--tq-paper);
}

.tq-product-card__media .onsale {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 1;
}

.tq-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 280ms var(--tq-ease);
}

.tq-product-card:hover .tq-product-card__media img {
	transform: scale(1.02);
}

.tq-product-card__body {
	padding: var(--tq-space-sm) var(--tq-space-sm) var(--tq-space-md);
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 0.35rem;
	background: var(--tq-paper);
}

.tq-product-card__body .woocommerce-loop-product__title,
.tq-product-card__title {
	font-family: var(--tq-font-display);
	font-size: 1rem !important;
	font-weight: 600;
	line-height: 1.35;
	color: var(--tq-ink) !important;
	margin: 0;
	padding: 0 !important;
	overflow: hidden;
	/* Avoid -webkit-line-clamp — autoprefixers strip box-orient and hide all text */
	display: block;
	max-height: 4.05em;
}

.tq-product-card__body .price,
.tq-product-card__price {
	font-family: var(--tq-font-body);
	font-size: var(--tq-size-price-sm) !important;
	font-weight: 600;
	color: var(--tq-ink) !important;
	margin: 0;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.tq-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.tq-product-card__title a:hover,
.tq-product-card__title a:focus {
	color: var(--tq-signal-hover);
}

.tq-product-card__price .from {
	font-weight: 400;
	color: var(--tq-muted);
}

.tq-product-card__badge {
	display: inline-block;
	margin-top: 0.5rem;
	font-family: var(--tq-font-ui);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.2rem 0.45rem;
	border-radius: 2px;
}

.tq-product-card__badge--pod {
	background: var(--tq-sandstone);
	color: var(--tq-cta-ink);
}

.tq-product-card__badge--studio {
	background: var(--tq-paper);
	color: var(--tq-signal);
	border: 1px solid var(--tq-signal);
}

/* Woo loop integration — columns/gap/rating owned by GP Premium Woo */
/* align-self:start stops grid row stretch from manufacturing empty card height */
.woocommerce ul.products {
	align-items: start;
}

.woocommerce ul.products li.product.tq-product-card {
	list-style: none;
	margin: 0;
	min-height: 0 !important;
	height: auto !important;
	align-self: start;
}

.woocommerce ul.products li.product.tq-product-card .attachment-woocommerce_thumbnail {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.woocommerce ul.products li.product.tq-product-card > .button,
.woocommerce ul.products li.product.tq-product-card > .add_to_cart_button {
	display: none;
}

/* Collapse dead beige band between image and title (GP hook gap) */
.tq-product-card .woocommerce-loop-product__link {
	gap: 0;
}

.tq-product-card__body {
	margin-top: 0;
	padding-top: var(--tq-space-sm);
}

.tq-product-card__media + .tq-product-card__body {
	margin-top: 0;
}

/* Kill empty attribute / variation chrome on loop cards */
.tq-product-card table.variations,
.tq-product-card .variations,
.tq-product-card .product-attribute,
.tq-product-card .woocommerce-product-attributes,
.tq-product-card .wc-block-grid__product-add-to-cart,
.tq-product-card .added_to_cart {
	display: none !important;
}
