/* Shared native WooCommerce product loops; single-product summaries stay out of scope. */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: var(--wp--preset--spacing--mrwax-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* WooCommerce clearfix pseudo-elements would otherwise become grid items. */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
	display: none;
}

.woocommerce ul.products[class*="columns-"] > li.product,
.woocommerce-page ul.products[class*="columns-"] > li.product {
	box-sizing: border-box;
	display: flex;
	position: relative;
	float: none;
	flex-direction: column;
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--wp--preset--color--mrwax-border);
	border-block-start: 0.1875rem solid var(--wp--preset--color--mrwax-bronze);
	background: var(--wp--preset--color--mrwax-surface);
	box-shadow: 0 0.5rem 1.5rem color-mix(in srgb, var(--wp--preset--color--mrwax-ink) 9%, transparent);
	transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
	/* Neutralize WooCommerce's own small-screen declarations marked important. */
	clear: none !important;
	inline-size: auto !important;
}

.woocommerce ul.products[class*="columns-"] > li.product:focus-within,
.woocommerce-page ul.products[class*="columns-"] > li.product:focus-within {
	border-block-start-color: var(--wp--preset--color--mrwax-bronze-light);
	box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--wp--preset--color--mrwax-ink) 15%, transparent);
}

.woocommerce ul.products > li.product > .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-inline-size: 0;
	background: var(--wp--preset--color--mrwax-surface);
	color: var(--wp--preset--color--mrwax-ink);
	text-decoration: none;
}

.woocommerce ul.products > li.product > .woocommerce-LoopProduct-link:is(:hover, :active) .woocommerce-loop-product__title,
.woocommerce ul.products > li.product > .woocommerce-LoopProduct-link:focus-visible .woocommerce-loop-product__title {
	text-decoration: none;
}

.woocommerce ul.products > li.product > .woocommerce-LoopProduct-link:focus-visible,
.woocommerce ul.products > li.product > :is(.button, .added_to_cart):focus-visible,
.woocommerce ul.products > li.product .mrwax-product-card__gallery-button:focus-visible {
	outline: var(--wp--custom--mrwax--focus--width) solid var(--wp--preset--color--mrwax-ink);
	outline-offset: var(--wp--custom--mrwax--focus--width);
	box-shadow: 0 0 0 var(--wp--custom--mrwax--focus--width) var(--wp--preset--color--mrwax-surface);
}

.woocommerce ul.products > li.product .mrwax-product-card__media {
	position: relative;
	isolation: isolate;
	flex: 0 0 auto;
	inline-size: 100%;
	aspect-ratio: 2 / 3;
	background: var(--wp--preset--color--mrwax-canvas-soft);
	overflow: hidden;
}

.woocommerce ul.products > li.product .mrwax-product-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-inline-size: 0;
	gap: 0.28rem;
	padding: 1rem 0.95rem 0.85rem;
	background: var(--wp--preset--color--mrwax-surface);
}

.woocommerce ul.products > li.product .mrwax-product-card__media > img {
	display: block;
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 100%;
	block-size: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center top;
	transform: none;
}

/* Category names come from the native taxonomy; the darker bronze stays readable. */
.woocommerce ul.products > li.product .mrwax-product-card__categories {
	color: color-mix(in srgb, var(--wp--preset--color--mrwax-bronze) 74%, var(--wp--preset--color--mrwax-ink));
	font-family: var(--wp--preset--font-family--mrwax-body);
	font-size: 0.625rem;
	font-weight: var(--wp--custom--mrwax--font-weight--medium);
	letter-spacing: 0.16em;
	line-height: var(--wp--custom--mrwax--line-height--body);
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

/* A sibling of the product link overlays just the portrait media. */
.woocommerce ul.products > li.product > .mrwax-product-card__gallery {
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	z-index: 3;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	inline-size: 100%;
	aspect-ratio: 2 / 3;
	padding: 0.75rem;
	pointer-events: none;
}

.woocommerce ul.products > li.product > .mrwax-product-card__gallery[hidden] {
	display: none;
}

.woocommerce ul.products > li.product .mrwax-product-card__gallery-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	inline-size: 44px;
	block-size: 44px;
	min-inline-size: 44px;
	min-block-size: 44px;
	padding: 0;
	border: 1px solid var(--wp--preset--color--mrwax-muted);
	border-radius: 50%;
	background: var(--wp--preset--color--mrwax-canvas);
	color: var(--wp--preset--color--mrwax-ink);
	box-shadow: 0 0.125rem 0.5rem color-mix(in srgb, var(--wp--preset--color--mrwax-ink) 18%, transparent);
	cursor: pointer;
	pointer-events: auto;
	transition: opacity 180ms ease, background-color 180ms ease;
}

