.pp-catalog-container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px 50px;
	box-sizing: border-box;
}

.pp-catalog-header {
	margin-bottom: 25px;
}

.pp-catalog-breadcrumb {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	color: #8a8f96;
}

.pp-catalog-title {
	margin: 0;
	font-size: 34px;
	line-height: 1.2;
	color: #252a31;
}

.pp-catalog-filters {
	width: 100%;
	margin: 0 0 35px;
	padding: 22px;
	box-sizing: border-box;
	background: #f7f8fa;
	border: 1px solid #e1e4e8;
	border-radius: 10px;
}

.pp-catalog-filters__grid {
	display: grid;
	grid-template-columns:
		repeat(
			3,
			minmax(180px, 1fr)
		);
	gap: 15px;
}

/* Поле одного фильтра. */
.pp-filter-field {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* Название поля фильтра. */
.pp-filter-field label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: #4f5862;
}

/*
 * Все поля фильтров имеют
 * одинаковую ширину и высоту.
 */
.pp-filter-field select,
.pp-filter-field input[type="number"] {
	display: block;
	width: 100%;
	height: 40px;
	min-width: 0;
	margin: 0;
	padding: 8px 11px;
	box-sizing: border-box;
	border: 1px solid #cfd4da;
	border-radius: 5px;
	background: #ffffff;
	color: #343a40;
	font-size: 14px;
	line-height: 1.2;
}

/* Убираем различия браузера у поля цены. */
.pp-filter-field input[type="number"] {
	appearance: textfield;
	-moz-appearance: textfield;
}

/* Состояние при нажатии на поле. */
.pp-filter-field select:focus,
.pp-filter-field input[type="number"]:focus {
	outline: none;
	border-color: #3973a8;
	box-shadow:
		0 0 0 2px
		rgba(
			57,
			115,
			168,
			0.12
		);
}

.pp-filter-price-group {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	min-width: 0;
}

.pp-filter-reset-cell {
	display: flex;
	align-items: flex-end;
	min-height: 64px;
}

.pp-filter-reset {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 600;
	color: #3d6f9e;
	text-decoration: underline;
}

.pp-filter-reset:hover {
	text-decoration: none;
}

.pp-products-grid {
	display: grid;
	grid-template-columns:
		repeat(
			4,
			minmax(0, 1fr)
		);
	gap: 25px;
}

.pp-product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 18px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #e0e3e7;
	border-radius: 9px;
}

.pp-product-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 240px;
	margin-bottom: 14px;
	overflow: hidden;
	background: #f8f9fa;
}

.pp-product-card__image img {
	display: block;
	max-width: 100%;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pp-product-card__content {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	flex-grow: 1;
}

.pp-product-card__brand {
	margin-bottom: 7px;
	font-size: 12px;
	font-weight: 400;
	color: #666d75;
}

.pp-product-card__brand a {
	font-weight: 400;
	color: #3d6f9e;
	text-decoration: none;
}

.pp-product-card__brand a:hover {
	text-decoration: underline;
}

.pp-product-card__title {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: #252a31;
}

.pp-product-card__price {
	margin-bottom: 11px;
	font-size: 17px;
	font-weight: 700;
	color: #20252b;
}

.pp-store-buttons {
	display: flex;
	flex-direction: column;
	margin-top: auto;
	gap: 8px;
}

.pp-store-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	padding: 4px 6px;
	box-sizing: border-box;
	border-radius: 5px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}

.pp-store-ozon {
	background: #005bff;
}

.pp-store-wildberries {
	background: #8b2bb5;
}

.pp-store-yandex {
	background: #f28b18;
}

.pp-store-other {
	background: #16877b;
}

.pp-product-comment {
	margin-bottom: 12px;
}

.pp-product-comment__toggle {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 12px;
	color: #5a6672;
	cursor: pointer;
}

.pp-product-comment__content {
	display: none;
	margin-top: 7px;
	padding: 8px 9px;
	background: #f6f7f8;
	font-size: 12px;
	line-height: 1.55;
	color: #555e67;
}

