/* НефтеХимСырье — «О компании» (.ab-*).
   Правила — site/SPACING.md: отступы только --s-* и производные токены (ступени на 640/1024, без clamp(vw));
   радиусы: пилюля — однострочное, --r-card 16 — карточки и панели, --r-inner 8 — вложенное; квадратных плашек нет.
   Наведение — смена фона или рамки за --t-hover, без свечения, подъёма и янтаря (янтарь — только у главных кнопок).
   Межстрочные текста до 20 px кратны 4. Янтарь — действия и метки разделов; цифры — цветом текста.
   Данные — списками и таблицами, без декоративных сцен (медальоны заводов убраны 08.10).
   Общие примитивы страницы (.phero, крошки, .prose) — в pages.css. Стили «Контактов» (.ct-*) — тоже в pages.css.
   Владелец: «О компании». */

/* ============================================================ общее */
/* кегль, трекинг и мера (--measure-h2) — из .t-h2; метка → H2 12 (§13.7) */
.ab-h2 { margin-top: var(--gap-eyebrow); }   /* оптический край — общий, base.css */
.ab-head { margin-bottom: var(--section-head); }
/* без переноса: «заводов-изготовителей» в H1 и единицы «мм²/с» в карточке SN-150 */
.ab-nobr { white-space: nowrap; }
.ab-plist__go, .ab-pass__ico, .ab-pass__go, .ab-pass__link svg {
  fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}

/* ============================================================ первый экран: что мы делаем
   шапка страницы по SPACING §3: крошки на --page-top, крошки → H1 24, H1 → текст 16, шапка → содержимое 32/48 */
.ab-top { padding-top: var(--page-top); padding-bottom: var(--block-gap); }
/* под дугой ⌒ (ui.pagecap, data-until = .ab-top__grid): текст с цифрами → метка «01 — Заводы» = --cap-gap, как на «Контактах»
   и в каталоге. У полосы «Заводы» свой padding-top --section, поэтому здесь — только разница (как у товара, ui.css):
   было --cap-gap + --section (315 на 1440 — двойная пауза, §3). Плиток разделов под цифрами больше нет */
.pcap ~ .ab-top { padding-bottom: max(0px, var(--cap-gap) - var(--section)); }
/* концы дуги ⌒ и отсвет у края экрана опускаются ниже --cap-gap (прогиб у края экрана больше, чем у края контейнера):
   непрозрачный верх полосы «Заводы» срезал их прямой линией. Верх полосы — прозрачный на --section (полоса поднялась на него),
   дальше переход к фону полосы на 128: заливка начинается там же, где раньше, — на --cap-gap под текстом.
   На всех ширинах (своего правила от 1600 в ui.css больше нет) */
.pcap ~ .ab-plants.section--band {
  background: linear-gradient(to bottom, transparent var(--section), var(--bg-2) calc(var(--section) + var(--s-10)));
}
.ab-top .crumbs-nav { margin-bottom: var(--s-5); }
/* H1 — общий кегль, межстрочный, трекинг и мера шапки страницы (.t-h1, SPACING §13.2), оптический край — общий (base.css).
   «заводов-изготовителей» не рвём по дефису (.ab-nobr). В Plex 32 px это слово (≈ 362) шире контейнера 358, поэтому в чанке
   модификатор .t-h1--long (§13.2 п. 2: кегль и межстрочный H2, начертание и трекинг H1) — но только < 640:
   с 640 слово встаёт и в полный H1 (48 px ≈ 543 < 608), там возвращаем ступень H1. На < 640 H1 в три строки */
@media (min-width: 640px) {
  .ab-top__title.t-h1--long { font-size: var(--fs-h1); line-height: var(--lh-h1); }
}
/* предлог «от» не висит в конце строки (§13.8): «от заводов-изготовителей —» одной строкой (48 px ≈ 621).
   Встаёт с контейнера 672 (вьюпорт 720); уже — строка «Сырьё от», как на телефоне */
