/* ProJammer — redesign, этап 1: общие стили, шапка, подвал, кнопки, форма.
   Подключается в header.tpl после всех стилей темы и переопределяет их.
   Все новые классы начинаются с pj-, чтобы не пересекаться с темой. */

:root {
	--pj-ink: #14171C;
	--pj-muted: #4A5360;
	--pj-line: #E3E6EA;
	--pj-line-strong: #C9CED6;
	--pj-surface: #F4F5F7;
	--pj-accent: #1F3FA8;
	--pj-accent-dark: #17307F;
	--pj-radius: 8px;
}

/* ---------- Общее ---------- */
body.pj {
	font-family: 'Golos Text', 'Open Sans', system-ui, sans-serif;
	color: var(--pj-ink);
	font-size: 15px;
	line-height: 1.5;
}
body.pj h1, body.pj h2, body.pj h3, body.pj h4, body.pj h5, body.pj h6 {
	font-family: inherit;
	color: var(--pj-ink);
	letter-spacing: -0.01em;
}
body.pj a { color: var(--pj-ink); }
body.pj a:hover, body.pj a:focus { color: var(--pj-accent); text-decoration: none; }

/* Кнопки темы: без красного, без капса */
body.pj .button, body.pj .button:focus, body.pj a.btn, body.pj input[type='submit'],
body.pj .form-horizontal input.btn, body.pj #button-search, body.pj #button-review,
body.pj #button-confirm, body.pj #button-login, body.pj #button-register, body.pj #button-coupon {
	background: var(--pj-accent);
	color: #fff;
	border: 0;
	border-radius: var(--pj-radius);
	font-size: 15px;
	font-weight: 600;
	text-transform: none;
	padding: 12px 20px;
}
body.pj .button:hover, body.pj a.btn:hover, body.pj input[type='submit']:hover,
body.pj .form-horizontal input.btn:hover, body.pj #button-search:hover, body.pj #button-review:hover,
body.pj #button-confirm:hover, body.pj #button-login:hover, body.pj #button-register:hover, body.pj #button-coupon:hover {
	background: var(--pj-accent-dark);
	color: #fff;
}

.pj-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 18px;
	border-radius: var(--pj-radius);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}
