/* ==========================================================================
   Ercik Buty – listing produktów
   ========================================================================== */

.catalog {
	padding-bottom: var(--sp-8);
}

.breadcrumb {
	padding: var(--sp-4) 0 0;
	font-size: var(--fs-xs);
	color: var(--c-ink-3);
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.breadcrumb a:hover {
	color: var(--c-ink);
}

.breadcrumb__sep {
	opacity: 0.5;
}

.catalog__header {
	padding: var(--sp-5) 0 var(--sp-4);
}

.catalog__title {
	font-size: var(--fs-2xl);
	margin: 0;
}

.catalog__intro {
	margin-top: var(--sp-3);
	max-width: 68ch;
	color: var(--c-ink-2);
	font-size: var(--fs-sm);
}

/* --- Pasek narzędzi ------------------------------------------------------- */

.catalog__toolbar {
	position: sticky;
	top: var(--header-h);
	z-index: 40;
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	padding: var(--sp-3) 0;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: var(--sp-4);
}

.catalog__filter-btn {
	position: relative;
	flex: 0 0 auto;
}

.catalog__filter-count {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: var(--r-pill);
	background: var(--c-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
}

.catalog__count {
	font-size: var(--fs-sm);
	color: var(--c-ink-3);
	white-space: nowrap;
}

.catalog__sort {
	margin-left: auto;
}

.select--sm {
	min-height: 38px;
	padding: 6px 32px 6px 12px;
	font-size: var(--fs-xs);
	font-weight: 600;
	border: 1px solid var(--c-line);
	border-radius: var(--r-pill);
	background: var(--c-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7681' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center / 16px;
	appearance: none;
	max-width: 190px;
}

@media (min-width: 1024px) {
	.catalog__filter-btn {
		display: none;
	}
}

/* --- Układ ---------------------------------------------------------------- */

.catalog__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-6);
	align-items: start;
}

.catalog__sidebar {
	display: none;
}

@media (min-width: 1024px) {
	.catalog__layout {
		grid-template-columns: 264px minmax(0, 1fr);
	}

	.catalog__sidebar {
		display: block;
		position: sticky;
		top: calc(var(--header-h) + var(--sp-5));
	}
}

.catalog__sidebar-title {
	font-size: var(--fs-base);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--c-ink-3);
	margin-bottom: var(--sp-4);
}

.catalog__results {
	min-width: 0;
}

/* Listing gra zdjęciem – dwa produkty w rzędzie na każdej szerokości. */
.catalog .product-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
	.catalog .product-grid {
		gap: var(--sp-5);
	}
}

/* Większe kafle znoszą też drobny druk. */
@media (min-width: 620px) {
	.catalog .product-card__body {
		padding: var(--sp-4);
	}

	.catalog .product-card__title {
		font-size: var(--fs-base);
	}

	.catalog .product-card__price {
		font-size: var(--fs-lg);
	}

	.catalog .product-card__size {
		font-size: var(--fs-md);
		padding: 6px 12px;
	}
}

.product-grid.is-loading {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.15s var(--ease);
}

.catalog__more {
	display: flex;
	justify-content: center;
	margin-top: var(--sp-6);
}

.catalog__more .btn[hidden] {
	display: none;
}

/* --- Filtry --------------------------------------------------------------- */

.filters__group {
	border: 0;
	padding: 0;
	margin: 0 0 var(--sp-5);
}

.filters__legend {
	font-size: var(--fs-sm);
	font-weight: 800;
	margin-bottom: var(--sp-3);
	padding: 0;
	letter-spacing: -0.01em;
}

.filters .size-pill {
	position: relative;
	cursor: pointer;
	min-width: 58px;
}

.filters .size-pill input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.filters .size-pill.is-empty {
	opacity: 0.35;
	pointer-events: none;
}

.filters__checks {
	display: grid;
	gap: var(--sp-1);
	max-height: 260px;
	overflow-y: auto;
}

.check {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	padding: 8px 4px;
	font-size: var(--fs-sm);
	cursor: pointer;
	border-radius: var(--r-sm);
	min-height: 44px;
}

.check:hover {
	background: var(--c-bg-alt);
}

.check input[type="checkbox"] {
	width: 20px;
	height: 20px;
	accent-color: var(--c-ink);
	flex: 0 0 auto;
}

.check__count {
	margin-left: auto;
	font-size: var(--fs-xs);
	color: var(--c-ink-3);
}

.check--switch {
	font-weight: 600;
}

.filters__price {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
}

.filters__price label {
	flex: 1 1 0;
}

.filters__dash {
	color: var(--c-ink-3);
}

.filters__actions {
	display: grid;
	gap: var(--sp-2);
	position: sticky;
	bottom: 0;
	background: var(--c-bg);
	padding-top: var(--sp-3);
}

@media (min-width: 1024px) {
	.filters__actions .btn[type="submit"] {
		display: none;
	}
}

/* --- Kafle kategorii w listingu ------------------------------------------ */

.catalog .woocommerce-no-products-found {
	display: none;
}