@media (min-width: 720px) {
  .ab-top__of { white-space: nowrap; }
}
/* 12 колонок с --col-gap (SPACING §3): текст 8 + цифры 4. Колонки одной высоты:
   верх цифр = верх лида, низ цифр = низ кнопок (лид сверху, кнопки снизу). */
.ab-top__grid {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--s-5) var(--col-gap); align-items: stretch; margin-top: var(--gap-title); /* H1 → лид 16 (§13.7) */
}
.ab-top__main { grid-column: span 8; display: flex; flex-direction: column; justify-content: space-between; }
/* первый абзац — лид (как .t-lead: 18/28 → 20/28, --ink-2, --measure-lead), дальше — текст (--measure); абзац ↔ абзац 16 */
.ab-top__prose { color: var(--ink-2); }
.ab-top__prose > p { max-inline-size: var(--measure); font-size: var(--fs-body); line-height: var(--lh-body); }
.ab-top__prose > p:first-child { max-inline-size: var(--measure-lead); font-size: var(--fs-lead); line-height: var(--lh-lead); }
.ab-top__prose > * + * { margin-top: var(--flow-p); }
/* лид → содержимое (кнопки) — --section-head, 24 → 32 (§13.7) */
.ab-top__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); margin-top: var(--section-head); }

/* цифры каталога — компактная таблица: строка ≥ 40 = 8 + строка H3 + 8, число · подпись, линии между строками */
.ab-facts { grid-column: span 4; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.ab-facts__list {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; height: 100%;
  padding: 0; margin: 0; list-style: none;
}
.ab-facts__item {
  display: grid; grid-template-columns: var(--s-7) minmax(0, 1fr); column-gap: var(--s-3); align-items: center;
  min-height: var(--h-sm); padding: var(--s-2) var(--pad-card);
}
.ab-facts__item + .ab-facts__item { border-top: 1px solid var(--line); }
/* цифра-метрика — ступень H3 (§13.2 п. 5): 20/24 → 24/28, 500; табличные цифры — из .t-mono */
.ab-facts__num { font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: var(--fw-medium); letter-spacing: var(--track-h3); color: var(--ink); }
.ab-facts__txt { font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink-2); }

/* ============================================================ 01 — заводы
   Заголовок слева (4 из 12), список справа (8 из 12) в две колонки по 4 строки, номера сверху вниз.
   Без декоративной сцены: список и есть данные (завод · позиций · ссылка в каталог с фильтром). */
.ab-plants__grid {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--col-gap); align-items: start;
}
.ab-plants__head { grid-column: span 4; }
.ab-plist { grid-column: span 8; }
/* пояснение под H2 — лид (§13.7): кегль, межстрочный, цвет, мера и pretty — из .t-lead; H2 → лид 16 */
.ab-plants__note { margin-top: var(--gap-title); }

/* список: номер · завод · (стрелка при наведении) · число позиций по правому краю колонки.
   8 строк (7 заводов + импорт) → 4 ряда; поменяется число строк — поменять grid-template-rows. */
.ab-plist {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column;
  column-gap: var(--col-gap); margin: 0; padding: 0; list-style: none;
}
.ab-plist li { padding-block: var(--s-1); border-bottom: 1px solid var(--line); }
.ab-plist li:nth-child(4n + 1) { border-top: 1px solid var(--line); }
/* фон строки при наведении выходит на 12 за текст; сам текст и числа стоят по краям колонки */
.ab-plist__row {
  display: grid; grid-template-columns: 1.75rem minmax(0, max-content) minmax(0, 1fr) auto; align-items: center; column-gap: var(--s-3);
  min-height: var(--h-sm); padding: 0 var(--s-3); margin-inline: calc(-1 * var(--s-3));
  border-radius: var(--r-inner); color: var(--ink);
  transition: background-color var(--t-hover) var(--ease-out);
}
.ab-plist__row > * { grid-row: 1; }
.ab-plist__no { grid-column: 1; font-size: var(--fs-label); line-height: var(--lh-caption); color: var(--muted); }
.ab-plist__name { grid-column: 2; min-width: 0; font-size: var(--fs-small); font-weight: 500; line-height: var(--lh-small); }
.ab-plist__sub { margin-left: var(--s-1); font-weight: 400; font-size: var(--fs-caption); color: var(--muted); }
.ab-plist__go {
  grid-column: 3; justify-self: start;
  width: var(--ico-sm); height: var(--ico-sm); color: var(--ink); opacity: 0; transition: opacity var(--t-hover) var(--ease-out);
}
.ab-plist__n {
  grid-column: 4; justify-self: end; text-align: right; /* табличные цифры — из .t-mono */
  font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink-2); transition: color var(--t-hover) var(--ease-out);
}
.ab-plist__row:hover { background: var(--hover-bg); }
.ab-plist__row:hover .ab-plist__n { color: var(--ink); }
.ab-plist__row:hover .ab-plist__go, .ab-plist__row:focus-visible .ab-plist__go { opacity: 1; }
.ab-plist__row:focus-visible { outline-offset: -2px; }

