/* Сгенерировано bin/seed_newindex_2_content.php: слой стыковки движка BablO$ с макетом. */

/* form.bf-form рендерит движок форм; раскладку несут обёртки макета (.qform/.cform/.ask) */
.qform > .bf-form, .cform > .bf-form, .qa__ask > .bf-form { display: contents; }

/* сообщение об отправке (движок форм) */
.bf-msg { margin-top: .85rem; padding: .7rem 1rem; border-radius: 10px; font-size: .9rem; }
.bf-msg.bf-ok  { background: #e7f6ec; color: #1c7c3c; }
.bf-msg.bf-err { background: #fdecec; color: #b42318; }
.qform .bf-msg.bf-ok, .cform .bf-msg.bf-ok { background: rgba(255,255,255,.14); color: #fff; }
.qform .bf-msg.bf-err, .cform .bf-msg.bf-err { background: rgba(255,80,80,.18); color: #ffd7d7; }

/* звёзды отзыва: количество — в data-переменной --rn (в MIGX/pdo-строках нет циклов) */
.rev__stars { --rn: 5; width: calc(var(--rn) * 17px); height: 15px; flex: none;
  background: #f2b01e;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%204%202.4%205%205.6.7-4.1%203.9%201.1%205.4L12%2016.3%206.9%2019l1.1-5.4-4-4%205.6-.7L12%204Z%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%204%202.4%205%205.6.7-4.1%203.9%201.1%205.4L12%2016.3%206.9%2019l1.1-5.4-4-4%205.6-.7L12%204Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-size: 17px 15px; mask-size: 17px 15px;
  -webkit-mask-repeat: repeat-x; mask-repeat: repeat-x; }

/* последний пункт крошек — не ссылка (модификатор в данных + CSS: условий в движке нет) */
.crumbs__i.is-current a { pointer-events: none; color: var(--ink); font-weight: 500;
  text-decoration: none; cursor: default; }

/* Тексты страниц — ЧИСТЫЙ MARKDOWN (mdToHtml): голым тегам внутри .prose__txt/.artBody
   придаём вид макетных .h2/.arrows/.nums/.callout (значения скопированы из style.css) */
.prose__txt h2, .artBody h2 { font-size: var(--fs-h2); font-weight: 800; line-height: 1.14;
  font-family: var(--f-head); margin: 1.9rem 0 .85rem; }
.prose__txt h3, .artBody h3 { font-size: var(--fs-h3); font-weight: 700; line-height: 1.25;
  font-family: var(--f-head); margin: 1.5rem 0 .7rem; }
.prose__txt h2:first-child, .artBody h2:first-child { margin-top: 0; }
.prose__txt ul, .artBody ul { display: grid; gap: .55rem; margin: 1.1rem 0; padding: 0; list-style: none; }
.prose__txt ul > li, .artBody ul > li {
  position: relative;
  padding: .6rem .9rem .6rem 2.5rem;
  background: var(--slab-2);
  border-left: 3px solid var(--sky-300);
  border-radius: 0 var(--r-in) var(--r-in) 0; }
.prose__txt ul > li::before, .artBody ul > li::before {   /* стрелка .arrows — маской */
  content: ""; position: absolute; left: .9rem; top: .95rem; width: 18px; height: 18px;
  background: var(--accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6.5L19.5 12 13 18.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6.5L19.5 12 13 18.5'/%3E%3C/svg%3E") center/contain no-repeat; }
.prose__txt ol, .artBody ol { display: grid; gap: .55rem; margin: 1.1rem 0; padding: 0;
  list-style: none; counter-reset: nums; }
.prose__txt ol > li, .artBody ol > li {
  display: flex; gap: .8rem; align-items: flex-start;
  padding: .6rem .9rem;
  background: var(--slab-2);
  border-left: 3px solid var(--sky-300);
  border-radius: 0 var(--r-in) var(--r-in) 0;
  counter-increment: nums; }
.prose__txt ol > li::before, .artBody ol > li::before {
  content: counter(nums, decimal-leading-zero);
  flex: none; margin-top: .1rem;
  font-family: var(--f-head); font-weight: 800; font-size: var(--fs-s);
  letter-spacing: .04em; color: var(--accent-700); }
.prose__txt blockquote, .artBody blockquote {   /* врезка .callout */
  position: relative; margin: 1.1rem 0; padding: 1.05rem 1.25rem;
  background: var(--sky-100);
  border-left: 4px solid var(--accent);
  border-radius: 0 var(--r-card) var(--r-card) 0;
  color: var(--ink-2); font-weight: 500; }
.prose__txt img, .artBody img { max-width: 100%; border-radius: var(--r-card); margin: 1.1rem 0; }
.prose__txt table, .artBody table {   /* таблицы markdown (цены, сроки, сравнения) */
  width: 100%; margin: 1.1rem 0;
  border-collapse: separate; border-spacing: 0;
  font-size: var(--fs-s);
  border: 1px solid var(--line); border-radius: var(--r-in);
  overflow: hidden; }
.prose__txt th, .artBody th {
  padding: .7rem .9rem; text-align: left;
  background: var(--accent-600); color: #fff;
  font-family: var(--f-head); font-weight: 700; letter-spacing: .02em; }
.prose__txt td, .artBody td {
  padding: .65rem .9rem;
  background: #fff;
  border-top: 1px solid var(--line);
  vertical-align: top; }
.prose__txt tbody tr:nth-child(even) td, .artBody tbody tr:nth-child(even) td { background: var(--slab-2); }
.prose__txt td:last-child, .artBody td:last-child { font-weight: 600; color: var(--ink); }
@media (max-width: 47.99em) {   /* на мобиле таблица скроллится, страницу не распирает */
  .prose__txt table, .artBody table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Секция «Наши партнёры» на главной (данные — MIGX partners, вывод ch_partners_wrap).
   Классы partners__* — со старого сайта, стили заданы здесь в пластике нового макета */
.partners__list { display: grid; gap: var(--gap); grid-template-columns: repeat(2, 1fr);
  margin-top: .5rem; padding: 0; list-style: none; }
@media (min-width: 48em) { .partners__list { grid-template-columns: repeat(4, 1fr); } }
.partners__link { display: grid; place-items: center; min-height: 6rem; padding: 1.1rem 1.25rem;
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-in);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t); }
.partners__link:hover { transform: translateY(-2px); box-shadow: var(--sh-2);
  border-color: var(--sky-300); }
.partners__img { max-width: 100%; height: auto; max-height: 56px;
  filter: grayscale(1) opacity(.72); transition: filter var(--t); }
.partners__link:hover .partners__img { filter: none; }

/* Сайдбар-аккордеон: подпункты свернуты по умолчанию (<details>), стрелка-шеврон
   раскрывает раздел (поворот — приём .drop макета); плавную высоту даёт enhance.js */
.sb__drop > summary { list-style: none; display: flex; align-items: center; cursor: pointer; }
.sb__drop > summary::-webkit-details-marker { display: none; }
.sb__drop .sb__link { flex: 1 1 auto; min-width: 0; }
.sb__caret { flex: none; display: grid; place-items: center; width: 28px; height: 28px;
  margin-left: .15rem; border-radius: 8px; color: var(--accent-700); }
.sb__caret svg { transition: transform var(--t); }
.sb__caret:hover { background: #fff; }
.sb__drop[open] > summary .sb__caret svg { transform: rotate(180deg); }
.sb__drop.sb__drop--leaf .sb__caret { display: none; }          /* без подпунктов стрелка не нужна */
.sb__drop .sb__sub { overflow: hidden; }