.woocommerce ul.products > li.product .mrwax-product-card__gallery-button:is(:hover, :active) {
	background: var(--wp--preset--color--mrwax-bronze-light);
}

.woocommerce ul.products > li.product .mrwax-product-card__gallery-button > svg {
	pointer-events: none;
}

.woocommerce ul.products > li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 0;
	color: var(--wp--preset--color--mrwax-ink);
	font-family: var(--wp--preset--font-family--mrwax-display);
	font-size: 1.08rem;
	font-weight: var(--wp--custom--mrwax--font-weight--regular);
	line-height: 1.22;
	overflow-wrap: anywhere;
}

.woocommerce ul.products > li.product .star-rating {
	margin-block-start: var(--wp--preset--spacing--mrwax-space-2);
	color: var(--wp--preset--color--mrwax-bronze);
	font-size: var(--wp--preset--font-size--mrwax-small);
}

.woocommerce ul.products > li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--wp--preset--spacing--mrwax-space-1);
	margin-block-start: var(--wp--preset--spacing--mrwax-space-1);
	color: color-mix(in srgb, var(--wp--preset--color--mrwax-bronze) 74%, var(--wp--preset--color--mrwax-ink));
	font-family: var(--wp--preset--font-family--mrwax-mono);
	font-size: 0.86rem;
	font-weight: var(--wp--custom--mrwax--font-weight--medium);
	line-height: var(--wp--custom--mrwax--line-height--compact);
	overflow-wrap: anywhere;
}

.woocommerce ul.products > li.product .price del {
	color: var(--wp--preset--color--mrwax-muted);
	font-weight: var(--wp--custom--mrwax--font-weight--regular);
	opacity: 1;
}

.woocommerce ul.products > li.product .price ins {
	background: transparent;
	color: color-mix(in srgb, var(--wp--preset--color--mrwax-bronze) 74%, var(--wp--preset--color--mrwax-ink));
	font-weight: var(--wp--custom--mrwax--font-weight--bold);
	text-decoration: none;
}

.woocommerce ul.products > li.product .stock {
	margin: var(--wp--preset--spacing--mrwax-space-2) 0 0;
	padding-inline-start: var(--wp--preset--spacing--mrwax-space-2);
	border-inline-start: 0.25rem solid var(--wp--preset--color--mrwax-danger);
	color: var(--wp--preset--color--mrwax-danger);
	font-size: var(--wp--preset--font-size--mrwax-small);
	font-weight: var(--wp--custom--mrwax--font-weight--semibold);
	line-height: var(--wp--custom--mrwax--line-height--compact);
	overflow-wrap: anywhere;
}

.woocommerce ul.products > li.product .onsale {
	inset: auto;
	inset-block-start: 0.75rem;
	inset-inline-end: 0.75rem;
	z-index: 2;
	box-sizing: border-box;
	max-inline-size: calc(100% - var(--wp--preset--spacing--mrwax-space-2) - var(--wp--preset--spacing--mrwax-space-2));
	min-inline-size: 0;
	min-block-size: 0;
	margin: 0;
	padding: var(--wp--preset--spacing--mrwax-space-1) var(--wp--preset--spacing--mrwax-space-2);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--mrwax-dark) 28%, transparent);
	border-radius: 0;
	background: color-mix(in srgb, var(--wp--preset--color--mrwax-dark) 88%, transparent);
	color: var(--wp--preset--color--mrwax-surface);
	font-family: var(--wp--preset--font-family--mrwax-body);
	font-size: var(--wp--preset--font-size--mrwax-small);
	font-weight: var(--wp--custom--mrwax--font-weight--semibold);
	letter-spacing: var(--wp--custom--mrwax--tracking--metadata);
	line-height: var(--wp--custom--mrwax--line-height--compact);
	text-align: center;
	text-transform: uppercase;
	white-space: normal;
	overflow-wrap: anywhere;
}

.woocommerce ul.products > li.product > :is(.button, .added_to_cart, .mrwax-product-card__action-confirmed) {
	--mrwax-card-action-brown: color-mix(in srgb, var(--wp--preset--color--mrwax-bronze) 75%, var(--wp--preset--color--mrwax-muted));
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
	min-block-size: 44px;
	height: auto;
	margin: 0;
	padding: 0.75rem var(--wp--preset--spacing--mrwax-space-2);
	border: 2px solid var(--wp--preset--color--mrwax-bronze);
	border-radius: 0;
	background: var(--wp--preset--color--mrwax-surface);
	color: var(--mrwax-card-action-brown);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--mrwax-body);
	font-size: 0.6875rem;
	font-weight: var(--wp--custom--mrwax--font-weight--semibold);
	letter-spacing: 0.1em;
	line-height: var(--wp--custom--mrwax--line-height--compact);
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}