/* ============================================================ 02 — как работаем (единая схема сайта: 4 шага)
   Маркер — круг 32 (--h-xs) с номером шага. Маркеры стоят на одной прямой: отрезок линии рисует ::before у каждого
   шага, кроме последнего, — от края своего маркера до края следующего. Линия идёт ровно через центры маркеров,
   не выходит за первый и последний и не зависит от длины текста. Без анимации от прокрутки: блок появляется целиком.
   ≥ 1024 — в ряд, 4 равные колонки с --col-gap; < 1024 — столбиком, линия слева (адаптив внизу). */
.ab-steps {
  --mk: var(--h-xs);
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--col-gap);
  margin: 0; padding: 0; list-style: none;
}
.ab-step { position: relative; min-width: 0; }
.ab-step:not(:last-child)::before {
  content: ""; position: absolute; pointer-events: none;
  top: calc(var(--mk) / 2 - .5px); /* optical: линия 1 px по центру маркера */
  left: var(--mk); width: calc(100% + var(--col-gap) - var(--mk)); height: 1px;
  background: var(--line-2);
}
.ab-step__no {
  display: flex; align-items: center; justify-content: center;
  width: var(--mk); height: var(--mk); border: 1px solid var(--line-2); border-radius: var(--r-round);
  background: var(--surface); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-2);
}
/* название шага — роль H4 (.t-h4 в чанке: 18/24 → 20/24, 600); маркер → название 16, название → текст 8 (§13.7) */
.ab-step__title { margin-top: var(--s-4); }
.ab-step__text { margin-top: var(--s-2); max-inline-size: min(34ch, var(--measure-card)); /* колонка шага уже карточки */ font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink-2); text-wrap: pretty; }

/* ============================================================ 03 — документы */
/* 12 колонок с --col-gap, как первый экран и заводы: текст 7 + карточка SN-150 5.
   Колонки одной высоты: верх карточки = верх надзаголовка, низ карточки = нижняя линия списка слева
   (карточка растягивается до высоты ряда, ссылка «Карточка SN-150» прижата к низу). */
.ab-docs__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); align-items: stretch; }
.ab-docs__text { grid-column: span 7; }
.ab-pass { grid-column: span 5; }
.ab-dlist { margin: var(--section-head) 0 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line); }
.ab-dlist__item {
  display: grid; grid-template-columns: minmax(120px, 168px) minmax(0, 1fr) auto; gap: var(--s-2) var(--s-5); align-items: start;
  padding: var(--s-5) 0; border-top: 1px solid var(--line);
}
.ab-dlist__k { padding-top: var(--s-1); }
.ab-dlist__title { font-size: var(--fs-body); font-weight: var(--fw-medium); line-height: var(--lh-body); color: var(--ink); text-wrap: balance; }
/* заголовок пункта → текст 8 (§13.7: H3 / H4 → текст карточки) */
.ab-dlist__text { margin-top: var(--s-2); max-inline-size: var(--measure-card); font-size: var(--fs-small); line-height: var(--lh-small); color: var(--muted); text-wrap: pretty; }
.ab-dlist__stat { display: flex; flex-direction: column; align-items: flex-end; gap: var(--s-1); text-align: right; white-space: nowrap; }
/* крупная цифра — ступень H2 (§13.2 п. 5): 28/32 → 32/36 → 40/44, 400; табличные цифры — из .t-mono */
.ab-dlist__stat b { font-weight: var(--fw-regular); font-size: var(--fs-h2); line-height: var(--lh-h2); letter-spacing: var(--track-h2); color: var(--ink); }
.ab-dlist__stat span { font-family: var(--font-mono); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--muted); }
.ab-dlist__stat i { font-style: normal; }

