/*
 * WooCommerce catalog foundations: archives, search, taxonomy, pagination,
 * notices and the grid shared with homepage/related/Dokan loops.
 */

[data-block-name="woocommerce/legacy-template"],
.woocommerce-page:not(.single-product) main > .woocommerce,
.dokan-single-store .seller-items {
	box-sizing: border-box;
	width: min(100%, var(--toga-wide-width));
	margin-inline: auto;
}

[data-block-name="woocommerce/legacy-template"],
.woocommerce-page:not(.single-product) main > .woocommerce {
	padding-inline: var(--toga-gutter);
	padding-block: clamp(2.5rem, 5vw, 5rem);
}

.woocommerce-products-header {
	margin-block-end: var(--toga-space-5);
}

.woocommerce-products-header__title,
.woocommerce .woocommerce-products-header__title {
	margin: 0 0 var(--toga-space-3);
	font: 400 clamp(2.75rem, 5vw, 4rem)/var(--toga-leading-tight) var(--toga-font-editorial);
	letter-spacing: -0.02em;
}

.woocommerce-products-header .term-description {
	max-width: 48rem;
	color: var(--toga-muted);
}

.woocommerce .woocommerce-breadcrumb {
	margin-block-end: var(--toga-space-5);
	color: var(--toga-muted);
	font-size: var(--toga-text-caption);
}

.woocommerce .woocommerce-breadcrumb a {
	color: inherit;
	text-underline-offset: 0.2em;
}

.toga-shop-categories {
	display: flex;
	overflow-x: auto;
	gap: var(--toga-space-2);
	margin: 0 0 var(--toga-space-5);
	padding: 0 0 var(--toga-space-2);
	list-style: none;
	scrollbar-width: thin;
}

.toga-shop-categories__link {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	padding-inline: var(--toga-space-4);
	border: 1px solid var(--toga-border-strong);
	border-radius: var(--toga-radius-pill);
	color: var(--toga-ink);
	font-size: var(--toga-text-small);
	text-decoration: none;
	white-space: nowrap;
}

.toga-shop-categories__link:hover,
.toga-shop-categories__link:focus-visible {
	border-color: var(--toga-ink);
}

.toga-shop-subcategories {
	display: flex;
	flex-wrap: wrap;
	gap: var(--toga-space-2) var(--toga-space-5);
	margin: calc(var(--toga-space-2) * -1) 0 var(--toga-space-5);
	padding: 0;
	list-style: none;
}

.toga-shop-subcategories__link {
	color: var(--toga-muted);
	font-size: var(--toga-text-small);
	text-decoration: none;
}

.toga-shop-subcategories__link:hover,
.toga-shop-subcategories__link:focus-visible {
	color: var(--toga-ink);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-block: 0 var(--toga-space-5);
}

.woocommerce .woocommerce-result-count {
	padding-block: 0.65rem;
	color: var(--toga-muted);
	font-size: var(--toga-text-small);
}

.woocommerce .woocommerce-ordering select {
	min-height: var(--toga-control-height);
	padding: 0 2.5rem 0 var(--toga-space-3);
	border: 1px solid var(--toga-border-strong);
	border-radius: 0;
	background-color: var(--toga-surface);
	color: var(--toga-ink);
	font: 500 var(--toga-text-small)/1 var(--toga-font-ui);
}

.woocommerce ul.products,
ul.products {
	clear: both;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem) clamp(0.75rem, 2vw, 1.5rem);
	width: 100%;
	margin: 0 0 clamp(3rem, 6vw, 5rem);
	padding: 0;
	list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
	display: none;
	content: none;
}

.woocommerce nav.woocommerce-pagination {
	margin-block: var(--toga-space-7);
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--toga-space-1);
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	min-width: var(--toga-tap-target);
	min-height: var(--toga-tap-target);
	place-items: center;
	border: 1px solid var(--toga-border);
	background: var(--toga-surface);
	color: var(--toga-ink);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible {
	border-color: var(--toga-ink);
	background: var(--toga-ink);
	color: var(--toga-surface);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	padding: var(--toga-space-4);
	border: 1px solid var(--toga-border);
	border-block-start-width: 3px;
	background: var(--toga-surface);
	color: var(--toga-ink);
}

.woocommerce-info {
	border-block-start-color: var(--toga-warning);
}

.woocommerce-message {
	border-block-start-color: var(--toga-success);
}

.woocommerce-error {
	border-block-start-color: var(--toga-error);
}

.woocommerce .woocommerce-no-products-found {
	clear: both;
	margin-block: var(--toga-space-8);
}

.woocommerce .blockUI.blockOverlay,
.woocommerce .loading {
	cursor: progress;
	opacity: 0.55;
}

@media (min-width: 600px) {
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
		width: 100%;
	}

	.woocommerce .woocommerce-ordering select {
		width: 100%;
	}
}

@media (max-width: 340px) {
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}
