.mpkm-sol-editorial {
  --sol-ink: #17191c;
  --sol-muted: #5f6670;
  --sol-line: #dfe2e6;
  --sol-soft: #f5f6f7;
  --sol-yellow: #f2c100;
  --sol-blue: #246fce;
  color: var(--sol-ink);
}

.mpkm-sol-editorial > section,
.mpkm-sol-editorial > aside {
  margin: clamp(28px, 5vw, 64px) 0;
  scroll-margin-top: 120px;
}

.mpkm-sol-editorial h2 {
  margin: 0 0 18px;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.12;
}

.mpkm-sol-editorial h3 {
  margin: 22px 0 12px;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.25;
}

.mpkm-sol-editorial p,
.mpkm-sol-editorial li {
  line-height: 1.6;
}

.mpkm-sol-editorial ul,
.mpkm-sol-editorial ol {
  margin: 0;
  padding-left: 1.35em;
}

.mpkm-sol-editorial li + li {
  margin-top: 8px;
}

.mpkm-sol-lead {
  max-width: 899px;
  margin: 0;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.5 !important;
}

.mpkm-sol-system-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 18px;
  margin-top: 24px;
}

.mpkm-sol-system-option {
  min-width: 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--sol-line);
  border-top: 5px solid var(--sol-yellow);
  border-radius: 14px;
  background: #fff;
}

.mpkm-sol-system-option h3 {
  margin-top: 0;
}

.mpkm-sol-system-option p {
  margin: 10px 0 0;
}

.mpkm-sol-system-note {
  padding-top: 12px;
  border-top: 1px solid var(--sol-line);
  color: var(--sol-muted);
}

.mpkm-sol-steps ol {
  display: grid;
  gap: 12px;
  padding: 0;
  counter-reset: sol-step;
  list-style: none;
}

.mpkm-sol-steps li {
  position: relative;
  min-height: 48px;
  padding: 12px 16px 12px 62px;
  border-left: 1px solid var(--sol-line);
  counter-increment: sol-step;
}

.mpkm-sol-steps li::before {
  position: absolute;
  top: 8px;
  left: 10px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--sol-yellow);
  color: #111;
  font-weight: 700;
  content: counter(sol-step);
}

.mpkm-sol-calc {
  padding: clamp(22px, 4vw, 36px);
  border-radius: 14px;
}

/* Оформление «Технических ограничений» и стоп-условий целиком передано слою
   solutions-limits.css: там оба блока приведены к нейтральному инженерному
   виду. Прежние здешние правила (красная полоса #d5483e и розовая заливка
   #fff4f2) сняты, чтобы одно и то же не задавалось в двух файлах. */

.mpkm-sol-calc {
  border-left: 6px solid var(--sol-yellow);
  background: #fff8d8;
}

.mpkm-sol-limits h2,
.mpkm-sol-calc h2 {
  font-size: clamp(22px, 2.5vw, 30px);
}

.mpkm-sol-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 10px 20px;
  border: 2px solid #17191c;
  border-radius: 9px;
  background: #17191c;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}

.mpkm-sol-button:hover {
  background: #fff;
  color: #17191c !important;
}

.mpkm-sol-editorial a:focus-visible,
.mpkm-sol-editorial summary:focus-visible {
  outline: 3px solid var(--sol-blue);
  outline-offset: 3px;
}

.mpkm-sol-reading,
.mpkm-sol-sources,
.mpkm-sol-passport-copy {
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--sol-line);
  border-radius: 14px;
  background: var(--sol-soft);
}

.mpkm-sol-reading a,
.mpkm-sol-sources a {
  color: #135da9;
  text-underline-offset: 3px;
}

.mpkm-sol-faq details {
  border-top: 1px solid var(--sol-line);
}

.mpkm-sol-faq details:last-child {
  border-bottom: 1px solid var(--sol-line);
}

.mpkm-sol-faq summary {
  padding: 18px 36px 18px 0;
  cursor: pointer;
  font-weight: 700;
}

.mpkm-sol-faq details p {
  max-width: 899px;
  margin: 0;
  padding: 0 0 20px;
}