/* сколько позиций по СТО, ГОСТ и ТУ — чипы 32 (SPACING §4): ширина по содержимому, в ряду 8, метка ↔ число 8 */
.ab-norms { display: flex; flex-wrap: wrap; gap: var(--gap-chips); margin-top: var(--s-4); }
.ab-norms__seg {
  display: inline-flex; align-items: center; gap: var(--s-2);
  height: var(--h-xs); padding: 0 var(--px-xs); border: 1px solid var(--line-2); border-radius: var(--r-pill);
  background: var(--surface-2);
}
.ab-norms__seg[hidden] { display: none; }
/* «СТО», «ГОСТ», «ТУ» — капс: разрядка капс-метки (§13.4); число — табличные цифры из .t-mono */
.ab-norms__seg b { font-weight: var(--fw-medium); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink); letter-spacing: var(--track-label); }
.ab-norms__seg i { font-style: normal; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-2); }

/* карточка SN-150: паспорт и характеристики реальной позиции (нормы по СТО, Славнефть-ЯНОС) */
.ab-pass {
  display: flex; flex-direction: column;
  padding: var(--pad-panel); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface);
}
/* шапка: метка «Паспорт и характеристики» — целой строкой сверху, пилюля PDF — справа на строке названия
   (рядом с меткой не помещалась на 1024–1440, метка ломалась на 2 строки); пилюля 40 и строка названия (H3) — по общему центру, метка → название 8 */
.ab-pass__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--s-4); align-items: start; }
.ab-pass__head > div { display: contents; }
.ab-pass__head .t-label { grid-column: 1 / -1; }
.ab-pass__name, .ab-pass__plant { grid-column: 1; }
.ab-pass__pdf { grid-column: 2; grid-row: 2 / span 2; margin-top: calc(var(--gap-eyebrow-card) - (var(--h-sm) - var(--lh-h3)) / 2); } /* optical: центр пилюли 40 = центр строки названия */
/* название — роль H3 (.t-h3 в чанке: 20/24 → 24/28, 500): в карточке не крупнее H2 секции (§13.2 п. 3); метка → название 8 */
.ab-pass__name { margin-top: var(--gap-eyebrow-card); }
.ab-pass__plant { margin-top: var(--s-2); font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink-2); }
/* ссылка на PDF — пилюля 40, как вторичная кнопка: иконка 16 · подпись · стрелка */
.ab-pass__pdf {
  display: inline-flex; align-items: center; gap: var(--s-2); flex: none;
  height: var(--h-sm); padding: 0 var(--px-sm); border: 1px solid var(--line); border-radius: var(--r-pill);
  font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink); white-space: nowrap;
  transition: border-color var(--t-hover) var(--ease-out), background-color var(--t-hover) var(--ease-out);
}
.ab-pass__ico, .ab-pass__go { flex: none; width: var(--ico-sm); height: var(--ico-sm); color: var(--muted); }
/* наведение — янтарная заливка «как у кнопки в шапке», общее правило в ui.css; здесь только иконки */
@media (hover: hover) { .ab-pass__pdf:hover :is(.ab-pass__ico, .ab-pass__go) { color: var(--bg); } }
.ab-pass__pdf:active :is(.ab-pass__ico, .ab-pass__go) { color: var(--bg); }
.ab-pass__ico, .ab-pass__go { transition: color var(--t-micro) var(--ease-out); }