.woocommerce ul.products > li.product > .added_to_cart {
	border-color: var(--wp--preset--color--mrwax-bronze);
	background: var(--wp--preset--color--mrwax-bronze-light);
	color: var(--wp--preset--color--mrwax-dark);
}

.woocommerce ul.products > li.product > .mrwax-product-card__action-confirmed {
	cursor: default;
	opacity: 0.7;
	text-decoration: none;
}

/* Match pointer and keyboard intent without making the timed confirmation actionable. */
.woocommerce ul.products > li.product > :is(.button, .added_to_cart):is(:active, :focus-visible) {
	border-color: var(--wp--preset--color--mrwax-bronze);
	background: var(--mrwax-card-action-brown);
	color: var(--wp--preset--color--mrwax-surface);
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce ul.products > li.product .mrwax-product-card__gallery-button {
		opacity: 0;
		pointer-events: none;
	}

	.woocommerce ul.products > li.product:is(:hover, :focus-within) .mrwax-product-card__gallery-button {
		opacity: 1;
		pointer-events: auto;
	}

	.woocommerce ul.products[class*="columns-"] > li.product:hover,
	.woocommerce-page ul.products[class*="columns-"] > li.product:hover {
		transform: translateY(-0.375rem);
		box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--wp--preset--color--mrwax-ink) 16%, transparent);
	}

	.woocommerce ul.products > li.product > :is(.button, .added_to_cart):hover {
		border-color: var(--wp--preset--color--mrwax-bronze);
		background: var(--mrwax-card-action-brown);
		color: var(--wp--preset--color--mrwax-surface);
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products[class*="columns-"] > li.product,
	.woocommerce-page ul.products[class*="columns-"] > li.product,
	.woocommerce ul.products > li.product .mrwax-product-card__gallery-button,
	.woocommerce ul.products > li.product > :is(.button, .added_to_cart, .mrwax-product-card__action-confirmed) {
		transition: none;
	}

	.woocommerce ul.products[class*="columns-"] > li.product:hover,
	.woocommerce-page ul.products[class*="columns-"] > li.product:hover {
		transform: none;
	}
}

@media (forced-colors: active) {
	.woocommerce ul.products[class*="columns-"] > li.product,
	.woocommerce-page ul.products[class*="columns-"] > li.product,
	.woocommerce ul.products[class*="columns-"] > li.product:focus-within,
	.woocommerce-page ul.products[class*="columns-"] > li.product:focus-within {
		border-color: CanvasText;
		background: Canvas;
		box-shadow: none;
	}

	.woocommerce ul.products > li.product .mrwax-product-card__media,
	.woocommerce ul.products > li.product .mrwax-product-card__content {
		background: Canvas;
	}

	.woocommerce ul.products > li.product .mrwax-product-card__categories,
	.woocommerce ul.products > li.product .price,
	.woocommerce ul.products > li.product .price :is(del, ins),
	.woocommerce ul.products > li.product .star-rating,
	.woocommerce ul.products > li.product .onsale,
	.woocommerce ul.products > li.product .stock {
		border-color: CanvasText;
		background: Canvas;
		color: CanvasText;
	}

	.woocommerce ul.products > li.product > :is(.button, .added_to_cart, .mrwax-product-card__action-confirmed),
	.woocommerce ul.products > li.product > :is(.button, .added_to_cart):is(:hover, :active, :focus-visible),
	.woocommerce ul.products > li.product .mrwax-product-card__gallery-button,
	.woocommerce ul.products > li.product .mrwax-product-card__gallery-button:is(:hover, :active) {
		border: 1px solid ButtonText;
		background: ButtonFace;
		color: ButtonText;
	}

	.woocommerce ul.products > li.product > :is(.button, .added_to_cart, .mrwax-product-card__action-confirmed) {
		border-width: 2px;
	}

	.woocommerce ul.products > li.product > .woocommerce-LoopProduct-link:focus-visible,
	.woocommerce ul.products > li.product > :is(.button, .added_to_cart):focus-visible,
	.woocommerce ul.products > li.product .mrwax-product-card__gallery-button:focus-visible {
		outline-color: Highlight;
		box-shadow: none;
	}
}