@media (max-width: 640px) {
  .mpkm-sol-editorial > section,
  .mpkm-sol-editorial > aside {
    margin: 32px 0;
  }

  .mpkm-sol-system-option,
  .mpkm-sol-reading,
  .mpkm-sol-sources,
  .mpkm-sol-passport-copy,
  .mpkm-sol-calc {
    border-radius: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mpkm-sol-editorial * {
    scroll-behavior: auto !important;
  }
}

/* ── Ревизия 2026-08-13: компоновка вариантов системы ───────────────────────
   Было: каждая роль слоя — отдельная полноширинная группа, а внутри неё сетка
   на пять колонок с единственным товаром в первой. На 1366 px это давало
   колонну карточек слева и 60–80 % пустого поля справа, а один вариант
   вытягивался на 2,3–2,7 тысячи пикселей.

   Стало: роли сами укладываются в отзывчивую сетку и заполняют ширину,
   внутри роли товары идут одним столбцом. Семантика «вариант → роль слоя →
   способ выбора → товар» не меняется, меняется только представление. */
.mpkm-sol-system__roles{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(258px,1fr));
  gap:14px 16px;
  align-items:start;
  margin-top:14px;
}
.mpkm-sol-rolegrp{
  display:flex; flex-direction:column; gap:9px;
  padding:12px 12px 14px;
  background:var(--sol-wash,#f7f5f1);
  border:1px solid var(--sol-line,#ecebe7);
  border-radius:11px;
  min-width:0;
}
.mpkm-sol-rolegrp__lab{
  margin:0; font-size:13px; font-weight:700; line-height:1.35;
  color:var(--sol-ink,#15161a); display:flex; flex-direction:column; gap:3px;
}
.mpkm-sol-rolegrp__sel{
  font-size:11.5px; font-weight:600; color:var(--sol-mut,#6e7178);
  text-transform:lowercase; letter-spacing:.01em;
}
/* внутри роли — один столбец: альтернативы идут друг под другом,
   а не растягивают строку на всю ширину экрана */
.mpkm-sol-rolegrp .mpkm-sol-pgrid{
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  background:#fff; border-radius:8px;
}
.mpkm-sol-rolegrp .mpkm-sol-pitem{min-width:0}
.mpkm-sol-rolegrp .pr-block__item{padding:8px}
.mpkm-sol-rolegrp .pr-block__pic{margin-bottom:6px}

/* карточка варианта: заголовок системы и условие читаются как одно целое */
.mpkm-sol-system{
  border:1px solid var(--sol-line2,#e4e1db); border-radius:14px;
  padding:18px 18px 20px; background:#fff; margin:0 0 16px;
}
.mpkm-sol-system__head{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin-bottom:6px}
.mpkm-sol-system__head h3{margin:0; font-size:19px; line-height:1.25}
.mpkm-sol-system__sys{margin:0; font-size:13px; font-weight:700; color:var(--sol-brand-d,#8a6d00)}
.mpkm-sol-system__when{margin:0 0 4px; font-size:14.5px; line-height:1.6; color:var(--sol-ink2,#5b5e66)}
.mpkm-sol-system__note{margin:12px 0 0; font-size:13.5px; line-height:1.6; color:var(--sol-mut,#6e7178)}
.mpkm-sol-system__empty{
  margin:12px 0 0; padding:12px 14px; font-size:14px; line-height:1.6;
  color:var(--sol-ink2,#5b5e66);
  background:var(--sol-wash,#f7f5f1); border-left:3px solid var(--sol-brand,#fecc2f); border-radius:8px;
}
.mpkm-sol-systems{display:block}

/* этапы работ и ограничения */
.mpkm-sol-worksteps{margin:14px 0 0; padding-left:1.35em; display:flex; flex-direction:column; gap:9px}
.mpkm-sol-worksteps li{line-height:1.6}
/* .mpkm-sol-limits — см. solutions-limits.css (единственный владелец) */
/* диагностика */
/* Тот же маркер, что и в списке контроля: серое кольцо было ещё одной
   собственной формой раздела, которой нет на остальном сайте. */
.mpkm-sol-dlist{margin:12px 0 0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:8px 20px}
.mpkm-sol-dlist > li{position:relative; padding-left:24px; line-height:1.55}
.mpkm-sol-dlist > li::before{content:"";position:absolute;left:0;top:.62em;
  width:13px;height:3px;border-radius:2px;background:var(--sol-brand,#fecc2f)}

/* карточки задач: одинаковая геометрия независимо от длины названия */
.mpkm-sol-task__title{display:block; min-height:2.7em}

@media (max-width:699px){
  .mpkm-sol-system__roles{grid-template-columns:minmax(0,1fr)}
  .mpkm-sol-system{padding:14px}
  .mpkm-sol-task__title{min-height:0}
}

/* карточки задач: одинаковая высота строк сетки, чтобы одиночная карточка
   в последнем ряду не была ниже соседей */
.mpkm-sol-cards{grid-auto-rows:1fr}
.mpkm-sol-cards > a.mpkm-sol-task{align-self:stretch}

/* ==========================================================================
   ИНЖЕНЕРНАЯ МАТРИЦА (2026-08-13): вариант → роль → альтернативы.
   Роль — самостоятельная карточка: назначение, условие выбора, число
   подтверждённых альтернатив, три карточки товара и компактный список
   остальных. Так страница показывает ассортимент, не превращаясь в выдачу.
   ========================================================================== */
.mpkm-sol-variants{display:grid;gap:14px}
.mpkm-sol-variant{border:1px solid var(--sol-line,#e6e5e0);border-radius:16px;background:#fff;overflow:hidden}
/* декоративной тени у раскрытого варианта нет */
.mpkm-sol-variant__sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;
  padding:16px 20px;cursor:pointer;list-style:none;min-height:44px;background:#faf9f6}
.mpkm-sol-variant__sum::-webkit-details-marker{display:none}
.mpkm-sol-variant__sum::after{content:'';margin-left:auto;width:11px;height:11px;flex:none;
  border-right:2.5px solid #15161a;border-bottom:2.5px solid #15161a;transform:rotate(45deg);
  transition:transform .18s;align-self:center}
.mpkm-sol-variant[open]>.mpkm-sol-variant__sum::after{transform:rotate(-135deg)}
.mpkm-sol-variant__no{font:700 12px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:#6b6a66;background:#fecc2f;color:#2e2e2e;padding:6px 9px;border-radius:7px}
.mpkm-sol-variant__name{font:700 19px/1.25 Inter,system-ui,sans-serif;color:#15161a}
.mpkm-sol-variant__meta{font:400 13px/1.3 Inter,system-ui,sans-serif;color:#6b6a66}
.mpkm-sol-variant__body{padding:18px 20px 22px;border-top:1px solid var(--sol-line,#e6e5e0)}
.mpkm-sol-variant__when{margin:0 0 14px;font:400 15px/1.55 Inter,system-ui,sans-serif;color:#3b3c40;max-width:78ch}
.mpkm-sol-variant__stop{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#fff6e5;
  border:1px solid #f2c100;font:400 14px/1.5 Inter,system-ui,sans-serif;color:#3b3c40}
.mpkm-sol-variant.is-partial>.mpkm-sol-variant__sum{background:#fff9ec}

.mpkm-sol-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}
.mpkm-sol-role{border:1px solid var(--sol-line,#e6e5e0);border-radius:14px;padding:14px 15px 12px;background:#fff;
  display:flex;flex-direction:column;gap:8px;min-width:0}
.mpkm-sol-role.is-req{border-left:4px solid #15161a}
.mpkm-sol-role.is-cond{border-left:4px solid #d9d8d3}
.mpkm-sol-role.is-empty{background:#faf9f6}
.mpkm-sol-role__head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.mpkm-sol-role__name{margin:0;font:700 16px/1.3 Inter,system-ui,sans-serif;color:#15161a}
.mpkm-sol-role__flag{font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;
  color:#6b6a66;border:1px solid var(--sol-line,#e6e5e0);border-radius:20px;padding:5px 9px;white-space:nowrap}
.mpkm-sol-role.is-req .mpkm-sol-role__flag{color:#15161a;border-color:#15161a}
.mpkm-sol-role__purpose{margin:0;font:400 14px/1.5 Inter,system-ui,sans-serif;color:#3b3c40}
.mpkm-sol-role__driver{margin:0;font:400 13px/1.5 Inter,system-ui,sans-serif;color:#6b6a66}
.mpkm-sol-role__driver b{color:#3b3c40;font-weight:600}
.mpkm-sol-role__count{margin:0;font:600 13px/1.4 Inter,system-ui,sans-serif;color:#15161a}
.mpkm-sol-role__none{margin:0;font:400 14px/1.5 Inter,system-ui,sans-serif;color:#3b3c40;
  background:#fff6e5;border-radius:10px;padding:10px 12px}
.mpkm-sol-role__cards{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.mpkm-sol-role__cards .mpkm-sol-pitem{min-width:0}

.mpkm-sol-alt,.mpkm-sol-rule{border-top:1px solid var(--sol-line,#e6e5e0);padding-top:8px}
.mpkm-sol-alt>summary,.mpkm-sol-rule>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;
  font:600 13px/1.3 Inter,system-ui,sans-serif;color:#15161a}
.mpkm-sol-alt>summary::-webkit-details-marker,.mpkm-sol-rule>summary::-webkit-details-marker{display:none}
.mpkm-sol-alt>summary::before,.mpkm-sol-rule>summary::before{content:'+';margin-right:8px;font-weight:700;color:#6b6a66}
.mpkm-sol-alt[open]>summary::before,.mpkm-sol-rule[open]>summary::before{content:'–'}
.mpkm-sol-rule>summary{color:#6b6a66;font-weight:400}
.mpkm-sol-rule p{margin:4px 0 6px;font:400 12px/1.5 Inter,system-ui,sans-serif;color:#6b6a66}
.mpkm-sol-alt__list{list-style:none;margin:4px 0 6px;padding:0;display:grid;gap:2px}
.mpkm-sol-alt__list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 0;
  border-bottom:1px solid #f2f1ed;min-height:44px}
.mpkm-sol-alt__list li:last-child{border-bottom:0}
.mpkm-sol-alt__list a{display:flex;align-items:center;min-height:44px;font:400 14px/1.4 Inter,system-ui,sans-serif;
  color:#15161a;text-decoration:none;flex:1 1 200px;min-width:0}
.mpkm-sol-alt__list a span{border-bottom:1px solid #d9d8d3}
.mpkm-sol-alt__list a:hover{border-color:#15161a}
.mpkm-sol-alt__price{font:600 14px/1.4 Inter,system-ui,sans-serif;color:#15161a;white-space:nowrap}
.mpkm-sol-alt__stock{font:400 12px/1.4 Inter,system-ui,sans-serif;color:#6b6a66;white-space:nowrap}
.mpkm-sol-alt__stock.is-in{color:#1b7a3d}

.mpkm-sol-prep__text{margin:0 0 10px;font:400 15.5px/1.55 Inter,system-ui,sans-serif;color:#3b3c40;max-width:78ch}

/* ── Список контроля: маркер как во всех обычных списках mpkm.org ──────────
   Прежде здесь стояла зелёная галочка — поворот на −45° и две границы, — а
   слой конфигуратора добавлял поверх жёлтую заливку со скруглением. Свойства
   складывались в одном ::before, и получался жёлто-зелёный ромб, которого
   нет больше нигде на сайте. Правило конфигуратора снято; здесь остаётся
   единственный владелец оформления.

   Форма маркера взята из канона сайта — mpkm-ui.css (правовые тексты, пункты
   договора, перечень документов) и mpkm-rhythm9.css (статьи и новости):
   короткая горизонтальная жёлтая черта 13×3 без границы и без поворота. */
.mpkm-sol-clist{margin:0;padding:0;list-style:none;display:grid;gap:8px;max-width:78ch}
.mpkm-sol-clist > li{position:relative;padding-left:24px;
  font:400 15px/1.55 Inter,system-ui,sans-serif;color:#3b3c40}
.mpkm-sol-clist > li::before{content:"";position:absolute;left:0;top:.62em;
  width:13px;height:3px;border-radius:2px;background:var(--sol-brand,#fecc2f)}
/* .mpkm-sol-stop — см. solutions-limits.css (единственный владелец) */
.mpkm-sol-stop__lab{margin:0 0 8px;font:700 15px/1.4 Inter,system-ui,sans-serif;color:#15161a}
.mpkm-sol-stop__note{margin:10px 0 0;font:400 13px/1.5 Inter,system-ui,sans-serif;color:#6b6a66}

/* Легенда схемы — см. mpkm-solutions.css, слой шапки (единственный владелец) */

@media (max-width:640px){
  .mpkm-sol-variant__sum{padding:14px 15px}
  .mpkm-sol-variant__body{padding:14px 15px 18px}
  .mpkm-sol-roles{grid-template-columns:minmax(0,1fr)}
  .mpkm-sol-variant__name{font-size:17px}
}

/* ==========================================================================
   КОРЕНЬ И НАПРАВЛЕНИЯ: навигация инженерного магазина.
   Одинаковая геометрия блоков, схема направления вместо снимка товара,
   прямые ссылки на задачи вместо ста одинаковых плиток.
   ========================================================================== */
.mpkm-sol-search--lead{margin:18px 0 10px;max-width:640px}
.mpkm-sol-dirgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;
  align-items:stretch;grid-auto-rows:1fr}
.mpkm-sol-dirblock{height:100%;display:flex;flex-direction:column;gap:10px;padding:16px 16px 18px;
  border:1px solid var(--sol-line,#e6e5e0);border-radius:16px;background:#fff;min-width:0}
.mpkm-sol-dirblock__pic{display:block;border-radius:12px;overflow:hidden;background:#f7f6f2;
  border:1px solid var(--sol-line,#e6e5e0)}
.mpkm-sol-dirblock__pic img{display:block;width:100%;height:auto;aspect-ratio:640/420;object-fit:cover}
.mpkm-sol-dirblock__name{margin:0;font:700 19px/1.3 Inter,system-ui,sans-serif}
.mpkm-sol-dirblock__name a{display:flex;align-items:center;min-height:44px;color:#15161a;text-decoration:none}
.mpkm-sol-dirblock__name a:hover{text-decoration:underline;text-underline-offset:3px}
.mpkm-sol-dirblock__count{margin:0;font:600 13px/1.3 Inter,system-ui,sans-serif;color:#6b6a66}
.mpkm-sol-dirblock__list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.mpkm-sol-dirblock__list li{border-top:1px solid #f2f1ed}
.mpkm-sol-dirblock__list a{display:flex;align-items:center;min-height:44px;padding:6px 0;
  font:400 15px/1.4 Inter,system-ui,sans-serif;color:#15161a;text-decoration:none}
.mpkm-sol-dirblock__list a:hover{color:#0f5cc4;text-decoration:underline;text-underline-offset:3px}
.mpkm-sol-dirblock__more{margin:0}
.mpkm-sol-dirblock__more>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;
  font:600 14px/1.3 Inter,system-ui,sans-serif;color:#15161a;border-top:1px solid #f2f1ed}
.mpkm-sol-dirblock__more>summary::-webkit-details-marker{display:none}
.mpkm-sol-dirblock__more>summary::before{content:'+';margin-right:8px;font-weight:700;color:#6b6a66}
.mpkm-sol-dirblock__more[open]>summary::before{content:'–'}
.mpkm-sol-dirblock__soon{margin:0;font:400 14px/1.5 Inter,system-ui,sans-serif;color:#6b6a66}
.mpkm-sol-dirblock__all{margin-top:auto;align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;
  font:600 14px/1.3 Inter,system-ui,sans-serif;color:#15161a;text-decoration:none;
  border-bottom:2px solid #fecc2f}
.mpkm-sol-dirblock__all:hover{border-color:#15161a}
.mpkm-sol-sechead--band{margin:34px 0 16px}
@media (max-width:640px){
  .mpkm-sol-dirgrid{grid-template-columns:minmax(0,1fr)}
  .mpkm-sol-dirblock__name{font-size:17px}
}

/* Цели нажатия внутри раздела: название товара в карточке, ссылка направления
   в шапке решения и раскрытия должны иметь высоту не меньше 44 px. */
/* Вес селектора поднят до #wrapper: правила карточки товара в основном файле
   темы объявлены через #wrapper и иначе перебивают эти. */
/* В mpkm-ui.css у названия товара стоит display:inline !important, при котором
   min-height не действует; в разделе название делаем полноценной целью нажатия. */
/* Название товара в карточке объявлено в mpkm-ui.css как display:inline !important,
   поэтому min-height к нему неприменим. Зона нажатия увеличивается вертикальными
   отступами: у строчного элемента они входят в область попадания и не меняют вёрстку. */
#wrapper .mpkm-solutions .mpkm-sol-pitem .grid4__item.pr-block__item .pr-block__title a{
  padding-block:13px}
#wrapper .mpkm-solutions .mpkm-sol-pitem a:not(.pr-block__pic-link):not([class]){min-height:44px}
#wrapper .mpkm-solutions .mpkm-sol-kicker a{display:inline-flex;align-items:center;min-height:44px}
#wrapper .mpkm-solutions details>summary{min-height:44px}
#wrapper .mpkm-solutions .mpkm-cta__pname{display:inline-flex;align-items:center;min-height:44px}
#wrapper .mpkm-solutions .mpkm-hero-meta a{display:inline-flex;align-items:center;min-height:44px}
/* Телефон и почта в карточке специалиста: на широком экране высота строки
   опускалась до 32 px, теперь это полноценные цели нажатия. */
#wrapper .mpkm-solutions a.mpkm-cta__pc{display:inline-flex;align-items:center;min-height:44px}