.ab-pass__rows { margin: var(--s-5) 0 0; border-top: 1px solid var(--line); }
.ab-pass__row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: var(--s-4);
  padding: var(--s-3) 0; border-bottom: 1px solid var(--line);
}
.ab-pass__row dt { font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink-2); }
.ab-pass__row dd { margin: 0; font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink); white-space: nowrap; } /* табличные цифры — из .t-mono */
/* строк показателей 4 (на 861–1023 и телефоне 3, адаптив внизу) — столько, чтобы карточка была не выше колонки слева;
   полный набор — в карточке товара */
.ab-pass__foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2) var(--s-5);
  margin-top: auto; padding-top: var(--s-3);
}
.ab-pass__note { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--muted); }
.ab-pass__link { display: inline-flex; align-items: center; gap: var(--s-2); min-height: var(--h-sm); font-size: var(--fs-small); line-height: var(--lh-small); font-weight: 500; color: var(--ink); }
.ab-pass__link svg { width: var(--ico-sm); height: var(--ico-sm); color: var(--muted); transition: transform var(--t-hover) var(--ease-out), color var(--t-hover) var(--ease-out); }
.ab-pass__link:hover svg { color: var(--ink); transform: translateX(var(--s-1)); }

/* ============================================================ адаптив
   Отступы меняются ступенями только на 640 и 1024 (SPACING §1, §11) — через токены или в @media 1023 / 639.
   1279 и 860 — только «Документы» (число строк в карточке SN-150, перестройка колонок), без смены отступов. */
@media (max-width: 1023px) {
  .ab-top__grid { grid-template-columns: minmax(0, 1fr); }
  .ab-top__main, .ab-facts { grid-column: auto; }
  /* цифры — одна строка из трёх ячеек на всю ширину под кнопками (3 факта: 2 × 2 оставлял пустую ячейку) */
  .ab-facts__list { grid-template-columns: repeat(3, minmax(0, 1fr)); height: auto; }
  .ab-facts__item + .ab-facts__item { border-top: 0; border-left: 1px solid var(--line); }
  /* в ряду ячейки не выравниваются по столбцу чисел — колонка числа по ширине цифр, подписи больше места */
  .ab-facts__item { grid-template-columns: auto minmax(0, 1fr); }
  /* заводы: заголовок над списком, список в две колонки на всю ширину */
  .ab-plants__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--section-head); }
  .ab-plants__head, .ab-plist { grid-column: auto; }
  .ab-pass__pdf { grid-column: 1 / -1; grid-row: auto; justify-self: start; margin-top: var(--s-4); } /* пилюля под заводом, 16 */
  /* шаги — столбиком: маркер слева, текст через 16 от маркера (32 + 16 = 48), линия — вертикальная через центры маркеров;
     между шагами 24, внутри шага 4 / 8 */
  .ab-steps { grid-template-columns: minmax(0, 1fr); }
  .ab-step { padding: 0 0 var(--s-5) var(--s-7); }
  .ab-step:last-child { padding-bottom: 0; }
  .ab-step:not(:last-child)::before { top: var(--mk); bottom: 0; left: calc(var(--mk) / 2 - .5px); /* optical */ width: 1px; height: auto; }
  .ab-step__no { position: absolute; top: 0; left: 0; }
  .ab-step__title { margin-top: var(--s-1); } /* строка 24 по центру маркера 32: (32 − 24) / 2 */
  .ab-step__text { max-inline-size: var(--measure); } /* как абзац первого экрана: на планшете каждый шаг в одну строку */
}

/* «Документы» до 1279: колонки 6 + 6 (SPACING §3) — при 7 + 5 карточке не хватает ширины на название и пилюлю PDF
   в одну строку; в списке слева метка над текстом, число «N из 65» справа от текста */
