/* Sklep, kategorie, marki, wyniki wyszukiwania (woocommerce/archive-product.php). */

.shop {
	max-width: 95rem;
	margin-inline: auto;
	padding-block: 2rem 5rem;
}

.shop__header { margin-bottom: 2.5rem; }

.shop .woocommerce-breadcrumb {
	margin: 0 0 0.75rem;
	color: var(--color-muted);
	font: 300 var(--fs-sm) / 1.5 var(--font-body);
}

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

.shop__title { color: var(--color-text-strong); }

.shop :is(.term-description, .page-description) {
	max-width: 50rem;
	margin-top: 1rem;
	color: var(--color-muted);
}

/* Pasek narzędzi: filtry, chipy, licznik, sortowanie */
.shop-toolbar {
	position: relative;
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

.shop-toolbar__toggle { display: none; }

.shop-toolbar__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 2rem;
}

.shop-toolbar__meta .pf-active-filters { flex: 1; }

.shop-toolbar__count {
	margin: 0 0 0 auto;
	color: var(--color-muted);
	font: 400 0.8125rem / 1.2 var(--font-body);
}

.shop .woocommerce-ordering { margin: 0; }

.shop .woocommerce-ordering select.orderby {
	min-width: 11.625rem;
	height: 2.6875rem;
	padding: 0 2.25rem 0 0.75rem;
	border: 1px solid var(--color-muted);
	border-radius: 0;
	background: var(--color-background) url("../img/chevron-down.svg") right 0.625rem center / 16px no-repeat;
	color: var(--color-muted);
	font: 400 0.8125rem / 1 var(--font-body);
	cursor: pointer;
	appearance: none;
}

.shop .woocommerce-ordering select.orderby:focus-visible {
	outline: 2px solid var(--color-text-strong);
	outline-offset: 2px;
}

/* Siatka i stany ładowania */
.shop__products .product-grid { transition: opacity var(--dur) ease; }

.shop__products.is-loading .product-grid {
	opacity: 0.4;
	pointer-events: none;
}

.shop__products.is-loading-more::after {
	content: "Ładowanie kolejnych produktów…";
	display: block;
	padding-block: 2rem;
	color: var(--color-muted);
	font: 300 var(--fs-sm) / 1.5 var(--font-body);
	text-align: center;
}

.shop__empty {
	padding-block: 2rem;
	color: var(--color-muted);
}

/* Paginacja (bez JS albo przed pierwszym filtrowaniem) */
.shop .woocommerce-pagination { margin-top: 4rem; }

.shop .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.375rem;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.shop .woocommerce-pagination ul.page-numbers li { border: 0; }

.shop .woocommerce-pagination .page-numbers :is(a, span) {
	display: grid;
	place-items: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.5rem;
	border: 1px solid var(--color-border);
	color: var(--color-text);
	font: 400 var(--fs-sm) / 1 var(--font-body);
	text-decoration: none;
}

.shop .woocommerce-pagination .page-numbers :is(a:hover, span.current) {
	border-color: var(--color-text-strong);
	background: var(--color-text-strong);
	color: var(--color-background);
}

/* Szuflada filtrów (mobile) */
.filters-drawer__title { font: 500 var(--fs-h2) / 1 var(--font-heading); }

.filters-drawer__body {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0 var(--page-pad) 2rem;
	border-top: 1px solid var(--color-border);
}

.filters-drawer__footer {
	flex: none;
	padding: 1rem var(--page-pad) 1.5rem;
	border-top: 1px solid var(--color-border);
}

.filters-drawer__apply {
	justify-content: center;
	width: 100%;
}

@media (max-width: 63.999rem) {
	.shop-toolbar__filters { display: none; }

	.shop-toolbar__toggle {
		display: inline-flex;
		justify-content: center;
		width: 100%;
	}

	.shop-toolbar__meta { gap: 1rem; }
	.shop-toolbar__count { margin-left: 0; }
	.shop .woocommerce-ordering { margin-left: auto; }
}

@media (min-width: 64rem) {
	.filters-drawer { display: none; }
}
