/* ==========================================================================
   Product grid
   Converted from design-reference/showroom-floor.css §8 (.tile-grid).
   Two columns down to 360px, three from the tablet breakpoint up.
   ========================================================================== */

.tfs-product-grid__items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 782px) {
	.tfs-product-grid__items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	}
}

.tfs-product-grid__items > li {
	margin: 0;
}

.tfs-product-grid__empty {
	margin: 0;
	padding: var(--wp--preset--spacing--50) 0;
	color: var(--wp--preset--color--muted);
	max-width: 62ch;
}

/* Pagination — real URLs, full page loads, crawlable. */
.tfs-product-grid__pagination {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--30);
	border-top: var(--wp--custom--hairline);
	gap: var(--wp--custom--step--8);
}

.tfs-product-grid__pagination .wp-block-query-pagination-numbers,
.tfs-product-grid__pagination .wp-block-query-pagination-previous,
.tfs-product-grid__pagination .wp-block-query-pagination-next {
	margin: 0;
}

.tfs-product-grid__pagination .wp-block-query-pagination-numbers {
	display: flex;
	align-items: center;
	gap: var(--wp--custom--step--8);
}

.tfs-product-grid__pagination a,
.tfs-product-grid__pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--custom--control--tap-target-minimum);
	min-height: var(--wp--custom--control--tap-target-minimum);
	padding: 0 var(--wp--custom--step--12);
	font-size: var(--wp--preset--font-size--utility);
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--tracking--utility);
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius);
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	transition:
		color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing),
		border-color var(--wp--custom--motion--duration) var(--wp--custom--motion--easing);
}

.tfs-product-grid__pagination a:hover {
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.tfs-product-grid__pagination .page-numbers.current {
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
}

.tfs-product-grid__pagination a:focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--accent);
	outline-offset: var(--wp--custom--focus--offset);
}