.pj-btn--outline { border: 1px solid var(--pj-ink); background: #fff; color: var(--pj-ink); }
body.pj .pj-btn--outline:hover { border-color: var(--pj-accent); color: var(--pj-accent); }

/* ---------- Шапка ---------- */
.pj-header { background: #fff; border-bottom: 1px solid var(--pj-line); }
.pj-header #top { background: #fff; }
.pj-header.fix-nav { box-shadow: 0 6px 20px rgba(20, 23, 28, 0.08); }
.pj-header.fix-nav .pj-util { display: none; }

.pj-util { background: var(--pj-surface); font-size: 13px; }
.pj-util__in {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 24px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.pj-util__in::before, .pj-util__in::after, .pj-main::before, .pj-main::after,
.pj-nav__in::before, .pj-nav__in::after { display: none; }
.pj-util__links, .pj-util__contacts { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; }
body.pj .pj-util a, .pj-util__note { color: var(--pj-muted); }
body.pj .pj-util a.pj-util__phone { color: var(--pj-ink); font-weight: 600; }

.pj-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding-top: 14px;
	padding-bottom: 14px;
}
.pj-header #logo.pj-logo { margin: 0; flex: none; }
.pj-header #logo.pj-logo img { max-height: 48px; width: auto; }
.pj-logo__text { font-size: 24px; font-weight: 700; }

.pj-search {
	flex: 1 1 280px;
	min-width: 0;
	display: flex;
	border: 1px solid var(--pj-line-strong);
	border-radius: var(--pj-radius);
	overflow: hidden;
	margin: 0;
}
.pj-search input[type='search'] {
	flex: 1;
	min-width: 0;
	height: 46px;
	border: 0;
	padding: 0 16px;
	font: inherit;
	font-size: 15px;
	color: var(--pj-ink);
	background: #fff;
	box-shadow: none;
	-webkit-appearance: none;
}
.pj-search button {
	flex: none;
	width: 52px;
	height: 46px;
	border: 0;
	padding: 0;
	background: var(--pj-accent);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.pj-search button:hover { background: var(--pj-accent-dark); }

.pj-actions { display: flex; align-items: stretch; gap: 4px; flex: none; }
.pj-action {
	min-width: 68px;
	min-height: 48px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	font-size: 12px;
	color: var(--pj-ink);
	position: relative;
}

/* Корзина темы внутри новой шапки */
.pj-action--cart #cart { width: 28px; height: 24px; margin: 0; float: none; position: relative; display: block; }
.pj-action--cart #cart #cart-total { display: none; }
.pj-action--cart #cart .top-cart-contain { height: auto; padding: 0; margin: 0; background: none; border: 0; float: none; position: relative; }
.pj-action--cart #cart .arrow-cart { display: none; }
.pj-action--cart #cart .top-cart-contain > button.btn-cart {
	width: 28px;
	height: 24px;
	padding: 0;
	margin: 0;
	background: none;
	border: 0;
	box-shadow: none;
	line-height: 1;
}
.pj-action--cart #cart .top-cart-contain > button.btn-cart svg { width: 24px; height: 24px; }
.pj-action--cart #cart .top-cart-contain > button.btn-cart svg path { fill: var(--pj-ink); }
.pj-action--cart #cart.active .top-cart-contain > button.btn-cart svg path { fill: var(--pj-accent); }
.pj-action--cart #cart .dropdown-menu { right: 0; left: auto; top: 100%; margin-top: 28px; }

/* Строка разделов: меню темы + ссылки на решения */
.pj-header #menu_top.pj-nav { border-top: 1px solid var(--pj-line); background: #fff; }
.pj-nav__in { display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; }
.pj-nav .header-container { flex: 1 1 auto; min-width: 0; }
.pj-nav__extra {
	display: flex;
	gap: 24px;
	align-items: center;
	padding-left: 24px;
	border-left: 1px solid var(--pj-line-strong);
	font-size: 15px;
	font-weight: 600;
	min-height: 24px;
}
.pj-nav .pt_custommenu { background: none; }
.pj-nav .pt_custommenu div.pt_menu .parentMenu a,
.pj-nav .pt_custommenu div.pt_menu .parentMenu span.block-title {
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	text-transform: none;
	color: var(--pj-ink);
	letter-spacing: 0;
}
.pj-nav .pt_custommenu div.pt_menu.act .parentMenu a,
.pj-nav .pt_custommenu div.pt_menu.active .parentMenu a,
.pj-nav .pt_custommenu div.pt_menu .parentMenu a:hover { color: var(--pj-accent); }

@media (max-width: 991px) {
	.pj-util__links { display: none; }
	.pj-util__note { display: none; }
	.pj-nav__extra { border-left: 0; padding: 8px 0 12px; }
	.pj-main .pj-btn--outline { flex: 1 1 100%; }
}
@media (max-width: 480px) {
	.pj-action span { display: none; }
	.pj-action { min-width: 44px; }
}

/* ---------- Подвал ---------- */
.pj-footer { background: #fff; border-top: 1px solid var(--pj-line); margin-top: 40px; font-size: 15px; }
.pj-footer__top { display: flex; flex-wrap: wrap; gap: 40px 56px; padding: 56px 0 32px; }
.pj-footer__brand { flex: 1 1 200px; min-width: 0; }
.pj-footer__brand img { max-height: 48px; width: auto; }
.pj-footer__brand p { margin: 12px 0 0; color: var(--pj-muted); }
.pj-footer__cols {
	flex: 4 1 640px;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 32px;
}
.pj-footer__col { display: flex; flex-direction: column; gap: 10px; }
.pj-footer__title { font-weight: 600; color: var(--pj-ink); }
body.pj .pj-footer__col a { color: var(--pj-muted); }
body.pj .pj-footer__col a:hover { color: var(--pj-accent); }
body.pj .pj-footer__col a.vopros { background: none; padding: 0; margin: 0; font-size: inherit; font-weight: 400; text-transform: none; display: inline; border: 0; }

.pj-footer__contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
	align-items: center;
	justify-content: space-between;
	padding: 24px 0;
	border-top: 1px solid var(--pj-line);
}
.pj-footer__phones { display: flex; flex-wrap: wrap; gap: 8px 32px; align-items: baseline; font-size: 17px; }
.pj-footer__phone { font-size: 22px; font-weight: 700; letter-spacing: -0.01em; }
.pj-footer__social { display: flex; gap: 8px; }
.pj-footer__social a {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: var(--pj-surface);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.pj-footer__social img { width: 24px; height: 24px; }

.pj-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 32px;
	justify-content: space-between;
	padding: 20px 0 32px;
	border-top: 1px solid var(--pj-line);
	font-size: 13px;
	color: var(--pj-muted);
}
.pj-footer__docs { display: flex; flex-wrap: wrap; gap: 8px 24px; }
body.pj .pj-footer__legal a { color: var(--pj-muted); }
body.pj .pj-footer__legal a:hover { color: var(--pj-accent); }

/* ---------- Всплывающая форма «Задать вопрос» ---------- */
body.pj .white-popup {
	max-width: 480px;
	padding: 32px;
	border-radius: 20px;
	font-family: inherit;
}
body.pj .white-popup h3 { font-size: 24px; font-weight: 700; margin: 0 0 20px; text-align: left; }
body.pj .white-popup .form-control {
	height: 48px;
	border: 1px solid var(--pj-line-strong);
	border-radius: var(--pj-radius);
	box-shadow: none;
	font-size: 16px;
	color: var(--pj-ink);
}
body.pj .white-popup textarea.form-control { height: 96px; padding-top: 12px; }
body.pj .white-popup .button { width: 100%; min-height: 52px; }
.pj-consent { margin: 12px 0 0; font-size: 13px; color: var(--pj-muted); }
.pj-consent a { text-decoration: underline; }

/* ================= Этап 2: категория и карточка в списке ================= */
.pj-btn--primary { background: var(--pj-accent); color: #fff; border: 0; cursor: pointer; }
body.pj .pj-btn--primary:hover, body.pj a.pj-btn--primary:hover { background: var(--pj-accent-dark); color: #fff; }
body.pj a.pj-btn--primary { color: #fff; }
.pj-btn--icon { width: 48px; padding: 0; background: #fff; border: 1px solid var(--pj-line-strong); color: var(--pj-ink); cursor: pointer; flex: none; }
.pj-btn--icon:hover { border-color: var(--pj-accent); color: var(--pj-accent); }

.pj-crumbs { background: none; margin: 0; padding: 16px 0 0; }
.pj-crumbs .breadcrumb { background: none; margin: 0; padding: 0; font-size: 13px; text-align: left; }
body.pj .pj-crumbs .breadcrumb a { color: var(--pj-muted); }

.pj-cat { padding-top: 16px; }
body.pj .pj-cat__h1 { font-size: 34px; line-height: 1.15; font-weight: 700; margin: 0 0 16px; text-transform: none; text-align: left; border: 0; padding: 0; }
.pj-cat__intro { max-width: 880px; color: var(--pj-muted); font-size: 16px; margin: 0 0 20px; text-align: left; }
.pj-cat__intro section, .pj-cat__intro .row { margin: 0; padding: 0; text-align: left; background: none; }
.pj-cat__intro p { margin: 0 0 12px; }
.pj-cat__intro br { display: none; }

.pj-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
body.pj a.pj-chip {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px;
	border: 1px solid var(--pj-line-strong); border-radius: 999px; background: #fff;
	color: var(--pj-ink); font-size: 14px; font-weight: 500;
}
body.pj a.pj-chip:hover { border-color: var(--pj-accent); color: var(--pj-accent); }

.pj-toolbar { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; padding: 12px 0; margin-bottom: 20px; border-top: 1px solid var(--pj-line); border-bottom: 1px solid var(--pj-line); }
.pj-toolbar__note { font-size: 14px; color: var(--pj-muted); }
.pj-toolbar__selects { display: flex; flex-wrap: wrap; gap: 8px; }
.pj-toolbar select.form-control { width: auto; max-width: 100%; height: 40px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); box-shadow: none; font-size: 14px; color: var(--pj-ink); }

.pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.pj-card { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--pj-line); border-radius: 12px; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.pj-card:hover { border-color: var(--pj-line-strong); box-shadow: 0 8px 24px rgba(20, 23, 28, 0.08); }
.pj-card__img { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--pj-surface); }
.pj-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 12px; mix-blend-mode: multiply; }
.pj-card__tag { position: absolute; left: 12px; top: 12px; padding: 4px 10px; border-radius: 999px; background: var(--pj-ink); color: #fff; font-size: 12px; font-weight: 600; }
.pj-card__body { padding: 16px 16px 0; flex: 1; }
body.pj .pj-card__name { font-size: 16px; line-height: 1.3; font-weight: 600; margin: 0 0 8px; text-transform: none; overflow-wrap: anywhere; }
.pj-card__des { margin: 0; font-size: 14px; line-height: 1.45; color: var(--pj-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pj-card__foot { padding: 16px; }
.pj-card__price { margin-bottom: 12px; min-height: 28px; }
.pj-price { font-size: 20px; font-weight: 700; color: var(--pj-ink); font-variant-numeric: tabular-nums; }
.pj-price--old { font-size: 14px; font-weight: 400; color: var(--pj-muted); text-decoration: line-through; margin-left: 6px; }
.pj-price--ask { font-size: 16px; font-weight: 600; }
.pj-card__actions { display: flex; gap: 8px; }
.pj-card__actions .pj-btn--primary { flex: 1; min-width: 0; }

.pj-pagination { margin: 32px 0 0; text-align: center; }
.pj-pagination .pagination { margin: 0; }
body.pj .pagination > li > a, body.pj .pagination > li > span { min-width: 40px; height: 40px; line-height: 38px; padding: 0 10px; margin: 0 2px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); background: #fff; color: var(--pj-ink); }
body.pj .pagination > .active > span, body.pj .pagination > .active > a { background: var(--pj-accent); border-color: var(--pj-accent); color: #fff; }

.pj-seo { margin: 48px 0 0; padding: 32px 0 0; border-top: 1px solid var(--pj-line); max-width: 880px; }
.pj-seo__body { color: var(--pj-muted); font-size: 15px; line-height: 1.6; text-align: left; }
body.pj .pj-seo__body h2, body.pj .pj-seo__body h3 { font-size: 20px; margin: 24px 0 8px; text-transform: none; }
body.pj .pj-seo__body a { color: var(--pj-accent); text-decoration: underline; }
.pj-seo__body table { max-width: 100%; display: block; overflow-x: auto; }
.pj-seo__body--clip { max-height: 220px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.pj-seo__toggle { position: absolute; opacity: 0; pointer-events: none; }
.pj-seo__toggle:checked + .pj-seo__body--clip { max-height: none; -webkit-mask-image: none; mask-image: none; }
.pj-seo__more { display: inline-block; margin-top: 12px; font-weight: 600; color: var(--pj-accent); cursor: pointer; }
.pj-seo__toggle:focus-visible ~ .pj-seo__more { outline: 2px solid var(--pj-accent); outline-offset: 4px; }
.pj-seo__close, .pj-seo__toggle:checked ~ .pj-seo__more .pj-seo__open { display: none; }
.pj-seo__toggle:checked ~ .pj-seo__more .pj-seo__close { display: inline; }

@media (max-width: 767px) {
	body.pj .pj-cat__h1 { font-size: 26px; }
	.pj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.pj-card__body { padding: 12px 12px 0; }
	.pj-card__foot { padding: 12px; }
	.pj-price { font-size: 17px; }
	.pj-toolbar__selects, .pj-toolbar select.form-control { width: 100%; }
}
@media (max-width: 420px) {
	.pj-card__actions .pj-btn--icon { display: none; }
	.pj-card__actions .pj-btn { padding: 0 8px; font-size: 14px; }
}

/* Тема пишет заголовки и списки капсом — отключаем */
body.pj #content h1.pj-cat__h1, body.pj .pj-card .pj-card__name, body.pj .pj-card .pj-card__name a,
body.pj .pj-toolbar select.form-control, body.pj .pj-crumbs .breadcrumb a { text-transform: none; }
body.pj .pj-toolbar select.form-control { font-weight: 400; letter-spacing: 0; }
@media (max-width: 767px) {
	.pj-card__des { display: none; }
	body.pj .pj-card .pj-card__name { font-size: 14px; }
	.pj-price--old { display: block; margin: 0; }
}
body.pj #content .pj-toolbar select.form-control { text-transform: none !important; font-size: 14px; }

/* ================= Этап 3: карточка товара ================= */
.pj-product { padding-top: 16px; }
.pj-product__gallery .thumbnails { border: 1px solid var(--pj-line); border-radius: 12px; background: var(--pj-surface); overflow: hidden; }
.pj-product__gallery .thumbnails a.thumbnail { border: 0; margin: 0; padding: 16px; background: none; display: block; }
.pj-product__gallery .thumbnails img { width: 100%; height: auto; mix-blend-mode: multiply; }
.pj-product__gallery .image-additional-container { margin-top: 12px; }
.pj-product__gallery .image-additional a.thumbnail { border: 1px solid var(--pj-line); border-radius: var(--pj-radius); padding: 4px; margin: 0 4px; }
body.pj .pj-product h1.product-name { font-size: 30px; line-height: 1.2; font-weight: 700; margin: 0 0 20px; text-transform: none; text-align: left; overflow-wrap: anywhere; }
.pj-product__info > .row { display: flex; flex-direction: column; }
.pj-product__buy { order: -1; }
.pj-product__buy #product { border: 1px solid var(--pj-line); border-radius: 12px; padding: 20px; margin-bottom: 20px; }
.pj-product__buy #product::after { content: ''; display: table; clear: both; }
.pj-product .price-product { float: none; width: auto; padding: 0; margin: 0 0 16px; }
.pj-product .price-product li, .pj-product .price-product li span { font-size: 30px; font-weight: 700; color: var(--pj-ink); font-variant-numeric: tabular-nums; }
.pj-product .price-product li span.old-price { font-size: 16px; font-weight: 400; color: var(--pj-muted); text-decoration: line-through; margin-left: 10px; }
.pj-product .price-product .pj-price--ask { font-size: 22px; }
.pj-product .description4 { color: var(--pj-muted); margin-bottom: 8px; }
.pj-product #product .form-group { margin-bottom: 12px; }
body.pj .pj-product #button-cart { width: 100%; min-height: 52px; font-size: 16px; }
body.pj .pj-product a.pj-ask { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; background: #fff; color: var(--pj-ink); border: 1px solid var(--pj-ink); margin: 0; }
body.pj .pj-product a.pj-ask:hover { background: #fff; color: var(--pj-accent); border-color: var(--pj-accent); }
.pj-trust { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 6px; font-size: 14px; color: var(--pj-muted); }
.pj-trust li { padding-left: 22px; position: relative; }
.pj-trust li::before { content: ''; position: absolute; left: 2px; top: 6px; width: 10px; height: 6px; border-left: 2px solid var(--pj-accent); border-bottom: 2px solid var(--pj-accent); transform: rotate(-45deg); }
.pj-product .harakter { border: 1px solid var(--pj-line); border-radius: 12px; padding: 20px; background: var(--pj-surface); }
.pj-product .harakter .title { font-weight: 600; font-size: 17px; margin-bottom: 8px; color: var(--pj-ink); }
.pj-product .col-3 { clear: both; padding-top: 40px; }
body.pj .pj-product .nav-tabs { border-bottom: 1px solid var(--pj-line); display: flex; flex-wrap: wrap; gap: 0 28px; margin: 0 0 24px; padding: 0; }
body.pj .pj-product .nav-tabs > li { float: none; margin: 0 0 -1px; }
body.pj .pj-product .nav-tabs > li > a { border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; padding: 12px 0; margin: 0; font-size: 16px; font-weight: 600; color: var(--pj-muted); text-transform: none; }
body.pj .pj-product .nav-tabs > li.active > a, body.pj .pj-product .nav-tabs > li > a:hover { color: var(--pj-ink); border-bottom-color: var(--pj-accent); background: none; }
.pj-product .tab-content { max-width: 880px; font-size: 16px; line-height: 1.6; border: 0; padding: 0; }
body.pj .pj-product .tab-content h1, body.pj .pj-product .tab-content h2 { font-size: 22px; margin: 28px 0 10px; text-transform: none; }
body.pj .pj-product .tab-content h3 { font-size: 18px; margin: 20px 0 8px; text-transform: none; }
.pj-product .tab-content img { max-width: 100%; height: auto; }
.pj-product .tab-content table { width: 100%; max-width: 100%; border-collapse: collapse; }
.pj-product .tab-content td, .pj-product .tab-content th { border-bottom: 1px solid var(--pj-line); padding: 10px 12px 10px 0; vertical-align: top; text-align: left; }
.pj-product .tab-content iframe { max-width: 100%; }
body.pj .pj-product .tab-content a { color: var(--pj-accent); text-decoration: underline; }
.pj-legal { margin: 32px 0 0; font-size: 13px; color: var(--pj-muted); max-width: 880px; }
body.pj .related-product-container .module-title h2 { font-size: 24px; font-weight: 700; text-transform: none; text-align: left; margin: 48px 0 20px; }
body.pj .related-product .product-thumb { border: 1px solid var(--pj-line); border-radius: 12px; overflow: hidden; margin: 0 8px; background: #fff; }
body.pj .related-product h2.product-name { font-size: 15px; font-weight: 600; text-transform: none; margin: 12px 12px 6px; }
body.pj .related-product .price { font-size: 18px; font-weight: 700; color: var(--pj-ink); margin: 0 12px 12px; }
body.pj .related-product .wishlist, body.pj .related-product .ratings { display: none; }
@media (max-width: 767px) {
	body.pj .pj-product h1.product-name { font-size: 24px; margin-top: 16px; }
	.pj-product .tab-content table { display: block; overflow-x: auto; }
}
body.pj .pj-product #product #button-cart, body.pj .pj-product #product button#button-cart.button { background: var(--pj-accent) !important; color: #fff !important; border: 0; border-radius: var(--pj-radius); text-transform: none; height: auto; line-height: 1.2; }
body.pj .pj-product #product #button-cart span { color: #fff; background: none; padding: 0; text-transform: none; font-family: inherit; }
body.pj .pj-product #product #button-cart:hover { background: var(--pj-accent-dark) !important; }
body.pj .pj-product .price-product li, body.pj .pj-product .price-product li span { font-family: inherit; }
body.pj .pj-product a.pj-ask span { color: inherit; background: none; padding: 0; text-transform: none; }
.pj-product .qty-product { display: inline-flex; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); overflow: hidden; float: none; width: auto; }
body.pj .pj-product .qty-product input { float: none; width: 44px; height: 44px; border: 0; border-radius: 0; box-shadow: none; margin: 0; padding: 0; text-align: center; font-size: 16px; color: var(--pj-ink); background-color: #fff; }
body.pj .pj-product .qty-product #minus, body.pj .pj-product .qty-product #plus { background: var(--pj-surface) center / 12px 12px no-repeat; cursor: pointer; }
body.pj .pj-product .qty-product #minus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h10' stroke='%2314171C' stroke-width='1.6'/%3E%3C/svg%3E"); }
body.pj .pj-product .qty-product #plus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h10M6 1v10' stroke='%2314171C' stroke-width='1.6'/%3E%3C/svg%3E"); }
body.pj .pj-product .col-3 .nav-tabs > li > a { padding: 12px 0 !important; }
body.pj .pj-product .tab-content h1, body.pj .pj-product .tab-content h2, body.pj .pj-product .tab-content h3, body.pj .pj-product .tab-content h4 { text-transform: none !important; color: var(--pj-ink); font-weight: 700; }
.pj-related { margin-top: 56px; }
body.pj .pj-related__title { font-size: 24px; font-weight: 700; text-transform: none; text-align: left; margin: 0 0 20px; }

/* ================= Этап 4: главная ================= */
.pj-home { padding-bottom: 24px; }
.pj-section { margin-top: 72px; }
body.pj .pj-h2 { font-size: 30px; line-height: 1.15; font-weight: 700; margin: 0 0 24px; text-transform: none; text-align: left; }
.pj-lead { max-width: 720px; margin: -12px 0 24px; color: var(--pj-muted); font-size: 16px; }
.pj-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pj-accent); margin-bottom: 16px; }
.pj-btn--ghost { border: 1px solid var(--pj-line-strong); background: #fff; color: var(--pj-ink); }
body.pj a.pj-btn--ghost:hover { border-color: var(--pj-accent); color: var(--pj-accent); }
.pj-btn--light { background: #fff; color: var(--pj-ink); }
body.pj a.pj-btn--light, body.pj a.pj-btn--light:hover { color: var(--pj-ink); }
body.pj .pj-home a.vopros { margin: 0; text-transform: none; font-size: 15px; }

.pj-hero { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 20px; margin-top: 24px; }
.pj-hero::before, .pj-hero::after { display: none; }
.pj-hero__main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; align-items: center; background: var(--pj-surface); border-radius: 20px; padding: 48px; min-width: 0; }
body.pj .pj-hero h1 { font-size: 40px; line-height: 1.1; font-weight: 700; margin: 0 0 16px; text-transform: none; letter-spacing: -0.02em; }
.pj-hero__text p { font-size: 17px; color: var(--pj-muted); margin: 0 0 28px; max-width: 520px; }
.pj-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.pj-hero__img img { width: 100%; height: auto; mix-blend-mode: multiply; }
.pj-hero__side { display: grid; gap: 20px; grid-template-rows: 1fr 1fr; min-width: 0; }
body.pj a.pj-banner { display: flex; align-items: center; gap: 12px; background: var(--pj-surface); border-radius: 20px; padding: 24px; color: var(--pj-ink); min-width: 0; overflow: hidden; }
.pj-banner img { width: 42%; height: auto; flex: none; mix-blend-mode: multiply; }
.pj-banner__text { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.pj-banner__title { font-size: 20px; font-weight: 700; line-height: 1.2; }
.pj-banner__sub { font-size: 14px; color: var(--pj-muted); }
.pj-banner__more { font-size: 14px; font-weight: 600; color: var(--pj-accent); margin-top: 8px; }
body.pj a.pj-banner--accent { background: var(--pj-accent); color: #fff; }
.pj-banner--accent .pj-banner__sub, .pj-banner--accent .pj-banner__more { color: #fff; opacity: .9; }

.pj-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 20px; border: 1px solid var(--pj-line); border-radius: 12px; }
.pj-benefits > div { padding: 18px 16px; text-align: center; border-left: 1px solid var(--pj-line); display: flex; flex-direction: column; gap: 2px; }
.pj-benefits > div:first-child { border-left: 0; }
.pj-benefits b { font-weight: 600; }
.pj-benefits span { font-size: 13px; color: var(--pj-muted); }

.pj-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.pj-dirs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body.pj a.pj-dir { display: flex; flex-direction: column-reverse; gap: 12px; background: var(--pj-surface); border-radius: 16px; padding: 20px; color: var(--pj-ink); min-width: 0; transition: box-shadow .15s; }
body.pj a.pj-dir:hover { box-shadow: 0 8px 24px rgba(20, 23, 28, 0.1); }
body.pj a.pj-dir--lg { grid-column: span 2; flex-direction: row; align-items: center; padding: 28px; }
.pj-dir__text { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.pj-dir__title { font-size: 18px; font-weight: 700; line-height: 1.2; }
.pj-dir--lg .pj-dir__title { font-size: 24px; }
.pj-dir__sub { font-size: 14px; color: var(--pj-muted); }
.pj-dir__more { font-size: 14px; font-weight: 600; color: var(--pj-accent); margin-top: 6px; }
.pj-dir__img { display: block; }
.pj-dir--lg .pj-dir__img { width: 40%; flex: none; }
.pj-dir__img img { width: 100%; height: 150px; object-fit: contain; mix-blend-mode: multiply; }
.pj-dir--lg .pj-dir__img img { height: 200px; }

.pj-tasks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; border-top: 1px solid var(--pj-line); }
body.pj a.pj-task { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--pj-line); color: var(--pj-ink); }
.pj-task__title { font-size: 17px; font-weight: 600; }
.pj-task__arrow { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--pj-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }

.pj-services { background: var(--pj-ink); color: #fff; margin-top: 72px; padding: 64px 0; }
body.pj .pj-services .pj-h2, body.pj .pj-services h3 { color: #fff; }
.pj-services .pj-lead { color: #B8BEC8; }
.pj-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-bottom: 32px; }
.pj-steps > div { border-top: 1px solid rgba(255, 255, 255, .25); padding-top: 16px; }
.pj-steps span { font-size: 13px; color: #B8BEC8; font-variant-numeric: tabular-nums; }
body.pj .pj-steps h3 { font-size: 18px; font-weight: 600; margin: 8px 0; text-transform: none; }
.pj-steps p { margin: 0; color: #B8BEC8; font-size: 14px; }

.pj-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pj-why > div { border: 1px solid var(--pj-line); border-radius: 12px; padding: 20px; }
.pj-why span { font-size: 13px; color: var(--pj-accent); font-weight: 600; }
.pj-why b { display: block; font-size: 17px; margin: 8px 0 6px; }
.pj-why p { margin: 0; color: var(--pj-muted); font-size: 14px; }

.pj-request { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; background: var(--pj-surface); border-radius: 20px; padding: 40px; }
.pj-request > div { flex: 1 1 420px; min-width: 0; }
.pj-request .pj-h2 { margin-bottom: 8px; }
.pj-request p { margin: 0; color: var(--pj-muted); max-width: 620px; }
.pj-seo--home { margin: 0; padding: 0; border: 0; }

@media (max-width: 991px) {
	.pj-hero { grid-template-columns: minmax(0, 1fr); }
	.pj-hero__side { grid-template-rows: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pj-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pj-dirs, .pj-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pj-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.pj-section { margin-top: 48px; }
	body.pj .pj-h2 { font-size: 24px; }
	.pj-hero__main { grid-template-columns: minmax(0, 1fr); padding: 24px; }
	body.pj .pj-hero h1 { font-size: 28px; }
	.pj-hero__img { max-width: 260px; margin: 0 auto; }
	.pj-hero__side, .pj-tasks, .pj-why { grid-template-columns: minmax(0, 1fr); }
	.pj-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pj-benefits > div:nth-child(3) { border-left: 0; }
	.pj-benefits > div:nth-child(n+3) { border-top: 1px solid var(--pj-line); }
	body.pj a.pj-dir--lg { grid-column: span 2; flex-direction: column-reverse; align-items: stretch; padding: 20px; }
	.pj-dir--lg .pj-dir__img { width: auto; }
	.pj-dir--lg .pj-dir__img img, .pj-dir__img img { height: 130px; }
	.pj-dir--lg .pj-dir__title { font-size: 20px; }
	.pj-services { padding: 40px 0; margin-top: 48px; }
	.pj-request { padding: 24px; }
	.pj-request .pj-btn { width: 100%; white-space: normal; text-align: center; }
	.pj-hero__cta .pj-btn { flex: 1 1 100%; }
}
@media (max-width: 480px) { .pj-dirs, .pj-steps { grid-template-columns: minmax(0, 1fr); } body.pj a.pj-dir--lg { grid-column: auto; } }

/* ================= Информационные страницы и страницы решений ================= */
body.pj .pj-hero h1 { font-size: 36px; overflow-wrap: anywhere; }
.pj-info { padding-top: 16px; }
body.pj .pj-info__h1 { font-size: 34px; line-height: 1.15; font-weight: 700; margin: 0 0 24px; text-transform: none; text-align: left; max-width: 880px; }
.pj-info__body { max-width: 880px; font-size: 16px; line-height: 1.65; }
body.pj .pj-info__body h2 { font-size: 24px; font-weight: 700; margin: 40px 0 12px; text-transform: none; }
body.pj .pj-info__body h3 { font-size: 18px; font-weight: 600; margin: 24px 0 8px; text-transform: none; }
.pj-info__body p { margin: 0 0 14px; }
.pj-info__body ul, .pj-info__body ol { margin: 0 0 16px; padding-left: 22px; }
.pj-info__body li { margin-bottom: 6px; }
body.pj .pj-info__body a:not(.pj-btn) { color: var(--pj-accent); text-decoration: underline; }
.pj-info__body img { max-width: 100%; height: auto; }
.pj-info__body table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.pj-info__body td, .pj-info__body th { border-bottom: 1px solid var(--pj-line); padding: 10px 12px 10px 0; text-align: left; vertical-align: top; }
.pj-sol__lead { font-size: 18px; color: var(--pj-muted); }
.pj-sol__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 16px 0 8px; }
.pj-sol__cards > div { border: 1px solid var(--pj-line); border-radius: 12px; padding: 18px; }
.pj-sol__cards b { display: block; margin-bottom: 6px; }
.pj-sol__cards p { margin: 0 0 8px; font-size: 14px; color: var(--pj-muted); }
.pj-sol__cta { background: var(--pj-surface); border-radius: 16px; padding: 28px; margin: 40px 0 0; }
.pj-sol__cta p { color: var(--pj-muted); }
body.pj .pj-info__body a.pj-btn--primary { color: #fff; text-decoration: none; margin: 0; text-transform: none; }
.pj-sol__note { font-size: 13px; color: var(--pj-muted); margin-top: 24px; }
@media (max-width: 767px) { body.pj .pj-info__h1 { font-size: 26px; } .pj-sol__cards { grid-template-columns: minmax(0, 1fr); } body.pj .pj-hero h1 { font-size: 28px; } }
body.pj #content h1.pj-info__h1 { font-size: 34px; text-transform: none !important; color: var(--pj-ink); }
body.pj #content .pj-info__body h2 { font-size: 24px; text-transform: none !important; color: var(--pj-ink); font-weight: 700; }
body.pj #content .pj-info__body h3 { font-size: 18px; text-transform: none !important; color: var(--pj-ink); }
body.pj .pj-home h1, body.pj .pj-home h2, body.pj .pj-home h3, body.pj #content .pj-seo__body h2, body.pj #content .pj-seo__body h3, body.pj #content h2.pj-related__title { text-transform: none !important; }
@media (max-width: 767px) { body.pj #content h1.pj-info__h1 { font-size: 26px; } body.pj #content .pj-info__body h2 { font-size: 21px; } }
@media (max-width: 480px) { .pj-info__body .pj-btn, .pj-home .pj-btn { white-space: normal; text-align: center; max-width: 100%; height: auto; padding: 12px 16px; } .pj-sol__cta { padding: 20px; } }

/* ================= v2.1: собственное меню разделов ================= */
.pj-nav__in { position: relative; gap: 0; }
.pj-nav__toggle { display: none; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px; margin: 8px 0; border: 0; border-radius: var(--pj-radius); background: var(--pj-accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.pj-menu { display: flex; flex-wrap: wrap; align-items: center; gap: 0 4px; list-style: none; margin: 0 -12px; padding: 0; width: calc(100% + 24px); }
.pj-menu__item { position: relative; display: flex; align-items: center; margin: 0; }
body.pj .pj-menu__link { display: block; padding: 14px 12px; font-size: 15px; font-weight: 500; line-height: 20px; color: var(--pj-ink); white-space: nowrap; text-transform: none; }
body.pj .pj-menu__item:hover > .pj-menu__link, body.pj .pj-menu__item.is-current > .pj-menu__link { color: var(--pj-accent); }
.pj-menu__item.is-current > .pj-menu__link { box-shadow: inset 0 -2px 0 var(--pj-accent); }
.pj-menu__more { display: none; }
.pj-menu__item--extra { margin-left: auto; padding-left: 16px; }
.pj-menu__item--extra::before { content: ''; position: absolute; left: 4px; top: 14px; bottom: 14px; width: 1px; background: var(--pj-line-strong); }
.pj-menu__item--extra > .pj-menu__link, .pj-menu__item--extra + .pj-menu__item > .pj-menu__link { font-weight: 600; }
.pj-menu__drop { display: none; position: absolute; left: 0; top: 100%; z-index: 1000; min-width: 280px; padding: 8px; background: #fff; border: 1px solid var(--pj-line); border-radius: 12px; box-shadow: 0 16px 40px rgba(20, 23, 28, 0.14); }
.pj-menu__drop--right { left: auto; right: 0; }
.pj-menu__item--sub:hover > .pj-menu__drop, .pj-menu__item--sub:focus-within > .pj-menu__drop { display: block; }
body.pj .pj-menu__drop a { display: block; padding: 10px 12px; border-radius: var(--pj-radius); font-size: 15px; color: var(--pj-ink); white-space: nowrap; }
body.pj .pj-menu__drop a:hover { background: var(--pj-surface); color: var(--pj-accent); }
body.pj .pj-menu__drop a.pj-menu__all { font-weight: 600; border-bottom: 1px solid var(--pj-line); border-radius: var(--pj-radius) var(--pj-radius) 0 0; margin-bottom: 4px; }
.pj-header.fix-nav .pj-main { padding-top: 8px; padding-bottom: 8px; }

@media (max-width: 1199px) { body.pj .pj-menu__link { padding: 14px 8px; font-size: 14px; } .pj-menu { margin: 0 -8px; width: calc(100% + 16px); } }
@media (max-width: 991px) {
	.pj-nav__toggle { display: inline-flex; }
	.pj-menu { display: none; flex-direction: column; align-items: stretch; flex-wrap: nowrap; margin: 0; width: 100%; padding: 0 0 12px; }
	.pj-menu.is-open { display: flex; }
	.pj-nav__in { flex-direction: column; align-items: stretch; }
	.pj-nav__toggle { align-self: flex-start; }
	.pj-menu__item { flex-wrap: wrap; border-top: 1px solid var(--pj-line); }
	body.pj .pj-menu__link { flex: 1; padding: 14px 0; font-size: 16px; white-space: normal; }
	.pj-menu__item.is-current > .pj-menu__link { box-shadow: none; }
	.pj-menu__more { display: block; flex: none; width: 48px; height: 48px; border: 0; background: none; position: relative; cursor: pointer; }
	.pj-menu__more::before { content: ''; position: absolute; left: 18px; top: 17px; width: 10px; height: 10px; border-right: 2px solid var(--pj-ink); border-bottom: 2px solid var(--pj-ink); transform: rotate(45deg); transition: transform .15s; }
	.pj-menu__item.is-open > .pj-menu__more::before { transform: rotate(-135deg); top: 22px; }
	.pj-menu__item--extra { margin-left: 0; padding-left: 0; }
	.pj-menu__item--extra::before { display: none; }
	.pj-menu__drop, .pj-menu__item--sub:hover > .pj-menu__drop, .pj-menu__item--sub:focus-within > .pj-menu__drop { display: none; position: static; flex: 1 1 100%; min-width: 0; border: 0; box-shadow: none; padding: 0 0 8px 12px; border-radius: 0; }
	.pj-menu__item.is-open > .pj-menu__drop { display: block; }
	body.pj .pj-menu__drop a { white-space: normal; padding: 10px 0; }
	body.pj .pj-menu__drop a.pj-menu__all { border-bottom: 0; }
}

/* ================= v2.1: фильтр товаров (модуль Mega Filter) ================= */
body.pj .mfilter-box { border: 1px solid var(--pj-line); border-radius: 12px; padding: 20px; background: #fff; margin: 0 0 20px; font-family: inherit; }
body.pj .mfilter-box .box-heading { font-size: 18px; font-weight: 700; margin: 0 0 16px; padding: 0; border: 0; background: none; color: var(--pj-ink); text-transform: none; }
body.pj .mfilter-box .box-content, body.pj .mfilter-box .mfilter-content { border: 0; padding: 0; background: none; }
body.pj .mfilter-box .mfilter-content > ul { margin: 0; padding: 0; list-style: none; }
body.pj .mfilter-box .mfilter-filter-item { border: 0; margin: 0 0 16px; padding: 0; background: none; }
body.pj .mfilter-box .mfilter-heading { background: none; border: 0; padding: 0; margin: 0 0 10px; cursor: default; }
body.pj .mfilter-box .mfilter-heading-content { padding: 0; }
body.pj .mfilter-box .mfilter-heading-text { margin: 0; padding: 0; }
body.pj .mfilter-box .mfilter-heading-text > span { font-size: 14px; font-weight: 600; color: var(--pj-ink); text-transform: none; }
body.pj .mfilter-box .mfilter-head-icon { display: none; }
body.pj .mfilter-box .mfilter-content-opts, body.pj .mfilter-box .mfilter-opts-container, body.pj .mfilter-box .mfilter-content-wrapper, body.pj .mfilter-box .mfilter-options, body.pj .mfilter-box .mfilter-option { padding: 0; margin: 0; border: 0; background: none; }
body.pj .mfilter-box .mfilter-price-inputs { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; font-size: 0; color: transparent; margin: 0 0 16px; padding: 0; }
body.pj .mfilter-box .mfilter-price-inputs::after { content: '—'; grid-column: 2; grid-row: 1; font-size: 14px; color: var(--pj-muted); }
body.pj .mfilter-box .mfilter-price-inputs input { width: 100%; min-width: 0; height: 40px; padding: 0 10px; margin: 0; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); box-shadow: none; font-size: 14px; color: var(--pj-ink); background: #fff; font-variant-numeric: tabular-nums; float: none; }
body.pj .mfilter-box #mfilter-opts-price-min { grid-column: 1; grid-row: 1; }
body.pj .mfilter-box #mfilter-opts-price-max { grid-column: 3; grid-row: 1; }
body.pj .mfilter-box .mfilter-price-slider { padding: 6px 10px 4px; margin: 0; }
body.pj .mfilter-box #mfilter-price-slider { height: 4px; background: var(--pj-line-strong); border: 0; border-radius: 2px; position: relative; }
body.pj .mfilter-box #mfilter-price-slider .ui-slider-range { background: var(--pj-accent); height: 4px; border: 0; top: 0; border-radius: 2px; }
body.pj .mfilter-box #mfilter-price-slider .ui-slider-handle { width: 20px; height: 20px; margin-left: -10px; top: -8px; background: #fff; border: 2px solid var(--pj-accent); border-radius: 50%; box-shadow: 0 1px 4px rgba(20, 23, 28, 0.2); cursor: pointer; outline: 0; }
body.pj .mfilter-box #mfilter-price-slider .ui-slider-handle:focus-visible { box-shadow: 0 0 0 3px rgba(31, 63, 168, 0.3); }
body.pj .mfilter-box .mfilter-button { text-align: left; padding: 12px 0 0; margin: 0; border: 0; border-top: 1px solid var(--pj-line); background: none; }
body.pj .mfilter-box .mfilter-button a.mfilter-button-reset { font-size: 14px; font-weight: 500; color: var(--pj-muted); text-decoration: none; }
body.pj .mfilter-box .mfilter-button a.mfilter-button-reset:hover { color: var(--pj-accent); }
body.pj .mfilter-box .mfilter-reset-icon { display: none; }
body.pj .mfilter-box label, body.pj .mfilter-box .mfilter-tb-as-td { font-size: 14px; color: var(--pj-ink); }
body.pj .mfilter-box .mfilter-counter { background: var(--pj-surface); color: var(--pj-muted); border-radius: 999px; }
body.pj .mfilter-box .mfilter-counter::after { display: none; }
/* Плавающая кнопка фильтра на планшете и телефоне: внизу слева, не поверх логотипа */
body.pj .mfilter-free-container { top: 0 !important; }
body.pj .mfilter-free-button { position: fixed; left: 12px; bottom: 16px; top: auto; margin: 0; width: auto; height: 44px; padding: 0 16px 0 40px; border: 0; border-radius: 999px; background: var(--pj-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") 14px center / 18px 18px no-repeat; box-shadow: 0 6px 20px rgba(20, 23, 28, 0.25); box-sizing: border-box; z-index: 1001; }
body.pj .mfilter-free-button::after { content: 'Фильтр'; color: #fff; font-size: 15px; font-weight: 600; line-height: 44px; }
/* v2.1: уточнения после проверки на тестовом домене */
body.pj .pj-menu__link { padding: 14px 8px; }
.pj-menu { gap: 0; margin: 0 -8px; width: calc(100% + 16px); }
body.pj .mfilter-box #mfilter-price-slider { background: var(--pj-line-strong) !important; }
body.pj .mfilter-box #mfilter-price-slider .ui-slider-range { background: var(--pj-accent) !important; }
body.pj .mfilter-box #mfilter-price-slider .ui-slider-handle { background: #fff !important; }
.pj-nav__kp { display: none; }
@media (max-width: 991px) {
	.pj-menu { display: none !important; margin: 0; width: 100%; }
	.pj-menu.is-open { display: flex !important; }
	.pj-menu__item, body.pj .pj-menu__link, body.pj .pj-menu__drop a { text-align: left; }
	body.pj .pj-menu__link { padding: 14px 0; }
	.pj-main { gap: 10px 12px; }
	.pj-main .pj-logo { order: 1; }
	.pj-main .pj-actions { order: 2; margin-left: auto; }
	.pj-main .pj-search { order: 3; flex: 1 1 100%; }
	.pj-main > .pj-btn--outline { display: none; }
	.pj-nav__in { flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 0 10px; }
	.pj-nav__kp { display: inline-flex; margin-left: auto; min-height: 44px; }
	.pj-nav__toggle { min-height: 44px; }
}

/* ================= v2.3: шапка по концепции — текстовый логотип, кнопка «Каталог», мега-меню ================= */
body.pj .pj-header a.pj-logo__text { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; color: var(--pj-ink); line-height: 48px; white-space: nowrap; text-transform: none; }
body.pj .pj-header a.pj-logo__text span { color: var(--pj-accent); }
.pj-catbtn { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px; border: 0; border-radius: var(--pj-radius); background: var(--pj-ink); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; flex: none; }
.pj-catbtn:hover, .pj-catbtn.is-open { background: var(--pj-accent); }
.pj-menu { display: flex !important; flex-wrap: wrap; align-items: center; gap: 0 4px; margin: 0 -10px; width: calc(100% + 20px); padding: 0; list-style: none; }
body.pj .pj-menu__link { padding: 12px 10px; font-size: 15px; font-weight: 500; white-space: nowrap; box-shadow: none; }
.pj-menu__item--strong > .pj-menu__link { font-weight: 600 !important; }
.pj-menu__sep { width: 1px; height: 20px; background: var(--pj-line-strong); margin: 0 10px; }
.pj-menu__item.is-current > .pj-menu__link { box-shadow: inset 0 -2px 0 var(--pj-accent); color: var(--pj-accent); }
.pj-mega { position: absolute; left: 0; right: 0; z-index: 1000; background: #fff; border-top: 1px solid var(--pj-line); border-bottom: 1px solid var(--pj-line); box-shadow: 0 24px 40px -24px rgba(20, 23, 28, 0.25); }
.pj-mega[hidden] { display: none; }
.pj-header { position: relative; }
.pj-mega__in { display: flex; flex-wrap: wrap; gap: 32px 40px; padding-top: 32px; padding-bottom: 40px; }
.pj-mega__in::before, .pj-mega__in::after { display: none; }
.pj-mega__cols { flex: 3 1 600px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 28px 32px; }
.pj-mega__col, .pj-mega__side { display: flex; flex-direction: column; gap: 10px; font-size: 15px; min-width: 0; }
body.pj .pj-mega a { color: var(--pj-muted); }
body.pj .pj-mega a:hover { color: var(--pj-accent); }
body.pj .pj-mega .pj-mega__title { font-size: 17px; font-weight: 600; color: var(--pj-ink); }
.pj-mega__side { flex: 1 1 240px; background: var(--pj-surface); border-radius: 16px; padding: 24px; align-self: flex-start; }
body.pj .pj-mega a.pj-mega__cta { color: #fff; margin-top: 8px; align-self: flex-start; }
@media (max-width: 1199px) { body.pj .pj-menu__link { padding: 12px 7px; font-size: 14px; } .pj-menu__sep { margin: 0 6px; } }
@media (max-width: 991px) {
	.pj-header #menu_top.pj-nav { display: none; }
	.pj-main .pj-logo { order: 1; }
	.pj-main .pj-actions { order: 2; margin-left: auto; }
	.pj-main .pj-catbtn { order: 3; padding: 0 14px; }
	.pj-main .pj-search { order: 4; flex: 1 1 0; }
	.pj-mega { max-height: calc(100vh - 150px); overflow-y: auto; }
	.pj-mega__in { padding-top: 20px; padding-bottom: 24px; gap: 20px; }
	.pj-mega__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; flex-basis: 100%; }
	.pj-mega__side { flex-basis: 100%; }
}
@media (max-width: 480px) { .pj-catbtn span { display: none; } .pj-main .pj-catbtn { padding: 0 14px; } body.pj .pj-header a.pj-logo__text { font-size: 22px; } }

/* ================= v2.3: страница товара по концепции ================= */
.pj-product__eyebrow { margin-bottom: 10px; }
body.pj .pj-product h1.product-name { margin-bottom: 12px; }
.pj-product__lead { font-size: 17px; line-height: 1.5; color: var(--pj-muted); margin: 0 0 20px; }
.pj-product .description4 { color: var(--pj-muted) !important; font-size: 14px; }
.pj-product #product.pj-noprice .qty-product, .pj-product #product.pj-noprice #button-cart { display: none; }
.pj-ask__b { display: none; }
.pj-product #product.pj-noprice .pj-ask__a { display: none; }
.pj-product #product.pj-noprice .pj-ask__b { display: inline; }
body.pj .pj-product #product.pj-noprice a.pj-ask { background: var(--pj-accent); border-color: var(--pj-accent); color: #fff; min-height: 52px; }
body.pj .pj-product #product.pj-noprice a.pj-ask:hover { background: var(--pj-accent-dark); color: #fff; }
.pj-terms { list-style: none; margin: 8px 0 0; padding: 12px 0 0; border-top: 1px solid var(--pj-line); display: grid; gap: 8px; font-size: 14px; }
.pj-terms li { display: flex; gap: 12px; }
.pj-terms li > span:first-child { flex: none; width: 84px; color: var(--pj-muted); }
body.pj .pj-terms a { color: var(--pj-ink); text-decoration: underline; }
.pj-compare { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; color: var(--pj-muted); cursor: pointer; }
.pj-compare:hover { color: var(--pj-accent); }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors { position: sticky; top: 0; z-index: 5; background: #fff; }
body.pj .pj-product .tab-content > .tab-pane { display: block !important; opacity: 1 !important; visibility: visible; }
.pj-sec { padding: 8px 0 40px; scroll-margin-top: 140px; }
body.pj #content .pj-sec__title { font-size: 26px; font-weight: 700; margin: 0 0 16px; text-transform: none !important; color: var(--pj-ink); }
.pj-specs table { width: 100%; }
.pj-specs td:first-child, .pj-specs th:first-child { color: var(--pj-muted); width: 45%; }
.pj-specs ul { list-style: none; margin: 0; padding: 0; }
.pj-specs li { padding: 10px 0; border-bottom: 1px solid var(--pj-line); }
.pj-product__cta { margin-top: 16px; max-width: 880px; }

/* ================= v2.3: остатки старой темы — красный, жёлтый, чёрный ================= */
body.pj a:hover, body.pj a:focus { color: var(--pj-accent); }
body.pj .hero { background: none; padding: 0; }
body.pj .breadcrumb-container { background: none; border: 0; margin: 0; padding: 16px 0 0; }
body.pj .breadcrumb { background: none; color: var(--pj-muted); margin: 0; padding: 0; font-size: 13px; text-align: left; }
body.pj .breadcrumb > li, body.pj .breadcrumb > li a { color: var(--pj-muted); text-transform: none; }
body.pj .breadcrumb > li:last-child a { color: var(--pj-ink); }
body.pj .breadcrumb > li::before, body.pj .breadcrumb > li:last-child::before { color: var(--pj-line-strong) !important; border-color: var(--pj-line-strong) !important; }
body.pj #cart, body.pj #cart.active { background: none !important; }
body.pj #cart .dropdown-menu { border: 1px solid var(--pj-line); border-radius: 12px; box-shadow: 0 16px 40px rgba(20, 23, 28, 0.14); padding: 16px; min-width: 320px; background: #fff; }
body.pj .cart-content .product-name a:hover, body.pj .cart-content .btn .fa-times-circle:hover { color: var(--pj-accent); }
body.pj .row2-cart .button-cart a, body.pj .row2-cart .button-cart a.link-checkout { background: var(--pj-accent); border: 1px solid var(--pj-accent); color: #fff; border-radius: var(--pj-radius); text-transform: none; font-weight: 600; }
body.pj .row2-cart .button-cart a:hover { background: var(--pj-accent-dark); border-color: var(--pj-accent-dark); color: #fff; }
body.pj #back-top { background-color: var(--pj-ink); border-radius: var(--pj-radius); }
body.pj .zoomContainer .zoomWindowContainer .zoomWindow { border-color: var(--pj-line-strong) !important; }
body.pj #minus:hover, body.pj #plus:hover { background-color: var(--pj-line) !important; }
body.pj .col-2 .list-unstyled li .ex-text, body.pj .col-2 .price-product .new-price { color: var(--pj-ink); }
body.pj .item-inner .product-name a:hover, body.pj .product-thumb .product-name a:hover { color: var(--pj-accent); }
body.pj .item-inner .price-new, body.pj .item-inner .special-price .price, body.pj .price-new { color: var(--pj-ink); }
body.pj .product-thumb .cart .btn-cart, body.pj .item .cart .btn-cart, body.pj .product-list .product-thumb .cart .btn-cart, body.pj .product-grid .product-thumb .cart .btn-cart { background: var(--pj-accent); border: 1px solid var(--pj-accent); color: #fff; border-radius: var(--pj-radius); text-transform: none; }
body.pj .product-thumb .cart .btn-cart span { color: #fff; text-transform: none; }
body.pj .owl-buttons div:hover, body.pj .owl-style2 .owl-buttons div:hover { background: var(--pj-accent) !important; }
body.pj .pj-footer a.vopros, body.pj .pj-menu a.vopros { background: none; }
body.pj a.button.vopros, body.pj .button.vopros { background: var(--pj-accent); }
body.pj #column-left .list-group-item.active, body.pj #column-left .list-group-item.active:hover { background-color: var(--pj-accent); border-color: var(--pj-accent); }
body.pj #column-left a.list-group-item:hover { color: var(--pj-accent); }
body.pj div.required .control-label:before { color: #B42318; }
body.pj .spoiler_links, body.pj .spoiler_links:hover { color: var(--pj-accent) !important; }
body.pj .information-contact #content .panel .panel-body strong { color: var(--pj-ink); }
body.pj .label-product { background: var(--pj-ink); }
body.pj .ct-accept, body.pj button.ct-accept { background: var(--pj-accent) !important; color: #fff !important; border: 0 !important; border-radius: var(--pj-radius) !important; }
/* Общие страницы: заголовки, таблицы, кнопки, панели */
body.pj #content > h1, body.pj #content > h2, body.pj #content > h3, body.pj #content .page-title, body.pj #content h1 { text-transform: none; color: var(--pj-ink); font-weight: 700; background: none; border: 0; padding-left: 0; padding-right: 0; }
body.pj #content > h1 { font-size: 30px; margin: 16px 0 20px; }
body.pj .table-responsive, body.pj table.table { border-color: var(--pj-line); }
body.pj .table > thead, body.pj .table > thead > tr > td, body.pj .table > thead > tr > th, body.pj .table-bordered > thead > tr > td { background: var(--pj-surface) !important; color: var(--pj-muted) !important; text-transform: none; font-size: 13px; font-weight: 600; border-color: var(--pj-line) !important; }
body.pj .table > tbody > tr > td, body.pj .table-bordered, body.pj .table-bordered > tbody > tr > td, body.pj .table-bordered > tfoot > tr > td { border-color: var(--pj-line) !important; vertical-align: middle; }
body.pj .table-responsive tbody td.text-right, body.pj .table td.text-right { color: var(--pj-ink); font-weight: 600; font-size: 16px; }
body.pj .btn-primary, body.pj .btn-danger, body.pj .btn-inverse, body.pj .btn-default.button { background: var(--pj-accent); border-color: var(--pj-accent); color: #fff; border-radius: var(--pj-radius); text-shadow: none; box-shadow: none; background-image: none; text-transform: none; }
body.pj .btn-primary:hover, body.pj .btn-danger:hover { background: var(--pj-accent-dark); border-color: var(--pj-accent-dark); color: #fff; }
body.pj .checkout-cart .input-group-btn .btn, body.pj .checkout-cart .input-group .btn { background: #fff; border: 1px solid var(--pj-line-strong); color: var(--pj-ink); border-radius: var(--pj-radius); min-width: 40px; height: 40px; padding: 0; margin-left: 4px; }
body.pj .checkout-cart .input-group-btn .btn:hover { background: var(--pj-surface) !important; color: var(--pj-accent); }
body.pj .checkout-cart .input-group .form-control { height: 40px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); box-shadow: none; text-align: center; }
body.pj .panel, body.pj .panel-default > .panel-heading { border-color: var(--pj-line); background: #fff; border-radius: 12px; box-shadow: none; }
body.pj .panel-default > .panel-heading { background: var(--pj-surface); border-radius: 12px 12px 0 0; }
body.pj .panel-title, body.pj .panel-title a { color: var(--pj-ink); text-transform: none; font-weight: 600; }
body.pj .form-control:focus { border-color: var(--pj-accent); box-shadow: 0 0 0 3px rgba(31, 63, 168, 0.15); }
body.pj .alert-success { background: #EEF2FF; border-color: #C7D2FE; color: var(--pj-ink); border-radius: var(--pj-radius); }
body.pj ::selection { background: #C7D2FE; color: var(--pj-ink); }
/* v2.3: уточнения */
.pj-menu { gap: 0; margin: 0 -8px; width: calc(100% + 16px); }
body.pj .pj-menu__link { padding: 12px 8px; }
.pj-menu__sep { margin: 0 8px; }
body.pj .pj-mega a.pj-mega__cta { background: var(--pj-accent); color: #fff; }
.pj-mega, .pj-mega a, .pj-mega__col, .pj-mega__side { text-align: left; }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li > a { padding: 12px 0 !important; }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li { margin-left: 0; padding: 0; }
@media (max-width: 991px) { .pj-main .pj-search { order: 5; flex: 1 1 100%; } }

/* ================= v2.4: страница товара — блоки по концепции ================= */
.pj-keyspecs { list-style: none; margin: 0 0 20px; padding: 0; border-top: 1px solid var(--pj-line); }
.pj-keyspecs li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--pj-line); font-size: 15px; }
.pj-keyspecs li span:first-child { color: var(--pj-muted); }
.pj-keyspecs li span:last-child { font-weight: 600; text-align: right; }
.pj-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin: 0 0 32px; }
.pj-tiles > div { background: var(--pj-surface); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pj-tiles b { font-size: 24px; font-weight: 700; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.pj-tiles span { font-size: 14px; color: var(--pj-muted); }
.pj-product .tab-content { max-width: none; }
.pj-product .tab-content .pj-sec__body { max-width: 880px; }
.pj-ocards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.pj-ocards--one { grid-template-columns: minmax(0, 1fr); }
.pj-ocard { border: 1px solid var(--pj-line); border-radius: 12px; padding: 24px; min-width: 0; }
body.pj #content .pj-ocard h3 { font-size: 18px; font-weight: 600; margin: 0 0 10px; text-transform: none !important; color: var(--pj-ink); }
.pj-ocard .pj-sec__body { font-size: 15px; color: var(--pj-muted); max-width: none; }
.pj-ocard .pj-sec__body > :last-child, .pj-sec__body > :last-child { margin-bottom: 0; }
.pj-sec__body ul, .pj-sec__body ol { padding-left: 20px; margin: 0 0 12px; }
.pj-sec__body li { margin-bottom: 4px; }
.pj-sk { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: 40px; }
.pj-sk--two { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: stretch; }
.pj-sk__box { border: 1px solid var(--pj-line); border-radius: 16px; padding: 28px; min-width: 0; }
.pj-sk .pj-sec { padding-bottom: 28px; }
.pj-rows > div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--pj-line); font-size: 15px; }
.pj-rows > div > span:first-child { color: var(--pj-muted); flex: 1 1 50%; min-width: 0; }
.pj-rows > div > span:last-child { font-weight: 500; text-align: right; flex: 1 1 50%; min-width: 0; overflow-wrap: anywhere; }
.pj-rows > div > span:last-child:empty { display: none; }
.pj-rows--2col { column-count: 2; column-gap: 40px; }
.pj-rows--2col > div { break-inside: avoid; }
.pj-sk__note { margin: 16px 0 0; font-size: 13px; color: var(--pj-muted); }
.pj-use { background: var(--pj-surface); border-radius: 16px; padding: 28px; margin-bottom: 40px; }
.pj-faq { max-width: 880px; border-top: 1px solid var(--pj-line); }
.pj-faq details { border-bottom: 1px solid var(--pj-line); }
.pj-faq summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; font-size: 17px; font-weight: 600; position: relative; }
.pj-faq summary::-webkit-details-marker { display: none; }
.pj-faq summary::after { content: ''; position: absolute; right: 8px; top: 22px; width: 10px; height: 10px; border-right: 2px solid var(--pj-ink); border-bottom: 2px solid var(--pj-ink); transform: rotate(45deg); transition: transform .15s; }
.pj-faq details[open] summary::after { transform: rotate(-135deg); top: 27px; }
.pj-faq details p, .pj-faq details > div { margin: 0; padding: 0 40px 18px 0; color: var(--pj-muted); font-size: 16px; line-height: 1.6; }
@media (max-width: 767px) { .pj-ocards, .pj-sk--two { grid-template-columns: minmax(0, 1fr); } .pj-rows--2col { column-count: 1; } .pj-sk__box, .pj-use { padding: 20px; } .pj-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* FAQ в текстах категорий (старая разметка «панелями») и общий вид вопросов */
body.pj .panel-group#faq, body.pj .panel-group[id^="faq"] { max-width: 880px; border-top: 1px solid var(--pj-line); margin: 0; }
body.pj .panel-group[id^="faq"] .panel { border: 0; border-bottom: 1px solid var(--pj-line); border-radius: 0; box-shadow: none; margin: 0; background: none; }
body.pj .panel-group[id^="faq"] .panel-heading { background: none; border: 0; padding: 0; border-radius: 0; }
body.pj .panel-group[id^="faq"] .panel-title { font-size: 17px; margin: 0; }
body.pj .panel-group[id^="faq"] .panel-title a { display: block; padding: 18px 40px 18px 0; font-weight: 600; color: var(--pj-ink); text-decoration: none; position: relative; }
body.pj .panel-group[id^="faq"] .panel-title a::after { content: ''; position: absolute; right: 8px; top: 27px; width: 10px; height: 10px; border-right: 2px solid var(--pj-ink); border-bottom: 2px solid var(--pj-ink); transform: rotate(-135deg); }
body.pj .panel-group[id^="faq"] .panel-title a.collapsed::after { transform: rotate(45deg); top: 22px; }
body.pj .panel-group[id^="faq"] .panel-body { border: 0 !important; padding: 0 40px 18px 0; color: var(--pj-muted); font-size: 16px; line-height: 1.6; }

/* ================= v2.4: фильтр в категории по концепции ================= */
body.pj #content .pj-h2, body.pj .pj-request .pj-h2 { text-transform: none !important; font-size: 26px; color: var(--pj-ink); font-weight: 700; }
.pj-cat--filter #column-left, .pj-cat--filter .mfilter-free-container { display: none !important; }
.pj-cat--filter #content { width: 100%; float: none; }
.pj-catgrid__main { min-width: 0; }
.pj-cat--filter .pj-catgrid { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 32px; align-items: start; }
.pj-filter { border: 1px solid var(--pj-line); border-radius: 12px; padding: 20px; background: #fff; position: sticky; top: 150px; }
.pj-filter[hidden] { display: none; }
.pj-filter__head { display: none; }
.pj-filter__group { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--pj-line); }
.pj-filter__title { font-size: 14px; font-weight: 600; margin-bottom: 10px; color: var(--pj-ink); }
.pj-filter__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pj-filter__pill { min-height: 36px; padding: 6px 12px; border: 1px solid var(--pj-line-strong); border-radius: 999px; background: #fff; color: var(--pj-ink); font: inherit; font-size: 14px; line-height: 1.3; text-align: left; cursor: pointer; }
.pj-filter__pill:hover { border-color: var(--pj-accent); color: var(--pj-accent); }
.pj-filter__pill[aria-pressed="true"] { background: var(--pj-accent); border-color: var(--pj-accent); color: #fff; }
.pj-filter__price { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.pj-filter__price input { width: 100%; min-width: 0; height: 40px; padding: 0 10px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); font: inherit; font-size: 14px; color: var(--pj-ink); background: #fff; }
.pj-filter__check { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 400; margin: 0; cursor: pointer; color: var(--pj-ink); }
.pj-filter__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--pj-accent); }
.pj-filter__reset { border: 0; background: none; padding: 0; font: inherit; font-size: 14px; font-weight: 500; color: var(--pj-muted); cursor: pointer; }
.pj-filter__reset:hover { color: var(--pj-accent); }
.pj-filter__open { display: none; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); background: #fff; font: inherit; font-size: 14px; font-weight: 600; color: var(--pj-ink); cursor: pointer; }
.pj-filter__empty { margin: 24px 0; padding: 24px; background: var(--pj-surface); border-radius: 12px; color: var(--pj-muted); }
.pj-card[hidden] { display: none; }
.pj-found b { color: var(--pj-ink); }
.pj-catfaq { margin-top: 56px; }
@media (max-width: 991px) {
	.pj-cat--filter .pj-catgrid { grid-template-columns: minmax(0, 1fr); }
	.pj-cat--filter .pj-filter__open { display: inline-flex; }
	.pj-filter { display: none; position: fixed; inset: 0; z-index: 2000; border: 0; border-radius: 0; overflow-y: auto; padding: 16px 16px 32px; top: 0; }
	.pj-filter.is-open { display: block; }
	.pj-filter__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; font-size: 20px; }
	.pj-filter__close { width: 44px; height: 44px; border: 0; background: var(--pj-surface); border-radius: 50%; font-size: 24px; line-height: 1; cursor: pointer; }
}
.pj-hub { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 8px; }
body.pj .pj-info__body a.pj-hub__card { display: flex; flex-direction: column; gap: 8px; padding: 24px; border: 1px solid var(--pj-line); border-radius: 12px; color: var(--pj-ink); text-decoration: none; min-width: 0; }
body.pj .pj-info__body a.pj-hub__card:hover { border-color: var(--pj-accent); box-shadow: 0 8px 24px rgba(20, 23, 28, 0.08); }
.pj-hub__card b { font-size: 18px; line-height: 1.25; }
.pj-hub__card span { color: var(--pj-muted); font-size: 15px; flex: 1; }
.pj-hub__card i { font-style: normal; font-weight: 600; font-size: 14px; color: var(--pj-accent); }
body.pj a.pj-footer__title { color: var(--pj-ink); }
@media (max-width: 767px) { .pj-hub { grid-template-columns: minmax(0, 1fr); } }

/* ================= v2.5: корзина и оформление заказа ================= */
.pj-order { padding-top: 16px; padding-bottom: 24px; }
body.pj #content h1.pj-order__h1 { font-size: 34px; font-weight: 700; margin: 0 0 24px; text-transform: none !important; color: var(--pj-ink); background: none; padding: 0; border: 0; }
.pj-box { border: 1px solid var(--pj-line); border-radius: 16px; padding: 28px; background: #fff; margin-bottom: 20px; min-width: 0; }
body.pj #content .pj-box__title { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 700; margin: 0 0 20px; text-transform: none !important; color: var(--pj-ink); }
.pj-box__title > span { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--pj-ink); color: #fff; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.pj-order__grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; }
.pj-order__side { position: sticky; top: 150px; min-width: 0; }
.pj-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.pj-field { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 400; min-width: 0; }
.pj-field__label { font-size: 14px; font-weight: 500; color: var(--pj-ink); }
.pj-field__label i { color: #B42318; font-style: normal; }
.pj-field input, .pj-field textarea { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); font: inherit; font-size: 16px; color: var(--pj-ink); background: #fff; }
.pj-field textarea { padding: 12px 14px; min-height: 110px; resize: vertical; }
.pj-field input:focus, .pj-field textarea:focus { outline: 0; border-color: var(--pj-accent); box-shadow: 0 0 0 3px rgba(31, 63, 168, 0.15); }
.pj-field__hint { font-size: 13px; color: var(--pj-muted); }
.pj-field__error { font-size: 13px; color: #B42318; font-weight: 500; }
.pj-alert { margin: 0 0 20px; padding: 14px 18px; border: 1px solid #F3C2BC; background: #FEF3F2; color: #912018; border-radius: var(--pj-radius); font-weight: 500; }
.pj-seg { display: inline-flex; flex-wrap: wrap; padding: 4px; background: var(--pj-surface); border-radius: 10px; margin: 0 0 20px; gap: 4px; }
.pj-seg label { margin: 0; cursor: pointer; font-weight: 500; }
.pj-seg input { position: absolute; opacity: 0; }
.pj-seg span { display: block; padding: 10px 16px; border-radius: 7px; font-size: 15px; color: var(--pj-muted); }
.pj-seg input:checked + span { background: #fff; color: var(--pj-ink); box-shadow: 0 1px 3px rgba(20, 23, 28, 0.15); }
.pj-seg input:focus-visible + span { outline: 2px solid var(--pj-accent); }
.pj-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.pj-option { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--pj-line-strong); border-radius: 12px; margin: 0; cursor: pointer; font-weight: 400; min-width: 0; }
.pj-option:has(input:checked) { border-color: var(--pj-accent); box-shadow: inset 0 0 0 1px var(--pj-accent); }
.pj-option input { margin: 3px 0 0; width: 18px; height: 18px; flex: none; accent-color: var(--pj-accent); }
.pj-option b { display: block; font-size: 16px; }
.pj-option em { display: block; font-style: normal; font-size: 13px; color: var(--pj-muted); margin-top: 4px; }
.pj-order__grid.is-person .pj-only-company, .pj-order__grid.is-pickup .pj-only-delivery, .pj-order__grid.is-cod .pj-only-bank { display: none; }
.pj-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.pj-summary__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
body.pj .pj-summary__head a { color: var(--pj-accent); font-size: 14px; font-weight: 500; }
.pj-summary__list { list-style: none; margin: 0 0 16px; padding: 0; }
.pj-summary__list li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--pj-line); }
.pj-summary__list img { width: 60px; height: 60px; object-fit: contain; border-radius: var(--pj-radius); background: var(--pj-surface); flex: none; }
.pj-summary__name { flex: 1; min-width: 0; font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.pj-summary__name small, .pj-cartrow__name small { display: block; font-weight: 400; color: var(--pj-muted); font-size: 13px; margin-top: 2px; }
.pj-summary__sum { flex: none; font-weight: 600; font-size: 14px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pj-summary__totals { margin: 0 0 16px; padding: 12px 0 0; border-top: 1px solid var(--pj-line); }
.pj-summary__totals > div { display: flex; justify-content: space-between; gap: 16px; padding: 5px 0; font-size: 15px; }
.pj-summary__totals dt { font-weight: 400; color: var(--pj-muted); }
.pj-summary__totals dd { margin: 0; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }
.pj-summary__totals .is-total dt, .pj-summary__totals .is-total dd { font-size: 20px; font-weight: 700; color: var(--pj-ink); }
.pj-summary__submit { width: 100%; min-height: 54px; font-size: 16px; border: 0; }
.pj-summary__submit[disabled] { opacity: .6; cursor: default; }
.pj-summary__back { width: 100%; margin-top: 10px; }
.pj-summary__note { margin: 12px 0 0; font-size: 13px; color: var(--pj-muted); }
.pj-agree { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 12px; font-size: 13px; font-weight: 400; color: var(--pj-muted); cursor: pointer; }
.pj-agree input { width: 18px; height: 18px; margin: 1px 0 0; flex: none; accent-color: var(--pj-accent); }
body.pj .pj-agree a { color: var(--pj-accent); text-decoration: underline; }
/* Корзина */
.pj-cartcontent { display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 24px; align-items: start; float: none; width: 100%; }
.pj-cartcontent > * { grid-column: 1 / -1; min-width: 0; }
.pj-cartcontent > form { grid-column: 1; }
.pj-cartcontent > .pj-cartgrid__side { grid-column: 2; position: sticky; top: 150px; }
.pj-cartlist { border: 1px solid var(--pj-line); border-radius: 16px; padding: 4px 24px; }
.pj-cartrow { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto 130px; gap: 16px; align-items: center; padding: 20px 0; border-top: 1px solid var(--pj-line); }
.pj-cartrow:first-child { border-top: 0; }
.pj-cartrow__img img { width: 88px; height: 88px; object-fit: contain; border-radius: var(--pj-radius); background: var(--pj-surface); border: 0; padding: 4px; }
.pj-cartrow__name { font-weight: 600; font-size: 16px; overflow-wrap: anywhere; }
.pj-cartrow__qty { display: flex; align-items: center; gap: 6px; }
body.pj .pj-cartrow__qty input.form-control { width: 60px; height: 40px; text-align: center; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); box-shadow: none; font-size: 15px; padding: 0 6px; }
.pj-iconbtn { width: 40px; height: 40px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); background: #fff; color: var(--pj-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.pj-iconbtn:hover { border-color: var(--pj-accent); color: var(--pj-accent); }
.pj-cartrow__sum { text-align: right; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pj-success .buttons { margin-top: 24px; }
@media (max-width: 991px) {
	.pj-order__grid, .pj-cartcontent { grid-template-columns: minmax(0, 1fr); }
	.pj-order__side, .pj-cartcontent > .pj-cartgrid__side { position: static; grid-column: 1; }
	.pj-cartcontent > .pj-cartgrid__side { margin-top: 20px; }
}
@media (max-width: 600px) {
	body.pj #content h1.pj-order__h1 { font-size: 26px; }
	.pj-box { padding: 20px; }
	.pj-fields, .pj-options { grid-template-columns: minmax(0, 1fr); }
	.pj-seg { display: flex; }
	.pj-seg label { flex: 1 1 auto; }
	.pj-cartlist { padding: 0 16px; }
	.pj-cartrow { grid-template-columns: 64px minmax(0, 1fr); }
	.pj-cartrow__img img { width: 64px; height: 64px; }
	.pj-cartrow__qty { grid-column: 2; }
	.pj-cartrow__sum { grid-column: 1 / -1; text-align: left; }
}
.pj-option b { color: var(--pj-ink); font-weight: 600; }

/* ================= v2.6: страница товара строго по макету концепции ================= */
:root { --pj-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace; }
.pj-product { overflow-x: clip; }
/* полоса на всю ширину окна внутри контейнера */
.pj-band { position: relative; margin: 0 0 0; padding: 56px 0; box-shadow: 0 0 0 100vmax var(--pj-band, transparent); clip-path: inset(0 -100vmax); background: var(--pj-band, transparent); }
.pj-band--dark { --pj-band: #14171C; color: #fff; margin-top: 48px; }
.pj-band--surface { --pj-band: #F4F5F7; padding: 72px 0; margin-bottom: 72px; }
/* первый экран */
.pj-product__gallery .thumbnails { background: #fff; border: 1px solid var(--pj-line); border-radius: 16px; }
.pj-product__gallery .thumbnails a.thumbnail { padding: 32px; }
.pj-product__gallery .thumbnails img { mix-blend-mode: normal; }
.pj-product__gallery .image-additional a.thumbnail { border-radius: 10px; padding: 6px; }
.pj-product__eyebrow { font-family: var(--pj-mono); font-size: 13px; font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pj-muted); margin-bottom: 16px; }
body.pj .pj-product h1.product-name { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.08; letter-spacing: -0.03em; margin-bottom: 20px; }
.pj-product__lead { font-size: 18px; margin-bottom: 20px; }
.pj-keyspecs li span:last-child { font-family: var(--pj-mono); font-weight: 400; }
.pj-product__buy #product { border: 0; border-radius: 0; padding: 0; }
.pj-product .price-product li, .pj-product .price-product li span, .pj-product .price-product .pj-price--ask { font-size: 28px; font-weight: 700; letter-spacing: -0.02em; }
.pj-terms { border: 0; background: var(--pj-surface); border-radius: 12px; padding: 16px; margin-top: 12px; }
.pj-terms li { justify-content: space-between; }
.pj-terms li > span:first-child { width: auto; }
.pj-terms li > :last-child { text-align: right; }
.pj-compare { min-height: 44px; }
/* тёмная полоса с цифрами */
.pj-band--dark .pj-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; margin: 0; }
.pj-band--dark .pj-tiles > div { background: none; border-radius: 0; padding: 0; gap: 0; }
.pj-band--dark .pj-tiles b { font-size: 44px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; color: #fff; }
.pj-band--dark .pj-tiles span { color: #C5CAD3; font-size: 15px; }
/* навигация по разделам */
.pj-product .col-3 { padding-top: 0; }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors { gap: 0 28px; margin: 0; border-bottom: 1px solid var(--pj-line); }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li > a { padding: 16px 0 !important; font-size: 15px; font-weight: 500; color: var(--pj-muted); border-bottom: 2px solid transparent; }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li:first-child > a, body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li > a:hover { color: var(--pj-ink); border-bottom-color: var(--pj-ink); }
/* обзор */
.pj-product #tab-description.pj-sec { padding: 72px 0; }
body.pj #content .pj-sec__title { font-size: 34px; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 24px; }
.pj-ocards { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 40px; margin-top: 40px; }
.pj-ocard { border: 0; border-top: 1px solid var(--pj-ink); border-radius: 0; padding: 20px 0 32px; }
body.pj #content .pj-ocard h3 { font-size: 20px; margin-bottom: 8px; }
.pj-figure { margin: 0 0 72px; border: 1px solid var(--pj-line); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.pj-figure img { width: 100%; max-width: 620px; height: auto; }
.pj-figure figcaption { font-size: 14px; color: var(--pj-muted); text-align: center; }
/* характеристики и комплектация */
.pj-band .pj-sk { margin: 0; gap: 24px; }
.pj-band .pj-sk__box { border: 0; background: #fff; border-radius: 16px; padding: 28px; }
.pj-band .pj-sk .pj-sec { padding-bottom: 28px; }
body.pj #content .pj-sk__box .pj-sec__title { font-size: 28px; margin-bottom: 12px; }
.pj-rows > div { font-size: 14px; padding: 11px 0; }
.pj-rows > div > span:last-child { font-family: var(--pj-mono); font-weight: 400; }
#pj-kit .pj-rows > div > span:first-child { color: var(--pj-ink); flex: 1 1 auto; }
#pj-kit .pj-rows > div > span:last-child { color: var(--pj-muted); white-space: nowrap; flex: none; }
/* применение */
.pj-band .pj-use { background: none; border-radius: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 32px 64px; }
.pj-use__text { flex: 1 1 320px; min-width: 0; color: var(--pj-muted); }
.pj-use__text p { margin: 0 0 12px; }
.pj-use__links { flex: 2 1 520px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; align-content: start; }
body.pj .pj-use__links a { background: #fff; border-radius: 12px; padding: 20px; font-weight: 600; color: var(--pj-ink); }
body.pj .pj-use__links a:hover { color: var(--pj-accent); }
/* вопросы и ответы */
.pj-faqsec { display: flex; flex-wrap: wrap; gap: 32px 64px; padding: 0 0 72px; }
.pj-faqsec > .pj-sec__title { flex: 1 1 260px; }
.pj-faqsec > .pj-faq, .pj-faqsec > .pj-sec__body { flex: 2 1 560px; min-width: 0; max-width: none; }
.pj-faq { border-top: 1px solid var(--pj-ink); }
.pj-faq summary { font-size: 18px; }
/* работает вместе, заявка */
.pj-related { margin-top: 0; padding: 72px 0; }
body.pj #content h2.pj-related__title, body.pj h2.pj-related__title { font-size: 34px; letter-spacing: -0.02em; margin-bottom: 32px; }
.pj-request--dark { background: #14171C; color: #fff; border-radius: 20px; padding: 48px 40px; max-width: none; margin: 0 0 24px; }
body.pj #content .pj-request--dark .pj-h2 { color: #fff; font-size: 30px; letter-spacing: -0.02em; }
.pj-request--dark p { color: #C5CAD3; }
body.pj .pj-request--dark a.pj-btn--light { background: #fff; color: #14171C; min-height: 52px; padding: 0 28px; }
.pj-product .pj-legal { margin-top: 0; }
@media (max-width: 767px) {
	.pj-band { padding: 40px 0; }
	.pj-band--surface { padding: 48px 0; margin-bottom: 48px; }
	.pj-band--dark .pj-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
	.pj-band--dark .pj-tiles b { font-size: 30px; }
	.pj-product #tab-description.pj-sec { padding: 48px 0; }
	body.pj #content .pj-sec__title, body.pj h2.pj-related__title { font-size: 26px; }
	.pj-request--dark { padding: 28px 20px; }
}
.pj-product { overflow-x: visible; }
body.pj { overflow-x: clip; }
.pj-product .tab-content .pj-figure img { width: 100%; max-width: 620px; }
.pj-product .tab-content { overflow: visible; }
body.pj .pj-product .tab-content .pj-use__links a { color: var(--pj-ink); text-decoration: none; }
body.pj .pj-product .tab-content .pj-use__links a:hover { color: var(--pj-accent); }
.pj-band--surface + .pj-band--surface { margin-top: -72px; padding-top: 0; }

/* =====================================================================
   2.7 — сверка с макетом: подвал, форма заявки, категория, карточка,
   мега-меню, нижняя панель на смартфоне, страница «не найдено»
   ===================================================================== */

/* ---------- Типографика макета ---------- */
.pj-mono { font-family: 'IBM Plex Mono', ui-monospace, monospace; }
body.pj .pj-eyebrow { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--pj-muted); margin: 0; }

/* ---------- Мега-меню: карточка товара справа ---------- */
body.pj a.pj-mega__promo { flex: 1 1 280px; min-width: 0; max-width: 360px; align-self: flex-start; background: var(--pj-surface); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 12px; color: var(--pj-ink); }
.pj-mega__promoimg { display: block; height: 170px; border-radius: 10px; background: #fff; padding: 12px; box-sizing: border-box; }
.pj-mega__promoimg img { width: 100%; height: 100%; object-fit: contain; }
.pj-mega__promoname { font-size: 19px; font-weight: 600; line-height: 1.3; }
.pj-mega__promomore { font-weight: 600; font-size: 15px; color: var(--pj-accent); }
@media (max-width: 991px) { body.pj a.pj-mega__promo { display: none; } }

/* ---------- Подвал ---------- */
body.pj .pj-footer__brand a.pj-logo__text { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; color: var(--pj-ink); line-height: 1.2; }
body.pj .pj-footer__brand a.pj-logo__text span { color: var(--pj-accent); }
.pj-footer__brand p { margin: 8px 0 0; }
.pj-footer__mail { font-size: 17px; }
body.pj .pj-footer__social a { width: 44px; height: 44px; border-radius: 10px; background: var(--pj-surface); display: inline-flex; align-items: center; justify-content: center; }
body.pj .pj-footer__social a:hover { background: var(--pj-line); }
#back-top { position: fixed; right: 16px; bottom: 16px; width: 44px; height: 44px; border-radius: 10px; background: var(--pj-ink); cursor: pointer; z-index: 900; }
#back-top::after { content: ""; position: absolute; left: 16px; top: 18px; width: 12px; height: 12px; border-left: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(45deg); }

/* ---------- Уведомление о cookie (модуль) в стиле сайта ---------- */
body.pj .cookie-notification { left: 16px; right: auto; bottom: 16px; max-width: 360px; background: #fff; color: var(--pj-ink); border: 1px solid var(--pj-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(20, 23, 28, .14); font-size: 13px; }
body.pj .cookie-notification .container { width: auto; padding: 16px 44px 16px 16px; position: relative; }
body.pj .cookie-notification .ct-cookies-content { color: var(--pj-muted); margin-bottom: 10px; }
body.pj .cookie-notification .ct-accept { float: none; min-height: 40px; padding: 0 16px; border: 0; border-radius: var(--pj-radius); background: var(--pj-accent); color: #fff; font-weight: 600; cursor: pointer; }
body.pj .cookie-notification .ct-close { position: absolute; right: 8px; top: 8px; width: 32px; height: 32px; border: 0; background: none; font-size: 20px; color: var(--pj-muted); cursor: pointer; }

/* ---------- Всплывающая форма заявки (артборд Form) ---------- */
.pj-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.pj-modal[hidden] { display: none; }
.pj-modal__backdrop { position: absolute; inset: 0; background: rgba(20, 23, 28, .6); }
.pj-modal__dialog { position: relative; width: 560px; max-width: 100%; max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: 20px; padding: 36px; box-sizing: border-box; display: flex; flex-direction: column; gap: 20px; box-shadow: 0 30px 80px rgba(20, 23, 28, .35); }
.pj-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
body.pj .pj-modal__title { margin: 0; font-size: 28px; line-height: 1.1; letter-spacing: -0.02em; font-weight: 700; text-transform: none; }
.pj-modal__sub { margin: 6px 0 0; color: var(--pj-muted); font-size: 15px; }
.pj-modal__close { flex: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--pj-surface); color: var(--pj-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.pj-modal__close:hover { background: var(--pj-line); }
.pj-leadform { display: flex; flex-direction: column; gap: 14px; }
.pj-leadform[hidden], .pj-lead__done[hidden], .pj-lead__topic[hidden], .pj-leadform .pj-alert[hidden] { display: none; }
.pj-leadform .pj-field__label { font-size: 14px; font-weight: 400; color: var(--pj-muted); }
.pj-leadform .pj-field input, .pj-leadform .pj-field textarea { font-size: 16px; }
.pj-leadform .pj-field textarea { min-height: 96px; }
.pj-leadform .pj-field input.is-invalid, .pj-leadform .pj-field textarea.is-invalid { border-color: #B42318; }
.pj-leadform .pj-agree { margin: 0; }
.pj-leadform .pj-field__error:empty { display: none; }
.pj-lead__topic { margin: 0; padding: 10px 14px; background: var(--pj-surface); border-radius: var(--pj-radius); font-size: 14px; color: var(--pj-ink); }
.pj-leadform .pj-alert { margin: 0; }
body.pj .pj-lead__submit { min-height: 54px; width: 100%; font-size: 16px; }
.pj-lead__submit[disabled] { opacity: .7; cursor: progress; }
.pj-lead__done { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.pj-lead__ok { margin: 0; padding: 16px 18px; border-radius: var(--pj-radius); background: #ECFDF3; color: #05603A; font-weight: 500; }
.pj-modal__foot { margin: 0; font-size: 13px; color: var(--pj-muted); text-align: center; }
body.pj .pj-modal__foot a { font-weight: 600; color: var(--pj-ink); }
html.pj-noscroll, html.pj-noscroll body { overflow: hidden; }
@media (max-width: 600px) {
	.pj-modal { padding: 0; align-items: flex-end; }
	.pj-modal__dialog { border-radius: 20px 20px 0 0; padding: 24px 16px; max-height: 92vh; }
	body.pj .pj-modal__title { font-size: 22px; }
}

/* ---------- Нижняя панель на смартфоне ---------- */
.pj-mobilebar { display: none; }
@media (max-width: 767px) {
	.pj-mobilebar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 950; padding: 8px 16px calc(8px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--pj-line); box-shadow: 0 -8px 24px rgba(20, 23, 28, .08); }
	.pj-mobilebar .pj-btn { min-height: 48px; justify-content: center; padding: 0 8px; }
	body.pj { padding-bottom: 72px; }
	#back-top { bottom: 84px; }
	body.pj .cookie-notification { left: 8px; right: 8px; bottom: 80px; max-width: none; }
}

/* ---------- Категория: первый экран ---------- */
.pj-cathero { display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: flex-end; margin: 8px 0 24px; }
.pj-cathero__text { flex: 2 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
body.pj #content h1.pj-cat__h1 { margin: 0; font-size: clamp(32px, 4vw, 52px); line-height: 1.05; letter-spacing: -0.03em; font-weight: 700; text-transform: none; }
body.pj .pj-cathero .pj-cat__intro, body.pj .pj-cathero .pj-cat__intro p { margin: 0; font-size: 18px; line-height: 1.5; color: var(--pj-muted); max-width: 640px; text-align: left; }
.pj-cathero__help { flex: 1 1 320px; min-width: 0; background: var(--pj-surface); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.pj-cathero__helptitle { font-weight: 600; font-size: 18px; }
.pj-cathero__help p { margin: 0; color: var(--pj-muted); font-size: 15px; }
body.pj a.pj-cathero__helplink { font-weight: 600; color: var(--pj-accent); }
body.pj a.pj-chip { min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; border: 1px solid var(--pj-line-strong); border-radius: 999px; font-weight: 500; font-size: 15px; }
.pj-cat .pj-chips { margin: 0 0 48px; }

/* ---------- Категория: фильтр по макету ---------- */
.pj-cat--filter .pj-catgrid { grid-template-columns: 240px minmax(0, 1fr); gap: 40px; }
.pj-filter { border: 0; padding: 0; position: static; display: flex; flex-direction: column; gap: 28px; }
.pj-filter[hidden] { display: none; }
.pj-filter__group { padding: 0; margin: 0; border: 0; display: flex; flex-direction: column; gap: 10px; }
.pj-filter__group[hidden] { display: none; }
.pj-filter__title { font-size: 16px; font-weight: 600; margin: 0; }
.pj-filter__pill { min-height: 44px; padding: 0 16px; font-size: 15px; font-weight: 500; }
.pj-filter__pill[aria-pressed="true"] { background: var(--pj-ink); border-color: var(--pj-ink); color: #fff; }
.pj-filter__pill[aria-pressed="true"]:hover { color: #fff; }
.pj-filter__checks { display: flex; flex-direction: column; gap: 4px; }
.pj-filter__check { min-height: 40px; font-size: 15px; gap: 10px; }
.pj-filter__price { margin: 0; }
.pj-filter__price input, .pj-filter__field input { height: 44px; font-size: 16px; }
.pj-filter__field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 400; color: var(--pj-muted); margin: 0; }
.pj-filter__field input { width: 100%; padding: 0 12px; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius); font: inherit; color: var(--pj-ink); }
.pj-filter__reset { align-self: flex-start; }
@media (max-width: 991px) {
	.pj-filter { display: none; position: fixed; inset: 0; z-index: 2000; background: #fff; overflow-y: auto; padding: 16px 16px 32px; gap: 24px; }
	.pj-filter.is-open { display: flex; }
}

/* ---------- Категория: панель над списком ---------- */
.pj-toolbar { border: 0; padding: 0; margin-bottom: 20px; font-size: 15px; }
.pj-toolbar__note { font-size: 15px; }
.pj-toolbar__sort { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; font-weight: 400; color: var(--pj-muted); }
body.pj .pj-toolbar select.form-control { height: 44px; font-size: 15px; padding: 0 12px; }
.pj-grid { gap: 16px; }

/* ---------- Карточка товара в списке (макет) ---------- */
.pj-card { padding: 16px; gap: 10px; overflow: visible; }
.pj-card__img { aspect-ratio: auto; height: 200px; background: none; border-radius: 8px; overflow: hidden; }
.pj-card__img img { padding: 0; mix-blend-mode: normal; }
.pj-card__kind { font-size: 13px; color: var(--pj-muted); line-height: 1.35; }
body.pj .pj-card .pj-card__name { margin: 0; font-size: 19px; font-weight: 600; line-height: 1.25; }
.pj-card__specs { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.pj-card__specs li { display: flex; justify-content: space-between; gap: 12px; }
.pj-card__specs span { color: var(--pj-muted); }
.pj-card__specs b { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-weight: 400; text-align: right; }
.pj-card__des { flex: 1; }
.pj-card__foot { padding: 0; margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.pj-card__stock { font-size: 13px; color: var(--pj-muted); }
.pj-card__stock.is-out { color: #B42318; font-weight: 500; }
.pj-card__price { margin: 0; min-height: 0; }
.pj-card .pj-price { font-size: 22px; letter-spacing: -0.01em; }
.pj-card .pj-price--ask { font-size: 18px; }
.pj-card__actions .pj-btn { min-height: 46px; }
.pj-card__actions .pj-btn--icon { width: 46px; }
.pj-card__actions .pj-btn--outline { flex: 1; min-width: 0; justify-content: center; }
.pj-card--out .pj-card__img img { opacity: .55; }
@media (max-width: 767px) {
	.pj-card { padding: 12px; }
	.pj-card__img { height: 140px; }
	body.pj .pj-card .pj-card__name { font-size: 15px; }
	.pj-card__specs { font-size: 12px; }
	.pj-card .pj-price { font-size: 17px; }
	.pj-card .pj-price--ask { font-size: 15px; }
}

/* ---------- Категория: блоки после списка ---------- */
.pj-catwide { margin: 80px calc(50% - 50vw) 0; background: var(--pj-surface); }
.pj-catwide > section { max-width: 1280px; margin: 0 auto; padding: 80px 24px; display: flex; flex-direction: column; gap: 32px; box-sizing: border-box; }
body.pj .pj-catwide h2 { margin: 0; font-size: 34px; line-height: 1.1; letter-spacing: -0.02em; font-weight: 700; text-transform: none; }
.pj-catwide p { margin: 0; color: var(--pj-muted); max-width: 760px; font-size: 16px; }
.pj-table { overflow-x: auto; background: #fff; border-radius: 16px; }
.pj-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; text-align: left; }
.pj-table thead th { padding: 16px 20px; border-bottom: 1px solid var(--pj-ink); font-weight: 600; }
.pj-table tbody th { padding: 14px 20px; border-bottom: 1px solid var(--pj-line); font-weight: 500; color: var(--pj-muted); width: 26%; }
.pj-table tbody td { padding: 14px 20px; border-bottom: 1px solid var(--pj-line); }
.pj-table tbody tr:last-child th, .pj-table tbody tr:last-child td { border-bottom: 0; }
.pj-catfaq { margin-top: 80px; display: flex; flex-wrap: wrap; gap: 40px 64px; }
body.pj .pj-catfaq .pj-h2 { flex: 1 1 280px; margin: 0; font-size: 34px; letter-spacing: -0.02em; }
.pj-catfaq .pj-faq { flex: 2 1 560px; min-width: 0; max-width: none; border-top: 0; }
.pj-catfaq .pj-faq details:first-child { border-top: 1px solid var(--pj-ink); }
.pj-catseo { margin: 80px 0 0; display: flex; flex-wrap: wrap; gap: 24px 64px; }
body.pj #content h2.pj-catseo__title { flex: 1 1 280px; margin: 0; font-size: 24px; line-height: 1.2; letter-spacing: -0.01em; text-transform: none; }
.pj-catseo__body { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; color: var(--pj-muted); font-size: 15px; line-height: 1.6; text-align: left; }
.pj-catseo__body p, .pj-catseo__body ul, .pj-catseo__body ol { margin: 0; }
.pj-catseo__body ul, .pj-catseo__body ol { padding-left: 20px; }
body.pj #content .pj-catseo__body h2, body.pj #content .pj-catseo__body h3 { margin: 8px 0 0; font-size: 17px; line-height: 1.3; color: var(--pj-ink); text-transform: none; font-weight: 600; }
body.pj .pj-catseo__body a { color: var(--pj-ink); text-decoration: underline; }
.pj-catseo__body table { display: block; max-width: 100%; overflow-x: auto; }
.pj-catlinks { margin: 80px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
body.pj a.pj-catlinks__item { background: var(--pj-surface); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 6px; color: var(--pj-ink); }
.pj-catlinks__item span { font-size: 13px; color: var(--pj-muted); }
.pj-catlinks__item b { font-size: 19px; font-weight: 600; }
body.pj a.pj-catlinks__item:hover b { color: var(--pj-accent); }
.pj-cat .pj-request--dark { margin: 80px 0 0; display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: center; justify-content: space-between; }
.pj-request__text { flex: 1 1 380px; min-width: 0; }
body.pj #content .pj-request__text h2, body.pj .pj-request__text h2 { margin: 0 0 8px; font-size: 30px; line-height: 1.1; letter-spacing: -0.02em; color: #fff; text-transform: none; font-weight: 700; }
@media (max-width: 767px) {
	.pj-catwide > section { padding: 48px 16px; }
	body.pj .pj-catwide h2, body.pj .pj-catfaq .pj-h2 { font-size: 26px; }
	.pj-catfaq, .pj-catseo, .pj-catlinks, .pj-cat .pj-request--dark { margin-top: 48px; }
	body.pj #content .pj-request__text h2 { font-size: 24px; }
}

/* ---------- Страница «не найдено» и пустая корзина ---------- */
.pj-notfound { padding-top: 24px; padding-bottom: 16px; } /* 2.9: боковые отступы контейнера не обнуляем (на телефоне текст прилипал к краю) */
.pj-notfound__text { font-size: 18px; color: var(--pj-muted); margin: 12px 0 24px; max-width: 640px; }
.pj-notfound__links { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 32px; }
.pj-notfound .pj-notfound__search { max-width: 640px; margin: 0 0 24px; display: flex; border: 1px solid var(--pj-line-strong); border-radius: 8px; overflow: hidden; }
.pj-notfound__search input { flex: 1; min-width: 0; min-height: 46px; border: 0; padding: 0 16px; font: inherit; font-size: 15px; }
.pj-notfound__search button { width: 52px; border: 0; background: var(--pj-accent); color: #fff; }

/* ---------- 2.7 Товар: наличие, «В корзину» без цены, аналог, производитель ---------- */
/* Товар с ценой по запросу тоже кладётся в корзину: менеджер получает заказ с контактами */
.pj-product #product.pj-noprice .qty-product { display: block; }
.pj-product #product.pj-noprice #button-cart { display: inline-flex; align-items: center; justify-content: center; }
body.pj .pj-product #product.pj-noprice a.pj-ask { background: #fff; border-color: var(--pj-ink); color: var(--pj-ink); min-height: 48px; }
body.pj .pj-product #product.pj-noprice a.pj-ask:hover { background: #fff; color: var(--pj-accent); border-color: var(--pj-accent); }
.pj-stock { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 14px; font-weight: 500; color: #05603A; }
.pj-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pj-stock.is-out { color: #B42318; }
.pj-product #product.pj-out .qty-product, .pj-product #product.pj-out #button-cart { display: none !important; }
.pj-analog p { margin: 0 0 12px; font-size: 14px; color: var(--pj-muted); }
body.pj .pj-product .pj-analog .pj-btn { width: 100%; min-height: 52px; justify-content: center; }
.pj-maker { display: flex; gap: 8px; font-size: 14px; }
.pj-maker > span:first-child { color: var(--pj-muted); }

/* ---------- 2.7 Контакты, реквизиты, партнёры ---------- */
.pj-contacts__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin: 24px 0 56px; }
.pj-contacts__card { background: var(--pj-surface); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
body.pj a.pj-contacts__big { font-size: 22px; font-weight: 700; letter-spacing: -0.01em; color: var(--pj-ink); overflow-wrap: anywhere; }
.pj-contacts__card p { margin: 0; color: var(--pj-muted); font-size: 14px; }
.pj-contacts__card .pj-footer__social a { background: #fff; }
.pj-contacts__row { display: flex; flex-wrap: wrap; gap: 32px 48px; margin-bottom: 56px; }
.pj-contacts__text { flex: 1 1 360px; min-width: 0; }
body.pj #content .pj-contacts__text h2 { font-size: 26px; margin: 0 0 12px; text-transform: none; }
.pj-contacts__text address { font-style: normal; font-size: 17px; margin: 0 0 8px; }
.pj-contacts__text p { color: var(--pj-muted); }
.pj-contacts__map { flex: 1 1 420px; min-width: 0; min-height: 360px; border-radius: 16px; overflow: hidden; background: var(--pj-surface); }
.pj-contacts__map iframe { display: block; width: 100%; height: 100%; min-height: 360px; border: 0; }
.pj-reqs { width: 100%; max-width: 720px; border-collapse: collapse; margin: 16px 0; font-size: 15px; }
.pj-reqs th, .pj-reqs td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--pj-line); text-align: left; vertical-align: top; }
.pj-reqs th { width: 40%; font-weight: 500; color: var(--pj-muted); }
.pj-partners > div p { margin: 0 0 8px; }

/* ---------- 2.7 Страница решения (артборд Solution) ---------- */
body.pj { overflow-x: hidden; }
.pj-info--sol .pj-info__body { max-width: none; font-size: 16px; }
.pj-solpage > section { margin: 0 0 72px; }
body.pj .pj-solpage h2 { margin: 0; font-size: 34px; line-height: 1.1; letter-spacing: -0.02em; font-weight: 700; text-transform: none; color: var(--pj-ink); }
body.pj .pj-solpage h3 { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 600; text-transform: none; color: var(--pj-ink); }
.pj-solpage p { margin: 0; }
.pj-solhero { background: var(--pj-surface); border-radius: 20px; padding: 48px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; margin-top: 16px !important; }
.pj-solhero__text { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
body.pj .pj-solhero h1 { margin: 0; font-size: clamp(30px, 3.8vw, 50px); line-height: 1.06; letter-spacing: -0.03em; font-weight: 700; text-transform: none; }
.pj-solhero__text > p { font-size: 18px; color: var(--pj-muted); max-width: 600px; }
.pj-solhero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
body.pj .pj-solpage .pj-btn { min-height: 52px; padding: 0 28px; text-decoration: none; }
.pj-solhero__img { flex: 1 1 280px; min-width: 0; height: 340px; }
.pj-solhero__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.pj-solsec { display: flex; flex-direction: column; gap: 32px; }
.pj-sollines { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 40px; }
.pj-sollines > div { border-top: 1px solid var(--pj-ink); padding: 20px 0 28px; display: flex; flex-direction: column; gap: 8px; }
.pj-sollines p { color: var(--pj-muted); font-size: 15px; }
.pj-solsplit { display: flex; flex-wrap: wrap; gap: 32px 64px; }
.pj-solsplit--grey { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding: 72px max(24px, calc(50vw - 616px)); background: var(--pj-surface); }
.pj-solsplit__head { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.pj-solsplit__head p { color: var(--pj-muted); }
.pj-solsplit ul { flex: 2 1 520px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.pj-solsplit li { padding: 16px 0; border-top: 1px solid var(--pj-line); }
.pj-solsplit li:last-child { border-bottom: 1px solid var(--pj-line); }
.pj-solsplit--grey li { border-color: var(--pj-line-strong); }
.pj-solsplit li span { color: var(--pj-muted); }
.pj-solsteps { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.pj-solsteps > div { border: 1px solid var(--pj-line); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.pj-solsteps__tag { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 13px; color: var(--pj-accent); }
.pj-solsteps p { color: var(--pj-muted); font-size: 15px; }
.pj-solequip { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding: 72px max(24px, calc(50vw - 616px)); background: var(--pj-surface); display: flex; flex-direction: column; gap: 32px; }
.pj-solequip__head { display: flex; flex-wrap: wrap; gap: 12px 40px; align-items: baseline; justify-content: space-between; }
.pj-solequip__head p { color: var(--pj-muted); max-width: 520px; }
.pj-solequip__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.pj-eq { background: #fff; border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.pj-eq__role { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--pj-accent); }
.pj-eq__img { display: block; height: 180px; }
.pj-eq__img img { width: 100%; height: 100%; object-fit: contain; }
body.pj .pj-eq h3 { font-size: 19px; }
body.pj .pj-eq h3 a { color: var(--pj-ink); text-decoration: none; }
.pj-eq > p { font-size: 14px; color: var(--pj-muted); flex: 1; }
.pj-eq__price { font-size: 20px; font-weight: 700; min-height: 30px; }
body.pj .pj-solpage .pj-eq .pj-btn { min-height: 44px; justify-content: center; font-size: 15px; padding: 0 16px; }
.pj-solstages { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding: 72px max(24px, calc(50vw - 616px)); background: #14171C; color: #fff; display: flex; flex-direction: column; gap: 32px; }
body.pj .pj-solstages h2, body.pj .pj-solstages h3 { color: #fff; }
.pj-solstages .pj-sollines > div { border-top-color: #5B6470; }
.pj-solstages .pj-sollines p { color: #C5CAD3; }
body.pj .pj-solstages a.pj-btn--light { background: #fff; color: #14171C; }
.pj-solpage .pj-faqsec { padding: 0; }
.pj-solpage .pj-catlinks { margin-top: 0; }
.pj-solpage .pj-request { margin-bottom: 24px !important; }
body.pj .pj-solpage .pj-request a.pj-btn--primary { color: #fff; }
.pj-legal { font-size: 13px; color: var(--pj-muted); }
@media (max-width: 767px) {
	.pj-solhero { padding: 24px; }
	.pj-solhero__img { height: 220px; }
	body.pj .pj-solpage h2 { font-size: 26px; }
	.pj-solpage > section { margin-bottom: 48px; }
	.pj-solsplit--grey, .pj-solequip, .pj-solstages { padding: 48px 16px; }
}
/* перекрываем общие правила текстовых страниц внутри решения */
body.pj #content .pj-solpage h2 { margin: 0; font-size: 34px; line-height: 1.1; letter-spacing: -0.02em; }
body.pj #content .pj-solpage h3 { margin: 0; font-size: 20px; line-height: 1.25; }
body.pj #content .pj-solpage .pj-eq h3 { font-size: 19px; }
body.pj #content .pj-solpage .pj-request h2 { font-size: 30px; margin-bottom: 8px; }
body.pj #content .pj-solstages h2, body.pj #content .pj-solstages h3 { color: #fff; }
body.pj #content .pj-solpage p { margin: 0; }
body.pj #content .pj-solpage ul { margin: 0; padding-left: 0; }
body.pj #content .pj-solpage li { margin: 0; }
body.pj #content .pj-solpage a:not(.pj-btn) { color: var(--pj-ink); text-decoration: none; }
body.pj #content .pj-solpage a.pj-catlinks__item { color: var(--pj-ink); }
body.pj #content .pj-solpage .pj-faq summary { font-size: 18px; }
@media (max-width: 767px) {
	body.pj #content .pj-solpage h2 { font-size: 26px; }
	body.pj #content .pj-solpage .pj-request h2 { font-size: 24px; }
}
body.pj #content .pj-solhero h1 { margin: 0; font-size: clamp(30px, 3.8vw, 50px); line-height: 1.06; letter-spacing: -0.03em; font-weight: 700; text-transform: none; color: var(--pj-ink); }
body.pj .pj-solhero .pj-eyebrow { font-size: 13px; }
.pj-sollines, .pj-solsteps { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
/* выравнивание полос во всю ширину по контенту сайта (контейнер 1170, контент 1140) */
.pj-solsplit--grey, .pj-solequip, .pj-solstages { padding-left: max(16px, calc(50vw - 570px)); padding-right: max(16px, calc(50vw - 570px)); }
.pj-catwide > section { max-width: 1140px; padding-left: 0; padding-right: 0; }
@media (max-width: 1199px) { .pj-catwide > section { padding-left: 16px; padding-right: 16px; } }
@media (max-width: 767px) { .pj-solsplit--grey, .pj-solequip, .pj-solstages { padding: 48px 16px; } }

/* ---------- 2.7 Главная: база знаний ---------- */
.pj-kb { background: var(--pj-surface); padding: 80px 0; margin: 80px 0 0; }
.pj-kb__head { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; align-items: baseline; margin-bottom: 40px; }
body.pj .pj-kb__head .pj-h2 { margin: 0; font-size: 36px; }
body.pj .pj-kb__head a { font-weight: 600; color: var(--pj-accent); }
.pj-kb__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
body.pj a.pj-kb__item { background: #fff; border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 12px; min-height: 180px; color: var(--pj-ink); }
.pj-kb__item b { font-size: 20px; font-weight: 600; line-height: 1.3; flex: 1; }
.pj-kb__more { font-size: 14px; color: var(--pj-muted); }
body.pj a.pj-kb__item:hover b { color: var(--pj-accent); }
@media (max-width: 767px) { .pj-kb { padding: 48px 0; margin-top: 48px; } body.pj .pj-kb__head .pj-h2 { font-size: 26px; } }

/* ---------- 2.7 Меню на смартфоне: на весь экран, группы раскрываются ---------- */
.pj-mega__bar, .pj-mega__close, .pj-mega__toggle, .pj-mega__mobile { display: none; }
@media (max-width: 991px) {
	.pj-main .pj-catbtn { order: 4; margin-left: auto; }
	.pj-main .pj-actions { order: 3; margin-left: auto; }
	.pj-main .pj-catbtn + .pj-search, .pj-main .pj-search { order: 6; }
	.pj-mega { position: fixed; inset: 0; z-index: 3000; background: #fff; overflow-y: auto; box-shadow: none; border: 0; }
	.pj-mega[hidden] { display: none; }
	.pj-mega__bar { display: flex; align-items: center; justify-content: space-between; padding: 8px 8px 8px 16px; border-bottom: 1px solid var(--pj-line); position: sticky; top: 0; background: #fff; z-index: 1; }
	.pj-mega__bar .pj-logo__text { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
	.pj-mega__bar .pj-logo__text span { color: var(--pj-accent); }
	.pj-mega__close { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 0; background: none; color: var(--pj-ink); cursor: pointer; }
	.pj-mega__in { display: block; padding: 0; }
	.pj-mega__cols { display: block; }
	.pj-mega__col { display: grid; grid-template-columns: 1fr 44px; align-items: center; gap: 0; border-bottom: 1px solid var(--pj-line); padding: 0 8px 0 16px; }
	body.pj .pj-mega a.pj-mega__title { padding: 14px 0; font-size: 16px; font-weight: 600; }
	.pj-mega__toggle { display: inline-flex; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; align-items: center; justify-content: center; }
	.pj-mega__toggle::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--pj-ink); border-bottom: 2px solid var(--pj-ink); transform: rotate(45deg); margin-top: -4px; transition: transform .15s; }
	.pj-mega__col.is-open .pj-mega__toggle::after { transform: rotate(-135deg); margin-top: 4px; }
	.pj-mega__col > a:not(.pj-mega__title) { display: none; grid-column: 1 / -1; padding: 10px 0; font-size: 15px; color: var(--pj-muted); }
	.pj-mega__col.is-open > a:not(.pj-mega__title) { display: block; }
	.pj-mega__col.is-open > a:last-child { padding-bottom: 14px; }
	.pj-mega__mobile { display: flex; flex-direction: column; padding: 12px 16px 120px; }
	body.pj .pj-mega__mobile a { padding: 12px 0; font-size: 16px; font-weight: 500; border-bottom: 1px solid var(--pj-line); }
}

/* ---------- 2.7.1 ---------- */
/* строка разделов в одну линию при контейнере 1170 */
@media (min-width: 1200px) { body.pj .pj-menu__link { padding: 12px 8px; font-size: 14px; } }
/* старая кнопка из описания категории дублирует блок «Не уверены…» */
.pj-cathero .pj-cat__intro .btn, .pj-cathero .pj-cat__intro .callback1 { display: none !important; }
/* мобильное меню на всю высоту экрана */
@media (max-width: 991px) { .pj-mega { height: 100%; max-height: none; } }

/* =====================================================================
   2.7.2 — уведомления, счётчики, сравнение, текстовые страницы, услуги, решения
   ===================================================================== */

/* ---------- Счётчики в шапке ---------- */
.pj-action { position: relative; }
.pj-badge { position: absolute; top: 2px; left: 50%; margin-left: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--pj-accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-sizing: border-box; pointer-events: none; }
.pj-badge[hidden] { display: none; }

/* ---------- Уведомление «Добавлено» ---------- */
.pj-toast { position: fixed; top: 16px; right: 16px; z-index: 9000; width: 360px; max-width: calc(100vw - 32px); background: #fff; border: 1px solid var(--pj-line); border-radius: 14px; box-shadow: 0 16px 40px rgba(20, 23, 28, .18); padding: 16px 16px 18px; box-sizing: border-box; transform: translateY(-12px); opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s; }
.pj-toast.is-on { transform: none; opacity: 1; visibility: visible; }
.pj-toast__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pj-toast__head b { display: flex; align-items: center; gap: 8px; font-size: 16px; }
.pj-toast__head b::before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: #05603A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; flex: none; }
.pj-toast__close { width: 32px; height: 32px; border: 0; background: none; font-size: 22px; line-height: 1; color: var(--pj-muted); cursor: pointer; }
.pj-toast p { margin: 6px 0 0; font-size: 14px; color: var(--pj-muted); }
.pj-toast__actions { display: flex; gap: 8px; margin-top: 14px; }
.pj-toast__actions .pj-btn { flex: 1; min-height: 42px; justify-content: center; padding: 0 12px; font-size: 14px; }
body.pj .pj-toast a.pj-btn--primary { color: #fff; }
@media (max-width: 767px) { .pj-toast { top: auto; bottom: 80px; left: 16px; right: 16px; width: auto; } }
/* сообщение темы, которое она вставляла до <body> */
html > .alert { display: none !important; }

/* ---------- Сравнение ---------- */

.pj-compare__head { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: baseline; justify-content: space-between; margin-bottom: 24px; }
body.pj #content .pj-compare__head h1 { margin: 0; }
.pj-compare__count { color: var(--pj-muted); font-size: 15px; }
.pj-compare__wrap { overflow-x: auto; border: 1px solid var(--pj-line); border-radius: 16px; background: #fff; }
.pj-compare__table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; font-size: 15px; table-layout: fixed; }
.pj-compare__table th, .pj-compare__table td { padding: 14px 20px; border-bottom: 1px solid var(--pj-line); text-align: left; vertical-align: top; }
.pj-compare__table tbody tr:last-child > * { border-bottom: 0; }
.pj-compare__label { width: 220px; background: var(--pj-surface); color: var(--pj-muted); font-weight: 500; position: sticky; left: 0; z-index: 1; }
.pj-compare__table thead .pj-compare__label { vertical-align: bottom; }
.pj-compare__prod { position: relative; }
.pj-compare__prod > * { display: block; }
.pj-compare__img { height: 160px; margin: 8px 0 12px; }
.pj-compare__img img { width: 100%; height: 100%; object-fit: contain; }
body.pj a.pj-compare__name { font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--pj-ink); margin-bottom: 8px; }
.pj-compare__price { font-size: 20px; font-weight: 700; margin-bottom: 12px; }
.pj-compare__price s { font-size: 14px; font-weight: 400; color: var(--pj-muted); }
.pj-compare__prod .pj-btn { width: 100%; justify-content: center; min-height: 44px; }
.pj-compare__remove { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%; background: var(--pj-surface); display: inline-flex !important; align-items: center; justify-content: center; color: var(--pj-muted); }
body.pj a.pj-compare__remove:hover { background: var(--pj-line); color: #B42318; }
.pj-compare__des { color: var(--pj-muted); font-size: 14px; }
.pj-compare__group th { background: #fff; color: var(--pj-ink); font-weight: 700; font-size: 16px; padding-top: 24px; }
.pj-compare__note { margin: 16px 0 0; color: var(--pj-muted); font-size: 14px; }
body.pj .pj-compare__note a { color: var(--pj-accent); text-decoration: underline; }
.pj-compare__empty { background: var(--pj-surface); border-radius: 16px; padding: 32px; }
.pj-compare__empty p { margin: 0 0 8px; font-size: 16px; }
.pj-compare__empty .pj-notfound__links { margin: 20px 0 0; }

/* ---------- Текстовые страницы: колонка справа ---------- */
.pj-info__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.pj-info__main .pj-info__body { max-width: 760px; }
.pj-info__aside { position: sticky; top: 140px; display: flex; flex-direction: column; gap: 20px; }
.pj-info__card { background: var(--pj-surface); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.pj-info__card b { font-size: 18px; }
.pj-info__card p { margin: 0 0 6px; color: var(--pj-muted); font-size: 15px; }
.pj-info__card .pj-btn { justify-content: center; min-height: 48px; margin-bottom: 6px; }
body.pj a.pj-info__phone { font-size: 20px; font-weight: 700; color: var(--pj-ink); }
.pj-info__hours { font-size: 13px; color: var(--pj-muted); }
.pj-info__nav { display: flex; flex-direction: column; border-top: 1px solid var(--pj-line); }
body.pj .pj-info__nav a { padding: 12px 0; border-bottom: 1px solid var(--pj-line); color: var(--pj-ink); font-weight: 500; }
body.pj .pj-info__nav a:hover { color: var(--pj-accent); }
@media (max-width: 991px) { .pj-info__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; } .pj-info__aside { position: static; } }

/* ---------- Услуги ---------- */
.pj-svc { gap: 0 !important; }
body.pj #content .pj-svc > h2 { margin-bottom: 32px; }
.pj-service { display: grid; grid-template-columns: 72px minmax(0, 1fr) 300px; gap: 24px 40px; padding: 32px 0; border-top: 1px solid var(--pj-ink); scroll-margin-top: 140px; }
.pj-service:last-child { border-bottom: 1px solid var(--pj-line); }
.pj-service__num { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 28px; color: var(--pj-accent); line-height: 1; padding-top: 4px; }
.pj-service__main { display: flex; flex-direction: column; gap: 12px; }
body.pj #content .pj-service__main h3 { font-size: 24px; }
.pj-service__main > p { color: var(--pj-muted); font-size: 16px; }
body.pj #content .pj-service__main ul { margin: 4px 0 0; padding-left: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
body.pj #content .pj-service__main li { position: relative; padding-left: 20px; font-size: 15px; }
.pj-service__main li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; border-radius: 2px; background: var(--pj-accent); }
.pj-service__res { background: var(--pj-surface); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 8px; align-self: start; }
.pj-service__res p { color: var(--pj-ink); font-size: 15px; }
body.pj .pj-solpage .pj-service__res .pj-btn { margin-top: 8px; min-height: 44px; justify-content: center; padding: 0 16px; font-size: 15px; }
@media (max-width: 991px) { .pj-service { grid-template-columns: 48px minmax(0, 1fr); } .pj-service__res { grid-column: 2; } }
@media (max-width: 600px) { .pj-service { grid-template-columns: minmax(0, 1fr); } .pj-service__res { grid-column: auto; } body.pj #content .pj-service__main ul { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Карточки решений (сводная «Решения», «Услуги») ---------- */
.pj-solsec__lead { color: var(--pj-muted); max-width: 720px; margin-top: -16px !important; }
.pj-solcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
body.pj a.pj-solcard { background: var(--pj-surface); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 10px; color: var(--pj-ink); text-decoration: none !important; transition: box-shadow .15s; }
body.pj a.pj-solcard:hover { box-shadow: 0 12px 28px rgba(20, 23, 28, .1); }
.pj-solcard__img { display: block; height: 160px; background: #fff; border-radius: 10px; padding: 12px; box-sizing: border-box; }
.pj-solcard__img img { width: 100%; height: 100%; object-fit: contain; }
.pj-solcard b { font-size: 18px; line-height: 1.3; }
.pj-solcard__text { color: var(--pj-muted); font-size: 14px; flex: 1; }
.pj-solcard__more { font-weight: 600; font-size: 15px; color: var(--pj-accent); }
body.pj .pj-solcard .pj-eyebrow { color: var(--pj-accent); }

/* ---------- 2.7.3 ---------- */
/* поле количества одинаковое у всех товаров (с ценой и без) */
.pj-product #product.pj-noprice .qty-product { display: inline-flex; width: auto; }
.pj-product .qty-product #input-quantity { min-width: 48px; text-align: center; }
/* страница сравнения: обёртка переименована (pj-compare занят кнопкой на странице товара) */
.pj-cmp { padding: 8px 0 80px; }
.pj-compare__table { width: auto; min-width: 0; table-layout: fixed; }
.pj-compare__table td { width: 260px; min-width: 260px; }
.pj-compare__label { width: 200px; min-width: 200px; }
.pj-compare__wrap { max-width: 100%; display: inline-block; vertical-align: top; }
.pj-compare__des { word-break: break-word; }
/* низ страницы товара */
.pj-product__bottom { display: flex; flex-direction: column; gap: 0; margin-top: 24px; }
.pj-product__bottom > .pj-faqsec { padding: 56px 0 0; }
.pj-product__about .pj-sec__body { color: var(--pj-muted); font-size: 15px; line-height: 1.6; }
.pj-product__about .pj-sec__body p { margin: 0 0 10px; }
body.pj .pj-product__about .pj-sec__body a { color: var(--pj-ink); text-decoration: underline; }
.pj-product__bottom .pj-product__cta { margin: 56px 0 16px; }
/* База знаний */
.pj-blog { padding-top: 16px; padding-bottom: 32px; }
.pj-blog .pj-chips { margin: 0 0 40px; }
.pj-blog__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
body.pj a.pj-blog__item { background: var(--pj-surface); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 10px; min-height: 200px; color: var(--pj-ink); box-sizing: border-box; transition: box-shadow .15s; }
body.pj a.pj-blog__item:hover { box-shadow: 0 12px 28px rgba(20, 23, 28, .1); }
body.pj a.pj-blog__item:hover b { color: var(--pj-accent); }
.pj-blog__img { display: block; height: 160px; border-radius: 10px; overflow: hidden; background: #fff; margin: -8px -8px 6px; }
.pj-blog__img img { width: 100%; height: 100%; object-fit: cover; }
.pj-blog__item b { font-size: 19px; line-height: 1.3; font-weight: 600; }
.pj-blog__intro { font-size: 14px; color: var(--pj-muted); line-height: 1.5; }
.pj-blog__more { margin-top: auto; font-weight: 600; font-size: 15px; color: var(--pj-accent); }
.pj-blog .pj-pagination { margin: 32px 0 0; }
.pj-blog__cta { margin-top: 64px; display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: center; justify-content: space-between; }
/* Статья */
.pj-article { padding-top: 16px; padding-bottom: 64px; }
.pj-article .pj-eyebrow { display: block; margin-bottom: 12px; }
.pj-article__img { margin: 0 0 24px; border-radius: 16px; overflow: hidden; background: var(--pj-surface); }
.pj-article__img img { width: 100%; height: auto; max-height: 460px; object-fit: contain; display: block; margin: 0 auto; }
.pj-article__body img { border-radius: 12px; float: none !important; display: block; margin: 16px auto !important; max-width: 100%; height: auto; }
.pj-article__body p, .pj-article__body li { text-align: left !important; }
.pj-article__body h2 { margin-top: 32px; }
.pj-article__foot { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--pj-line); }
.pj-article__foot .pj-btn { min-height: 48px; }
/* Поиск */
.pj-searchpage { padding-top: 16px; padding-bottom: 64px; }
body.pj #content .pj-searchpage .pj-cat__h1 { margin-bottom: 20px; }
.pj-searchpage .pj-searchpage__form { max-width: 720px; display: flex; border: 1px solid var(--pj-line-strong); border-radius: 8px; overflow: hidden; margin: 0 0 12px; }
.pj-searchpage__form input[type="search"] { flex: 1; min-width: 0; min-height: 48px; border: 0; padding: 0 16px; font: inherit; font-size: 16px; }
.pj-searchpage__form button { width: 56px; border: 0; background: var(--pj-accent); color: #fff; cursor: pointer; }
.pj-searchpage__hint { color: var(--pj-muted); font-size: 14px; margin: 0 0 28px; }
body.pj .pj-searchpage__hint a { color: var(--pj-accent); }
.pj-grid--search { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.pj-searchpage__empty { margin: 8px 0 0; }
.pj-searchpage__cats { margin-top: 56px; }
body.pj #content .pj-searchpage__cats .pj-h2 { font-size: 24px; margin-bottom: 16px; }

/* ---------- 2.7.5: планшеты ---------- */
/* до 992 px фильтр открывается кнопкой, сетка товаров на всю ширину (раньше товары попадали в узкую колонку фильтра) */
@media (max-width: 991px) {
	.pj-cat--filter .pj-catgrid { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.pj-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}
@media (max-width: 767px) { .pj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* 992–1199 px: строка разделов в одну линию с прокруткой, без переноса на 2–3 строки */
@media (min-width: 992px) and (max-width: 1199px) {
	body.pj .pj-menu { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0; width: 100%; }
	body.pj .pj-menu::-webkit-scrollbar { display: none; }
	body.pj .pj-menu__item { flex: none; }
	body.pj .pj-menu__link { padding: 12px 7px; font-size: 13.5px; white-space: nowrap; }
}
/* ---------- 2.7.5: смартфоны ---------- */
@media (max-width: 767px) {
	/* верхняя строка с почтой и телефоном: телефон уже есть в нижней панели и в меню */
	body.pj .pj-util { display: none; }
	/* плашка cookie компактнее и не закрывает первый экран */
	body.pj .cookie-notification { font-size: 12px; }
	body.pj .cookie-notification .container { padding: 10px 40px 10px 12px; display: flex; align-items: center; gap: 10px; }
	body.pj .cookie-notification .ct-cookies-content { margin: 0; text-align: left; line-height: 1.35; }
	body.pj .cookie-notification .ct-accept { min-height: 36px; padding: 0 12px; flex: none; width: auto; }
	/* кнопка «наверх» не перекрывает кнопки товара */
	#back-top { display: none !important; }
	/* зона нажатия иконок сравнения и корзины не меньше 44 px */
	body.pj .pj-action, body.pj .pj-action--cart #cart > .top-cart-contain > button { min-width: 44px; min-height: 44px; }
}
.pj-hero__img picture { display: contents; }

/* =====================================================================
   2.8 — замечания заказчика от 08.10
   ===================================================================== */

/* ---------- 1–2. Цвет текста кнопок и баннеров при наведении и фокусе ---------- */
body.pj a.pj-btn--primary, body.pj a.pj-btn--primary:hover, body.pj a.pj-btn--primary:focus, body.pj a.pj-btn--primary:active,
body.pj button.pj-btn--primary:hover, body.pj button.pj-btn--primary:focus { color: #fff; }
body.pj a.pj-btn--primary:focus-visible { outline: 3px solid rgba(31, 63, 168, .35); outline-offset: 2px; }
body.pj a.pj-btn--light, body.pj a.pj-btn--light:hover, body.pj a.pj-btn--light:focus { color: var(--pj-ink); }
body.pj a.pj-btn--light:hover { background: #E9ECF2; }
body.pj a.pj-btn--ghost:focus, body.pj a.pj-btn--outline:focus { color: var(--pj-ink); }
body.pj a.pj-banner--accent, body.pj a.pj-banner--accent:hover, body.pj a.pj-banner--accent:focus, body.pj a.pj-banner--accent:active { color: #fff; }
body.pj a.pj-banner--accent:hover { background: var(--pj-accent-dark); }
body.pj a.pj-banner:hover .pj-banner__title { text-decoration: none; }
body.pj a.pj-banner:not(.pj-banner--accent):hover, body.pj a.pj-banner:not(.pj-banner--accent):focus { color: var(--pj-ink); background: #ECEEF2; }

/* ---------- 6.1. Шапка закрепляется плавно, без рывков ---------- */
@media (min-width: 992px) {
	body.pj header.pj-header { position: sticky; top: calc(-1 * var(--pj-util-h, 37px)); z-index: 1000; background: #fff; box-shadow: 0 1px 0 var(--pj-line); }
	body.pj .sticky-wrapper { height: auto !important; }
}
html { scroll-behavior: smooth; }

/* ---------- 17. Преимущества на первом экране товара ---------- */
.pj-adv { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pj-adv li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.4; color: var(--pj-ink); }
.pj-adv li::before { content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; background: var(--pj-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 11px no-repeat; }

/* ---------- 18. Вкладки товара ---------- */
.pj-tabs-on [data-pj-pane]:not(.is-active) { display: none !important; }
.pj-tabs-on .pj-sk--two { grid-template-columns: minmax(0, 1fr) !important; }
.pj-tabs-on .tab-content { min-height: 240px; }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li > a { cursor: pointer; }
body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li.active > a { color: var(--pj-ink); border-bottom-color: var(--pj-accent); }
@media (max-width: 767px) {
	body.pj .pj-product .col-3 .nav-tabs.pj-anchors { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 0 20px; }
	body.pj .pj-product .col-3 .nav-tabs.pj-anchors::-webkit-scrollbar { display: none; }
	body.pj .pj-product .col-3 .nav-tabs.pj-anchors > li { flex: none; }
}

/* ---------- 20. Тёмный блок призыва — текст белый везде ---------- */
body.pj .pj-request--dark, body.pj .pj-request--dark h2, body.pj .pj-request--dark .pj-h2 { color: #fff !important; }
body.pj .pj-request--dark p { color: #C5CAD3 !important; }

/* ---------- 12. «Как мы работаем» — этапы в один ряд ---------- */
.pj-solstages .pj-sollines { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0 28px; }
@media (min-width: 1200px) { .pj-solstages .pj-sollines:has(> div:nth-child(5)) { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* ---------- 16. Пагинация в стиле сайта ---------- */
body.pj .pj-pagination { margin: 40px 0 0; display: flex; justify-content: center; }
body.pj .pj-pagination .pagination { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
body.pj .pj-pagination .pagination > li { display: block; }
body.pj .pj-pagination .pagination > li > a, body.pj .pj-pagination .pagination > li > span { float: none; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; margin: 0; border: 1px solid var(--pj-line-strong); border-radius: var(--pj-radius) !important; background: #fff; color: var(--pj-ink); font-size: 15px; font-weight: 500; line-height: 1; }
body.pj .pj-pagination .pagination > li > a:hover { border-color: var(--pj-accent); color: var(--pj-accent); background: #fff; }
body.pj .pj-pagination .pagination > .active > span, body.pj .pj-pagination .pagination > .active > a { background: var(--pj-ink); border-color: var(--pj-ink); color: #fff; }
body.pj .pj-blog .pj-pagination { margin: 40px 0 0; }
body.pj .pj-blog__cta { margin-top: 56px; }

/* ---------- Сводные блоки «SEO-текст + вопросы» в одну линию (категории, решения, услуги) ---------- */
.pj-seofaq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px 56px; align-items: start; margin: 72px 0 0; }
.pj-seofaq__col > h2 { margin: 0 0 20px !important; font-size: 28px !important; line-height: 1.15; letter-spacing: -0.02em; text-transform: none; }
.pj-seofaq .pj-faq { border-top: 1px solid var(--pj-ink); max-width: none; }
.pj-seofaq .pj-faq details { border-bottom: 1px solid var(--pj-line); }
.pj-seofaq .pj-faq summary { font-size: 16px; padding: 16px 36px 16px 0; }
.pj-seofaq .pj-faq summary::after { top: 20px; }
.pj-seofaq .pj-faq details[open] summary::after { top: 25px; }
.pj-seofaq .pj-faq details > div { padding: 0 0 16px; color: var(--pj-muted); font-size: 15px; line-height: 1.6; }
.pj-seofaq .pj-faq details > div p { margin: 0 0 8px; }
body.pj .pj-seofaq .pj-faq details a { color: var(--pj-accent); text-decoration: underline; }
.pj-seotext { position: relative; color: var(--pj-muted); font-size: 15px; line-height: 1.65; }
.pj-seotext__body { max-height: 330px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.pj-seotext.is-open .pj-seotext__body { max-height: none; -webkit-mask-image: none; mask-image: none; }
.pj-seotext__body p, .pj-seotext__body ul { margin: 0 0 12px; }
.pj-seotext__body ul { padding-left: 20px; }
body.pj #content .pj-seotext__body h3 { font-size: 17px; margin: 18px 0 8px; color: var(--pj-ink); text-transform: none; font-weight: 600; }
body.pj .pj-seotext__body a { color: var(--pj-ink); text-decoration: underline; }
.pj-seotext__more { margin-top: 12px; border: 0; background: none; padding: 0; font: inherit; font-weight: 600; color: var(--pj-accent); cursor: pointer; }
@media (max-width: 991px) { .pj-seofaq { grid-template-columns: minmax(0, 1fr); margin-top: 48px; } }

/* 2.8: фото объектов в карточках решений и на первом экране «Услуг» */
.pj-solcard__img:has(picture) { padding: 0; overflow: hidden; height: 180px; background: var(--pj-grey, #f2f4f7); }
.pj-solcard__img picture, .pj-solhero__img picture { display: block; width: 100%; height: 100%; }
.pj-solcard__img picture img { object-fit: cover; transition: transform .3s; }
.pj-solcard:hover .pj-solcard__img picture img { transform: scale(1.03); }
.pj-solhero__img:has(picture) { border-radius: 16px; overflow: hidden; }
.pj-solhero__img picture img { object-fit: cover; mix-blend-mode: normal; }
.pj-credits { font-size: 12px; color: #8a94a3; margin: 8px 0 0; }
.pj-blog__img picture { display: block; width: 100%; height: 100%; }
.pj-blog__img { aspect-ratio: 16 / 10; height: auto; }

/* 2.8: логотип — знак «подавление сигнала» + надпись */
.pj-logo__text { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.pj-logo__text > b { font-weight: inherit; }
.pj-logo__mark { flex: none; width: 34px; height: 34px; display: block; }
.pj-footer__brand .pj-logo__mark { width: 30px; height: 30px; }
@media (max-width: 480px) { .pj-logo__mark { width: 28px; height: 28px; } .pj-logo__text { gap: 8px; } }
/* 2.8.1: скрытие неактивной вкладки сильнее правила темы .tab-content > .tab-pane { display: block !important } */
body.pj .pj-tabs-on .tab-content > [data-pj-pane]:not(.is-active), body.pj .pj-tabs-on [data-pj-pane]:not(.is-active) { display: none !important; }

/* ---------- 2.8.2: вкладки товара в компактном блоке (как у detsys): панель-кнопки + содержимое без растягивания ---------- */
body.pj .pj-product .pj-tabs-on { margin-top: 48px; }
body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors { display: flex; flex-wrap: wrap; gap: 4px; position: static; padding: 6px; margin: 0 0 28px; background: var(--pj-surface); border: 0; border-radius: 12px; }
body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li { margin: 0; padding: 0; float: none; }
body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li > a { display: block; padding: 11px 20px !important; border: 0 !important; border-radius: 8px; background: transparent !important; color: var(--pj-ink) !important; font-size: 15px; font-weight: 500; line-height: 1.2; }
body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li > a:hover { background: #fff !important; color: var(--pj-ink) !important; }
body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li.active > a, body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li.active > a:hover, body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li.active > a:focus { background: var(--pj-ink) !important; color: #fff !important; }
/* содержимое вкладки: без заголовков-дублей, широких полос и больших отступов */
body.pj #content .pj-tabs-on .tab-content .pj-sec__title { display: none; }
body.pj .pj-product .pj-tabs-on .tab-content { min-height: 0; }
body.pj .pj-product .pj-tabs-on #tab-description.pj-sec { padding: 0 0 8px; max-width: 900px; }
body.pj .pj-product .pj-tabs-on .pj-band--surface { padding: 0; margin: 0; background: none; box-shadow: none; clip-path: none; --pj-band: transparent; }
body.pj .pj-product .pj-tabs-on .pj-band .pj-sk__box { border: 1px solid var(--pj-line); padding: 24px 28px; }
body.pj .pj-product .pj-tabs-on .pj-sk .pj-sec { padding-bottom: 0; }
body.pj .pj-product .pj-tabs-on .pj-band .pj-use { background: var(--pj-surface); border-radius: 16px; padding: 28px; }
body.pj .pj-product .pj-tabs-on .pj-figure { margin: 24px 0 0; max-width: 900px; }
body.pj .pj-product .pj-tabs-on #tab-description img { max-width: 100%; height: auto; }
body.pj .pj-product .pj-tabs-on #tab-description .pj-sec__body img { max-width: 420px; display: block; margin: 16px 0; }
@media (max-width: 767px) {
	body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li { flex: none; }
	body.pj .pj-product .pj-tabs-on .nav-tabs.pj-anchors > li > a { padding: 10px 14px !important; font-size: 14px; }
	body.pj .pj-product .pj-tabs-on .pj-band .pj-sk__box { padding: 18px; }
}
/* фото товара уже есть в галерее — во вкладке «Обзор» не повторяем */
body.pj .pj-product .pj-tabs-on .tab-content .pj-figure { display: none !important; }

/* ---------- 2.8.3: вкладка «Обзор» на всю ширину, карточки описания без пустот, тёмная полоса параметров ---------- */
body.pj .pj-product .pj-tabs-on #tab-description.pj-sec { max-width: none; }
body.pj .pj-product .pj-tabs-on #tab-description .pj-sec__body { max-width: 900px; }
body.pj .pj-product .pj-tabs-on .pj-ocards { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); align-items: start; gap: 20px; margin: 28px 0 0; }
body.pj .pj-product .pj-tabs-on .pj-ocard img { max-width: 100%; max-height: 320px; width: auto; height: auto; display: block; margin: 12px auto 0; }
body.pj .pj-product .pj-tabs-on .pj-band--dark { margin: 0 0 40px; }

/* ---------- 2.8.4: вкладка «Особенности» (поле description3) ---------- */
body.pj .pj-product .pj-features { margin: 0 0 40px; }
body.pj .pj-product .pj-features ul { margin: 0; padding-left: 20px; }
body.pj .pj-product .pj-features li { margin: 0 0 6px; }
body.pj .pj-card__name { display: block; }

/* ---------- 2.9: статусы наличия из админки ---------- */
.pj-stock.is-eol, .pj-card__stock.is-eol { color: var(--pj-muted); }
.pj-stock.is-soon, .pj-card__stock.is-soon { color: #B54708; }
.pj-stock.is-soon::before { background: #F79009 !important; }
.pj-stock.is-eol::before { background: #98A2B3 !important; }

/* ---------- 2.9: сетка карточек решений без «висячей» последней карточки ---------- */
@media (min-width: 992px) {
	.pj-solcards.pj-solcards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pj-solcards.pj-solcards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 640px) and (max-width: 991px) {
	.pj-solcards.pj-solcards--3, .pj-solcards.pj-solcards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- 2.9: единые отступы — 64 px до подвала на всех страницах, пагинация и форма в базе знаний ---------- */
body.pj footer.pj-footer { margin-top: 64px; }
body.pj main.pj-home, body.pj .container.pj-blog { padding-bottom: 0; }
body.pj .pj-blog__cta { margin-bottom: 0; }
body.pj .pj-blog .pj-pagination { margin: 40px 0 0 !important; padding-bottom: 56px; }
body.pj .pj-pagination .pagination > .active > span, body.pj .pj-pagination .pagination > .active > a, body.pj .pj-pagination .pagination > .active > span:hover { background: var(--pj-ink) !important; border-color: var(--pj-ink) !important; color: #fff !important; }
body.pj .pj-pagination .pagination > li > a:hover { background: #fff !important; }
body.pj .pj-solpage > .pj-legal:last-child, body.pj .pj-product__bottom > .pj-legal:last-child { margin-bottom: 0; }
@media (max-width: 767px) { body.pj footer.pj-footer { margin-top: 48px; } body.pj .pj-blog .pj-pagination { margin-top: 32px !important; padding-bottom: 40px; } }
/* 2.9: картинки в описании товара не шире экрана */
body.pj .pj-product .pj-tabs-on #tab-description .pj-sec__body img { max-width: min(420px, 100%); height: auto; }
body.pj .pj-product .tab-content img { max-width: 100%; height: auto; }

/* ---------- 2.9: планшеты (640–991 px) — без «висячих» карточек в сетках ---------- */
@media (min-width: 640px) and (max-width: 991px) {
	.pj-sollines { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.pj .pj-related .pj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.pj .pj-kb__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	body.pj .pj-product .pj-tabs-on .pj-ocards { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}

/* ---------- 2.9.2: кнопки карточки не выходят за край; «Аналоги» ведут в раздел ---------- */
.pj-card__actions > .pj-btn:not(.pj-btn--icon) { flex: 1 1 auto; min-width: 0; white-space: normal; text-align: center; line-height: 1.2; padding-left: 10px; padding-right: 10px; }
.pj-card__actions > .pj-btn--outline { font-size: 14px; }
.pj-analog .pj-btn { white-space: normal; text-align: center; line-height: 1.25; }
.pj-analog__alt { margin: 10px 0 0; font-size: 14px; }
.pj-analog__alt a { color: var(--pj-muted); text-decoration: underline; text-underline-offset: 3px; }

/* 2.9.4: картинки главной в <picture> (WebP) */
.pj-banner picture { display: block; width: 42%; flex: none; }
.pj-banner picture img { width: 100%; }
.pj-dir__img picture { display: block; }

/* ---------- 2.9.8: страница поиска — кнопка на всю высоту поля, сортировка в стиле сайта ---------- */
.pj-searchpage .pj-searchpage__form { margin-bottom: 28px; align-items: stretch; }
.pj-searchpage__form input[type="search"] { height: 48px; }
body.pj .pj-searchpage__form button { width: 56px; height: auto; min-height: 48px; margin: 0; padding: 0; border-radius: 0; display: flex; align-items: center; justify-content: center; align-self: stretch; }
body.pj .pj-searchpage__form button:hover { background: var(--pj-accent-dark); }
body.pj .pj-toolbar__sort select, body.pj .pj-toolbar__sort .form-control { height: 44px; min-width: 210px; padding: 0 40px 0 14px; border: 1px solid var(--pj-line-strong); border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2314171C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center; -webkit-appearance: none; -moz-appearance: none; appearance: none; box-shadow: none; font: inherit; font-size: 15px; color: var(--pj-ink); cursor: pointer; }
body.pj .pj-toolbar__sort select:hover { border-color: var(--pj-ink); }
body.pj .pj-toolbar__sort select:focus { outline: none; border-color: var(--pj-accent); box-shadow: 0 0 0 3px rgba(31, 63, 168, .15); }

/* ---------- 2.9.9: поиск и сортировка, мобильная шапка, панель каталога, аккордеон карточки, отступы ---------- */
/* сортировка по всему сайту: тема ставит .form-control { border-radius: 0 !important } */
body.pj .pj-toolbar__sort select.form-control, body.pj .pj-toolbar__sort select { border-radius: 8px !important; height: 44px !important; }
/* поиск: отступы как у заголовков разделов */
body.pj .pj-searchpage h1 { margin: 0 0 24px !important; }
body.pj .pj-searchpage .pj-searchpage__form { margin: 0 0 32px; }
/* кнопка внутри абзаца на информационных страницах — отдельной строкой */
.pj-info__body p > .pj-btn { display: flex; width: fit-content; margin-top: 16px; }

.pj-action--m { display: none; }
@media (max-width: 767px) {
	/* нижняя панель «Позвонить / Запросить КП» убрана: звонок и запрос — в шапке */
	.pj-mobilebar { display: none !important; }
	body.pj { padding-bottom: 0 !important; }
	header.pj-header.pj-header--fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: #fff; box-shadow: 0 1px 0 var(--pj-line); }
	body.pj .pj-main { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 2px; padding: 10px 16px; }
	body.pj .pj-main .pj-logo { order: 1; flex: 1 1 auto; min-width: 0; margin: 0; }
	body.pj .pj-header a.pj-logo__text { display: inline-flex !important; align-items: center; gap: 6px; font-size: 18px; line-height: 1; white-space: nowrap; }
	body.pj .pj-header .pj-logo__mark { width: 28px; height: 28px; }
	body.pj .pj-main .pj-actions { order: 2; margin: 0; display: flex; align-items: center; gap: 0; }
	body.pj .pj-actions .pj-action { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 40px; min-width: 0; padding: 0; }
	body.pj .pj-actions .pj-action > span { display: none; }
	body.pj .pj-header .pj-action--cart .btn-group, body.pj .pj-header .pj-action--cart .top-cart-contain { display: flex !important; align-items: center; justify-content: center; height: 40px !important; width: 36px !important; margin: 0 !important; }
	body.pj .pj-header .pj-action--cart .btn-cart { height: 40px !important; width: 36px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; }
	body.pj .pj-main .pj-catbtn { order: 3; width: 44px; height: 44px; padding: 0; margin-left: 6px; justify-content: center; }
	body.pj .pj-main .pj-catbtn span { display: none; }
	body.pj .pj-main .pj-search { order: 4; flex: 1 1 100%; margin: 0; }
	body.pj .pj-header--compact .pj-main .pj-search { display: none; }
	body.pj .pj-header--compact .pj-main { padding-top: 8px; padding-bottom: 8px; }

	/* панель над товарами: «Фильтры» и сортировка в одну строку, «Найдено» ниже */
	body.pj .pj-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 10px; align-items: center; }
	body.pj .pj-toolbar .pj-filter__open { grid-column: 1; grid-row: 1; height: 44px; }
	body.pj .pj-toolbar__sort { grid-column: 2; grid-row: 1; justify-self: stretch; width: 100%; }
	body.pj .pj-toolbar__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	body.pj .pj-toolbar__sort select, body.pj .pj-toolbar__sort select.form-control { width: 100%; min-width: 0; }
	body.pj .pj-toolbar__note { grid-column: 1 / -1; grid-row: 2; }
	body.pj .pj-toolbar #input-limit { display: none; }
	body.pj .pj-cat:not(.pj-cat--filter) .pj-toolbar__sort, body.pj .pj-searchpage .pj-toolbar__sort { grid-column: 1 / -1; }

	/* «Решения» и «Услуги»: на телефоне общую фотографию первого экрана не показываем */
	.pj-solhero__img:has(picture) { display: none; }

	/* карточка товара: аккордеон вместо вкладок */
	body.pj .pj-product .pj-acc-on .pj-anchors { display: none; }
	body.pj .pj-product .pj-acc-on { margin-top: 32px; border-bottom: 1px solid var(--pj-line); }
	body.pj .pj-product .pj-acc-on .pj-figure, body.pj #content .pj-acc-on .pj-sec__title { display: none !important; }
	body.pj .pj-product .pj-acc-on .pj-acc__body:not(.is-open) { display: none !important; }
	body.pj .pj-product .pj-acc-on .pj-band, body.pj .pj-product .pj-acc-on .pj-band--surface { padding: 0; margin: 0; background: none; box-shadow: none; clip-path: none; --pj-band: transparent; }
	body.pj .pj-product .pj-acc-on .pj-band--dark { display: none; }
	body.pj .pj-product .pj-acc-on .pj-sk { display: block; margin: 0; }
	body.pj .pj-product .pj-acc-on .pj-sk__box, body.pj .pj-product .pj-acc-on .pj-features { border: 0; border-radius: 0; padding: 0 0 20px; margin: 0; }
	body.pj .pj-product .pj-acc-on .pj-use { background: none; padding: 0 0 20px; margin: 0; }
	body.pj .pj-product .pj-acc-on #tab-description.pj-sec { padding: 0 0 20px; }
	.pj-acc__head { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; border: 0; border-top: 1px solid var(--pj-line); background: none; font: inherit; font-size: 17px; font-weight: 600; color: var(--pj-ink); text-align: left; cursor: pointer; }
	.pj-acc__head::after { content: ""; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 4px 0 12px; transition: transform .2s; flex: none; }
	.pj-acc__head[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: 4px; }
}

/* ---------- 2.9.10: поиск — синяя кнопка вплотную к краю поля, без серой рамки вокруг; шапка телефона ---------- */
body.pj .pj-search, body.pj .pj-searchpage .pj-searchpage__form { border: 0; border-radius: var(--pj-radius); }
body.pj .pj-search input[type='search'], body.pj .pj-searchpage__form input[type='search'] { border: 1px solid var(--pj-line-strong); border-right: 0; border-radius: var(--pj-radius) 0 0 var(--pj-radius); }
body.pj .pj-search input[type='search']:focus, body.pj .pj-searchpage__form input[type='search']:focus { outline: 0; border-color: var(--pj-accent); }
body.pj .pj-search button, body.pj .pj-searchpage__form button { border-radius: 0 var(--pj-radius) var(--pj-radius) 0; }
@media (max-width: 767px) {
	/* иконки прижаты к правому краю; звонок и письмо отделены чертой от сравнения и корзины */
	body.pj .pj-main .pj-actions { margin-left: auto; }
	body.pj .pj-actions .pj-action--m { width: 40px; }
	body.pj .pj-actions .pj-action--cart + .pj-action--m { position: relative; margin-left: 9px; }
	body.pj .pj-actions .pj-action--cart + .pj-action--m::before { content: ""; position: absolute; left: -5px; top: 10px; bottom: 10px; border-left: 1px solid var(--pj-line-strong); }
	body.pj .pj-actions .pj-action--m svg { color: var(--pj-accent); }
}
@media (max-width: 389px) {
	/* узкие телефоны (360 px): всё в одну строку, меню не переносится */
	body.pj .pj-header a.pj-logo__text { font-size: 16px; gap: 6px; }
	body.pj .pj-header .pj-logo__mark { width: 26px; height: 26px; }
	body.pj .pj-actions .pj-action, body.pj .pj-header .pj-action--cart .btn-group, body.pj .pj-header .pj-action--cart .top-cart-contain, body.pj .pj-header .pj-action--cart .btn-cart { width: 32px !important; }
	body.pj .pj-actions .pj-action--m { width: 34px !important; }
	body.pj .pj-main .pj-catbtn { width: 40px; height: 40px; margin-left: 4px; }
}

/* ---------- 2.9.11: мобильные правки — сравнение, мини-корзина, количество ---------- */
/* сравнение: правило 2.7.2 «padding: 8px 0 80px» обнуляло боковые поля контейнера — текст прилипал к краю экрана */
body.pj .container.pj-cmp { padding: 8px 15px 80px; }
/* количество в карточке: «−», поле и «+» на одном белом фоне, между ними тонкие черты */
body.pj .pj-product .qty-product #minus, body.pj .pj-product .qty-product #plus { width: 44px; height: 44px; margin: 0; border: 0; border-radius: 0; box-shadow: none; background-color: #fff; }
body.pj .pj-product .qty-product #input-quantity { height: 44px; border-left: 1px solid var(--pj-line); border-right: 1px solid var(--pj-line); }
@media (hover: hover) { body.pj .pj-product .qty-product #minus:hover, body.pj .pj-product .qty-product #plus:hover { background-color: var(--pj-surface); } }
@media (max-width: 767px) {
	/* мини-корзина: окно под шапкой по ширине экрана, а не от иконки влево за край */
	body.pj .pj-action--cart #cart .dropdown-menu { position: fixed; top: 64px; left: 16px !important; right: 16px !important; width: auto; min-width: 0; max-height: calc(100vh - 96px); overflow-y: auto; margin: 0; }
	body.pj .pj-action--cart #cart .arrow-cart { display: none !important; }
	/* сравнение: узкая колонка названий, товары по 200 px, таблица листается вбок внутри рамки */
	.pj-compare__table { min-width: 100%; }
	.pj-compare__table[data-count="1"] { width: 330px; } .pj-compare__table[data-count="2"] { width: 530px; }
	.pj-compare__table[data-count="3"] { width: 730px; } .pj-compare__table[data-count="4"] { width: 930px; }
	.pj-compare__label { width: 130px; }
	.pj-compare__table th, .pj-compare__table td { padding: 12px 14px; font-size: 14px; }
	.pj-compare__img { height: 120px; }
	body.pj a.pj-compare__name { font-size: 15px; }
	.pj-compare__price { font-size: 18px; }
	.pj-compare__empty { padding: 24px 20px; }
}
/* служебные страницы на шаблонах темы (вход, регистрация, личный кабинет): «хлебные крошки» стоят вне контейнера — даём им поля */
body.pj > ul.breadcrumb { max-width: 1170px; margin: 12px auto 16px; padding: 0 15px; }

/* ---------- 2.9.12: мини-корзина, сравнение в плитке на телефоне ---------- */
/* мини-корзина: строки товаров сеткой (фото | название, количество и цена | удалить), итог, две кнопки одной высоты.
   Стили темы на float и absolute давали наложение кнопок после удаления товара и прятали цены. */
body.pj #cart .dropdown-menu { padding: 8px 16px 16px; }
body.pj #cart .dropdown-menu > li { list-style: none; }
body.pj #cart .row-cart { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: start; width: 100%; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--pj-line); }
body.pj #cart .row-cart .image-cart { width: 56px; float: none; }
body.pj #cart .row-cart .image-cart img { width: 56px; height: 56px; object-fit: contain; }
body.pj #cart .row-cart .cart-content { margin: 0; padding-right: 40px; position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: var(--pj-muted); }
body.pj #cart .cart-content .product-name { flex: 1 1 100%; }
body.pj #cart .cart-content .product-name a { font-size: 14px; line-height: 1.35; font-weight: 600; color: var(--pj-ink); }
body.pj #cart .cart-content > strong { font-size: 14px; font-weight: 400; color: var(--pj-muted); }
body.pj #cart .cart-content .cart-price { display: inline !important; font-size: 15px; font-weight: 700; color: var(--pj-ink); }
body.pj #cart .cart-content .cart-button { position: absolute; top: -6px; right: 0; width: 36px; height: 36px; background: none; }
body.pj #cart .cart-content .cart-button:hover { background: none; }
body.pj #cart .top-cart-contain .cart-content .cart-button button { position: static; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; background: none; }
body.pj #cart .top-cart-contain .cart-content .cart-button button:hover { background: var(--pj-surface); }
body.pj #cart .cart-content .cart-button svg path { fill: var(--pj-muted); }
body.pj #cart .row2-cart { padding-top: 12px; text-align: left; }
body.pj #cart .row2-cart .box-cart { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 6px; }
/* правило шапки «.pj-action span { display: none }» (подписи иконок на телефоне) прятало и цены с итогом внутри корзины */
body.pj #cart .dropdown-menu .box-cart span, body.pj #cart .dropdown-menu .cart-content span { display: inline; }
body.pj #cart .row2-cart .box-cart .text.align-left { float: none; }
body.pj #cart .row2-cart .box-cart .text strong { font-size: 14px; font-weight: 400; color: var(--pj-muted); }
body.pj #cart .row2-cart .box-cart .text1 { font-size: 15px; font-weight: 700; color: var(--pj-ink); }
body.pj #cart .row2-cart .button-cart { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; margin-top: 12px; }
body.pj #cart .row2-cart .button-cart a, body.pj #cart .row2-cart .button-cart a.link-checkout { float: none; width: auto; height: auto; min-height: 46px; display: flex; align-items: center; justify-content: center; padding: 0 10px; font-size: 15px; line-height: 1.2; white-space: nowrap; border-radius: 8px; }
body.pj #cart .row2-cart .button-cart a:not(.link-checkout) { background: #fff; border: 1px solid var(--pj-line-strong); color: var(--pj-ink); }
body.pj #cart .row2-cart .button-cart a:not(.link-checkout):hover { background: #fff; border-color: var(--pj-ink); color: var(--pj-ink); }
body.pj #cart .dropdown-menu p.text-center { margin: 12px 0 4px; font-size: 15px; color: var(--pj-muted); }

/* плитка товара: на телефоне кнопка «Сравнить» — круглая иконка в правом верхнем углу фото (в ряду кнопок ей не хватает места) */
@media (max-width: 420px) {
	.pj-card { position: relative; }
	.pj-card__actions .pj-btn--icon { display: inline-flex; position: absolute; top: 8px; right: 8px; z-index: 2; width: 36px; min-height: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .92); align-items: center; justify-content: center; }
	.pj-card__actions .pj-btn--icon svg { width: 18px; height: 18px; }
}
/* плитка: наличие как в карточке товара — цветная точка и цвет статуса (было серым текстом и терялось между характеристиками и ценой) */
.pj-card__stock { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: #05603A; }
.pj-card__stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.pj-card__foot { padding-top: 12px; }

/* ---------- 2.9.13: фильтр на телефоне, корзина ---------- */
/* кнопка «Показать товары» в панели фильтра — только на телефоне/планшете, где панель открывается на весь экран */
.pj-filter__done { display: none; }
@media (max-width: 991px) {
	/* закреплённая шапка закрывала верх панели с «×» — пока фильтр открыт, шапку прячем, страницу под панелью не прокручиваем */
	body.pj-filter-open { overflow: hidden; }
	body.pj-filter-open header.pj-header { display: none; }
	.pj-filter.is-open { padding-bottom: 0; }
	.pj-filter__head { position: sticky; top: -16px; z-index: 2; margin: -16px -16px 0; padding: 12px 16px; background: #fff; border-bottom: 1px solid var(--pj-line); }
	.pj-filter__done { display: flex; justify-content: center; position: sticky; bottom: 0; z-index: 2; width: calc(100% + 32px); min-height: 52px; margin: auto -16px 0; border-radius: 0; font-size: 16px; }
}
/* корзина: длинные суммы переносятся, а не раздвигают блок; поле количества — до 4 цифр */
.pj-summary__totals > div { min-width: 0; }
.pj-summary__totals dd { min-width: 0; overflow-wrap: anywhere; }
body.pj .pj-cartrow__qty input.form-control { width: 72px; }
.pj-cartrow__sum { overflow-wrap: anywhere; }

/* ---------- 2.9.14: телефон — без автоувеличения полей, значок у корзины ---------- */
@media (max-width: 767px) {
	/* iPhone увеличивает страницу при нажатии на поле со шрифтом меньше 16 px (количество в корзине, поиск, сортировка,
	   фильтр, вход) — после этого страница съезжает вбок. Во всех полях на телефоне — 16 px. */
	body.pj input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]),
	body.pj select, body.pj textarea { font-size: 16px !important; }
	/* значок количества у корзины и сравнения меньше и ближе к иконке — не заходит на черту перед звонком */
	body.pj .pj-actions .pj-badge { top: 3px; left: 50%; margin-left: -1px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; font-size: 10px; line-height: 16px; }
}
@media (max-width: 389px) { body.pj .pj-actions .pj-badge { margin-left: -7px; padding: 0 3px; } }
/* 2.9.15: кнопка «Сравнить» в плитке — на главной у кнопок свои поля 12px 16px, в круглой кнопке 36 px иконке оставалось 2 px (точка).
   Поля убираем, иконку не сжимаем — на всех страницах и ширинах. */
body.pj .pj-card__actions .pj-btn--icon { padding: 0 !important; }
body.pj .pj-card__actions .pj-btn--icon svg { flex: none; width: 18px; height: 18px; }
@media (min-width: 421px) { body.pj .pj-card__actions .pj-btn--icon svg { width: 20px; height: 20px; } }
/* 2.9.16: «Применение» — пункт без ссылки выглядит как плитка-ссылка, но без стрелки и перехода */
body.pj .pj-use__links .pj-use__item { display: block; background: #fff; border-radius: 12px; padding: 20px; font-weight: 600; color: var(--pj-ink); }
/* 2.9.19: характеристики — строка без метки (текст, подпись раздела) на всю ширину */
body.pj .pj-rows > div.pj-rows__full > span { flex: 1 1 100%; text-align: left; color: var(--pj-ink); font-family: inherit; font-weight: 400; }
/* 2.9.20: характеристики — подзаголовок группы («Стандартный набор диапазонов», «Технические характеристики») */
body.pj .pj-rows > div.pj-rows__head { padding-top: 20px; break-inside: avoid; }
body.pj .pj-rows > div.pj-rows__head > span { font-weight: 600; font-size: 15px; }
body.pj .pj-rows > div.pj-rows__head:first-child { padding-top: 6px; }
/* 2.9.21: описание товара — чётное число плиток (2, 4, 6) идёт по две в ряд, без одинокой плитки в последнем ряду */
@media (min-width: 768px) { body.pj .pj-product .pj-ocards.pj-ocards--even, body.pj .pj-product .pj-tabs-on .pj-ocards.pj-ocards--even { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* 2.9.22: три плитки — на компьютере три в ряд, на планшете две и третья на всю ширину, на телефоне одна под другой */
@media (min-width: 1200px) { body.pj .pj-product .pj-ocards.pj-ocards--three, body.pj .pj-product .pj-tabs-on .pj-ocards.pj-ocards--three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 768px) and (max-width: 1199px) {
	body.pj .pj-product .pj-ocards.pj-ocards--three, body.pj .pj-product .pj-tabs-on .pj-ocards.pj-ocards--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.pj .pj-product .pj-ocards.pj-ocards--three > .pj-ocard:not(.pj-ocard--wide):last-child { grid-column: 1 / -1; }
}
/* список внутри плитки описания (например, «Преимущества») */
body.pj .pj-ocard .pj-sec__body ul { margin: 0; padding-left: 18px; }
body.pj .pj-ocard .pj-sec__body li { margin: 0 0 10px; }
body.pj .pj-ocard .pj-sec__body li:last-child { margin-bottom: 0; }
/* блок со списком — на всю ширину, список в две колонки (на телефоне — одна) */
body.pj .pj-product .pj-ocards > .pj-ocard--wide { grid-column: 1 / -1; }
@media (min-width: 768px) { body.pj .pj-ocard--wide .pj-sec__body ul, body.pj .pj-ocard--wide .pj-sec__body ol { columns: 2; column-gap: 40px; } body.pj .pj-ocard--wide .pj-sec__body li { break-inside: avoid; } }
/* плитки описания укладываются плотно: если блок на всю ширину стоит в середине, обычные блоки всё равно встают парой, без пустых мест */
body.pj .pj-product .pj-ocards { grid-auto-flow: row dense; }
/* 2.9.26: характеристики — диапазон частот или размеров не разрывается переносом строки */
body.pj .pj-rows .pj-nw { white-space: nowrap; }