/* «Заводы» 1024–1279 — колонки 5 + 7: в 4 колонках H2 40 px ломался на три строки с одним «ПАО» в последней */
@media (min-width: 1024px) and (max-width: 1279px) {
  .ab-plants__head { grid-column: span 5; }
  .ab-plist { grid-column: span 7; }
}
@media (max-width: 1279px) {
  .ab-docs__text, .ab-pass { grid-column: span 6; }
  .ab-dlist__item { grid-template-columns: minmax(0, 1fr) auto; }
  .ab-dlist__k { grid-column: 1 / -1; padding-top: 0; }
  .ab-dlist__stat { grid-column: 2; grid-row: 2; }
}
/* 861–1023: шапка карточки столбцом, строки показателей переносятся — три главные строки, без строки о нормах */
@media (min-width: 861px) and (max-width: 1023px) {
  .ab-pass__row:nth-child(n + 4), .ab-pass__note { display: none; }
}

@media (max-width: 860px) {
  .ab-docs__grid { row-gap: var(--block-gap); }
  .ab-docs__text, .ab-pass { grid-column: 1 / -1; }
}

@media (max-width: 639px) {
  .ab-top__dash { display: none; }
  /* кнопки первого экрана — столбцом во всю ширину, подпись по центру, как .hero__ctas на главной и .phero__cta у товара:
     подпись .mbtn центрует .mbtn--wide-phone (ui.css) */
  .ab-top__actions { flex-direction: column; align-items: stretch; }
  .ab-top__actions > * { justify-content: center; }
  /* на телефоне в первом экране — только первый абзац: про паспорта и цену подробно ниже (документы, шаги) */
  .ab-top__prose > p:nth-child(n + 2) { display: none; }
  /* цифры — три строки по 40 */
  .ab-facts__list { grid-template-columns: minmax(0, 1fr); }
  .ab-facts__item { grid-template-columns: var(--s-7) minmax(0, 1fr); }
  .ab-facts__item + .ab-facts__item { border-left: 0; border-top: 1px solid var(--line); }
  /* заводы — одна колонка */
  .ab-plist { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
  .ab-plist li:nth-child(4n + 1) { border-top: 0; }
  .ab-plist li:first-child { border-top: 1px solid var(--line); }
  /* моб. проработка 10.10: крупнее и без мелочи — строки заводов 16 (строка 40 вмещает 24), подписи и числа не мельче 14 */
  .ab-plist__name, .ab-plist__n { font-size: var(--fs-body); line-height: var(--lh-body); }
  .ab-plist__sub { font-size: var(--fs-small); }
  .ab-norms__seg :is(b, i), .ab-dlist__stat span { font-size: var(--fs-small); line-height: var(--lh-small); }
  .ab-dlist__item { padding: var(--s-4) 0; }
  .ab-pass__rows { margin-top: var(--s-4); }
  .ab-pass__row dd { align-self: end; }
  /* на телефоне — три главные строки, без строки о нормах: полный набор в карточке товара */
  .ab-pass__row:nth-child(n + 4), .ab-pass__note { display: none; }
}

/* до 359: «заводов-изготовителей» 28 px (≈ 317) шире контейнера 288 — разрешаем перенос по дефису, кегль не опускаем (один H1, §13.2) */
@media (max-width: 359px) {
  .ab-top__title .ab-nobr { white-space: normal; }
}

@media (max-width: 420px) {
  .ab-top__actions .gbtn { display: none; } /* «Запросить цену» есть в шапке и в закрывающем блоке */
}


/* тач (телефон, планшет, альбом): зоны касания ≥ 48 без смены вида — невидимое поле вокруг контролов 40
   (строки заводов: 40 + 2 × 4 — поля соседних строк не перекрываются, между ними padding 4 + линия + 4) */
@media (pointer: coarse) {
  .ab-plist__row, .ab-pass__link { position: relative; }
  .ab-plist__row::after, .ab-pass__pdf::after, .ab-pass__link::after {
    content: ""; position: absolute; inset: calc((var(--h-sm) - var(--h-md)) / 2) 0;
  }
  .ab-pass__pdf::after { inset: calc((var(--h-sm) - var(--h-md)) / 2 - 1px) -1px; } /* рамка 1 */
}
