.catalog__heading { display: grid; gap: 6px; margin-bottom: 18px; }
.catalog__heading h1, .catalog__heading h2 { font-size: clamp(28px, 4.4vw, 44px); }
.archive-wrap, body.post-type-archive-product .catalog, body.tax-product_category .catalog, body.tax-brand .catalog { margin-top: 24px; }

.catalog__search { position: relative; margin-bottom: 12px; }
.catalog__search svg { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.catalog__search input {
	width: 100%; height: 52px; padding: 0 20px 0 48px; border: 0; border-radius: var(--r-pill);
	background: var(--surface); box-shadow: var(--shadow-sm); font-size: 16px;
	transition: box-shadow var(--t) var(--ease);
}
.catalog__search input::placeholder { color: var(--muted); }
.catalog__search input:focus { outline: none; box-shadow: 0 0 0 2px var(--accent), var(--shadow-sm); }

.catalog__bar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.catalog__cats { margin-bottom: 8px; }
.catalog__results { color: var(--muted); font-size: 14px; margin: 14px 0; }

.catalog__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; transition: opacity var(--t) var(--ease); }
.catalog__grid.is-loading { opacity: .45; pointer-events: none; }
.catalog__empty { text-align: center; color: var(--muted); padding: 56px 0; }
.catalog__more { display: flex; justify-content: center; margin-top: 28px; }

@media (min-width: 768px) {
	.catalog__grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
	.catalog__search { max-width: 560px; }
}
@media (min-width: 1100px) { .catalog__grid { grid-template-columns: repeat(4, 1fr); } }

/* Панель фильтров */
.fieldset { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.fieldset legend { padding: 0; margin-bottom: 12px; font-size: 13px; font-weight: 600; color: var(--muted); }
.filter-panel__actions { flex: none; display: grid; grid-template-columns: 1fr 2fr; gap: 10px; padding: 14px var(--gutter) 18px; border-top: 1px solid var(--line); }

.price-range__labels { display: flex; justify-content: space-between; font-weight: 600; margin-bottom: 14px; }
.price-range__control { position: relative; height: 28px; }
.price-range__track { position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px; border-radius: 2px; background: var(--surface-2); }
.price-range__fill { position: absolute; top: 0; bottom: 0; background: var(--accent); border-radius: 2px; }
.price-range__input { position: absolute; left: 0; width: 100%; top: 0; height: 28px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.price-range__input::-webkit-slider-runnable-track { background: none; height: 28px; }
.price-range__input::-moz-range-track { background: none; }
.price-range__input::-webkit-slider-thumb {
	-webkit-appearance: none; pointer-events: auto; width: 26px; height: 26px; margin-top: 1px; border-radius: 50%;
	background: #fff; border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.25), 0 4px 10px -2px rgba(0,0,0,.2); cursor: grab;
	transition: transform var(--t-fast) var(--ease);
}
.price-range__input::-webkit-slider-thumb:active { transform: scale(1.12); cursor: grabbing; }
.price-range__input::-moz-range-thumb { pointer-events: auto; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.25), 0 4px 10px -2px rgba(0,0,0,.2); }