.pp-product-comment.is-open
.pp-product-comment__content {
	display: block;
}

.pp-product-comment.is-open
.pp-product-comment__arrow {
	transform: rotate(180deg);
}

@media (
	max-width: 1100px
) {

	.pp-products-grid {
		grid-template-columns:
			repeat(
				3,
				minmax(0, 1fr)
			);
	}
}

@media (
	max-width: 800px
) {

	.pp-catalog-filters__grid {
		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);
	}

	.pp-filter-reset-cell {
		min-height: 0;
		align-items: center;
	}

	.pp-products-grid {
		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);
	}
}

@media (
	max-width: 560px
) {

	.pp-catalog-container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.pp-catalog-title {
		font-size: 28px;
	}

	.pp-catalog-filters__grid {
		grid-template-columns:
			1fr;
	}

	.pp-filter-price-group {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pp-products-grid {
		grid-template-columns:
			1fr;
	}
}
.pp-catalog-intro { margin: 12px 0 0; max-width: 900px; font-size: 16px; line-height: 1.6; color: #555d66; }
.pp-single-product__description { margin-top: 24px; }


/* =========================================================
   3.7.2 — изображения, цена, выравнивание карточек и пагинация
   ========================================================= */

/* Убираем серые полосы вокруг изображения. */
/* Показываем весь товар без обрезки: горизонтальные картины остаются горизонтальными. */
.pp-product-card__image {
    background: #fff !important;
    align-items: center;
    justify-content: center;
}

/* Ссылка должна занимать всю область изображения, иначе высота картинки
   может рассчитываться относительно самой ссылки, а не контейнера. */
.pp-product-card__image > a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
}

.pp-product-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    background: #fff;
    object-fit: contain;
    object-position: center;
}

.pp-single-product__image {
    background: #fff !important;
}

.pp-single-product__image img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    background: #fff !important;
}

/* Цена каталога всегда располагается непосредственно над кнопкой. */
.pp-product-card__content {
    flex: 1 1 auto;
}

.pp-product-card__bottom {
    margin-top: auto;
    padding-top: 12px;
}

.pp-product-card__bottom .pp-product-card__price {
    margin: 0 0 8px;
    text-align: center;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
}

.pp-product-card__bottom .pp-store-buttons {
    margin-top: 0;
}

/* Цена на отдельной странице товара. */
.pp-single-product__price {
    margin: 10px 0 20px;
    text-align: center;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 800;
    color: #20252b;
}

.pp-single-product__price span {
    font-size: .9em;
    font-weight: 800;
}

/* Пагинация ниже рамки сетки товаров. */
.pp-catalog-pagination {
    clear: both;
    margin-top: 46px;
    padding-top: 8px;
}

.pp-catalog-pagination .navigation,
.pp-catalog-pagination .nav-links {
    margin-top: 0;
}

/* 3.8.45 — поиск бренда в симметричном фасетном фильтре. */
.pp-brand-picker{position:relative;display:block;min-width:0}
.pp-filter-field .pp-brand-search{display:block;width:100%;height:40px;min-width:0;margin:0;padding:8px 11px;box-sizing:border-box;border:1px solid #cfd4da;border-radius:5px;background:#fff;color:#343a40;font-size:14px;line-height:1.2}
.pp-filter-field .pp-brand-search:focus{outline:none;border-color:#3973a8;box-shadow:0 0 0 2px rgba(57,115,168,.12)}
.pp-brand-source{display:none!important}
.pp-brand-results{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 2px);max-height:260px;overflow:auto;background:#fff;border:1px solid #cfd4da;border-radius:0 0 6px 6px;box-shadow:0 3px 8px rgba(0,0,0,.14)}
.pp-brand-result{display:block;width:100%;padding:8px 10px;border:0;border-bottom:1px solid #eef0f2;background:#fff;text-align:left;cursor:pointer;font:inherit;color:#343a40}
.pp-brand-result:hover,.pp-brand-result:focus,.pp-brand-result.is-active{background:#f0f6fc}
.pp-brand-result-empty{display:block;padding:7px 9px;color:#646970;font-size:13px}
