/* Кабельный кластер: страницы разделов (catalog/kabel/<раздел>), страницы
   марок и расшифровка маркировки. Грузится на действиях product и
   cable_marking (см. StylesheetManifest); страница расшифровки получает
   класс product от body_class и делит эти правила.

   Страница раздела пересобрана по рендеру 21.08.2026: один светлый фон
   страницы, контраст дают белые панели, у каждой карточки — иконка по
   смыслу подписи. Типографика прежняя (16/1,5 текст, 15/1,4 подписи,
   14/1,45 служебные), радиусы только 12 и 16. Абзацы — во всю ширину
   блока: max-width у текста запрещён правилом заказчика. */

/* ===== Ритм секций =====
   У хаба и страниц марок — 24/24 с чередованием фона (промпт выравнивания,
   В1–В2). У страниц разделов (main.cln-page) — 12/12 без тонирования: по
   рендеру фон страницы один, полосы за белыми панелями были бы полосатыми.
   Пять :not — сильнее общего ритма 09 (10/0). */
/* Зазор между секциями задаёт общее правило (--section-gap: 25px).
   Свой воздух секций с фоном живёт внутри их контейнеров: на секции он
   складывался бы с зазором и давал 49 вместо 25 (решение 26.08.2026). */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section {
  padding-top: 0;
  padding-bottom: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.cln-hero > .wrap:first-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-decoding > .wrap:first-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-params > .wrap:first-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-diff > .wrap:first-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-final > .wrap:first-child {
  padding-top: 24px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.cln-hero > .wrap:last-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-decoding > .wrap:last-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-params > .wrap:last-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-diff > .wrap:last-child,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.mk-final > .wrap:last-child {
  padding-bottom: 24px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main:not(.cln-page) > section:nth-of-type(even):not(.cbl-decoding):not(.etm-band) {
  background: #F4F8FD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main.cln-page > section {
  padding-top: 12px;
  padding-bottom: 12px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section:first-of-type {
  /* Зазор «крошки → H1» общий для сайта */
  padding-top: 28px;
}

/* ===== Иконки карточек =====
   Класс выбирает ApplicationHelper#cable_icon по смыслу подписи. */

body:not(.admin-body).pages.product .cln-ico {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  background: #1870BD;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

body:not(.admin-body).pages.product .cln-ico--core {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--shield {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3 5 6v5c0 4.4 3 8.4 7 10 4-1.6 7-5.6 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3 5 6v5c0 4.4 3 8.4 7 10 4-1.6 7-5.6 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--armor {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='7' width='18' height='10' rx='2'/%3E%3Cpath d='M8 7v10M12 7v10M16 7v10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='7' width='18' height='10' rx='2'/%3E%3Cpath d='M8 7v10M12 7v10M16 7v10'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--armor-shield {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3 5 6v5c0 4.4 3 8.4 7 10 4-1.6 7-5.6 7-10V6z'/%3E%3Cpath d='M9 9v7M12 8v9M15 9v7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3 5 6v5c0 4.4 3 8.4 7 10 4-1.6 7-5.6 7-10V6z'/%3E%3Cpath d='M9 9v7M12 8v9M15 9v7'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--insulation {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='6'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='6'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--sheath {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='2.5' y='6' width='19' height='12' rx='6'/%3E%3Cpath d='M8 6v12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='2.5' y='6' width='19' height='12' rx='6'/%3E%3Cpath d='M8 6v12'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--temp {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M14 14.8V5a2 2 0 1 0-4 0v9.8a4 4 0 1 0 4 0Z'/%3E%3Cpath d='M12 9v6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M14 14.8V5a2 2 0 1 0-4 0v9.8a4 4 0 1 0 4 0Z'/%3E%3Cpath d='M12 9v6'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--bend {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M5 3v9a7 7 0 0 0 7 7h7'/%3E%3Cpath d='m15 15 4 4-4 4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M5 3v9a7 7 0 0 0 7 7h7'/%3E%3Cpath d='m15 15 4 4-4 4'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--clock {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--bolt {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M13 2 4 14h6l-1 8 9-12h-6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M13 2 4 14h6l-1 8 9-12h-6z'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--fire {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3s5 4.6 5 9a5 5 0 0 1-10 0c0-2 .9-3.4 2-4.4C9 9.2 9.8 10 11 10c1.6 0 2-1.6 1-7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3s5 4.6 5 9a5 5 0 0 1-10 0c0-2 .9-3.4 2-4.4C9 9.2 9.8 10 11 10c1.6 0 2-1.6 1-7Z'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--drop {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3s6 6.4 6 10.4a6 6 0 0 1-12 0C6 9.4 12 3 12 3Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3s6 6.4 6 10.4a6 6 0 0 1-12 0C6 9.4 12 3 12 3Z'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--doc {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--box {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--layers {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='m12 3 9 5-9 5-9-5z'/%3E%3Cpath d='m3 13 9 5 9-5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='m12 3 9 5-9 5-9-5z'/%3E%3Cpath d='m3 13 9 5 9-5'/%3E%3C/svg%3E");
}

body:not(.admin-body).pages.product .cln-ico--geo {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

/* ===== Первый экран: тёмная панель с фото ===== */

body:not(.admin-body).pages.product .cln-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 24px 40px;
  align-items: center;
  background: #0B1F3F;
  border-radius: var(--radius-card);
  overflow: hidden;
}

/* Нижний запас 34px — под карточку вкладок, которая заходит на панель
   на 28px: без него она накрывала бы строку фактов */
body:not(.admin-body).pages.product .cln-hero-copy { padding: 22px 8px 34px 40px; }

/* Пять :not — как у общего правила цвета заголовков в 09: иначе H1 в тёмной
   панели остаётся тёмно-синим и тонет на фоне */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-hero-panel h1 { color: #ffffff; margin: 0 0 8px; }

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-hero-lead {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.87);
}

body:not(.admin-body).pages.product .cln-hero-visual {
  /* Фон своей ячейки: пропорции снимка не растягивают панель,
     высоту задаёт текстовая колонка */
  position: relative;
  align-self: stretch;
  min-height: 100%;
}

body:not(.admin-body).pages.product .cln-hero-visual picture {
  position: absolute;
  inset: 0;
  display: block;
}

body:not(.admin-body).pages.product .cln-hero-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body:not(.admin-body).pages.product .cln-hero-chips {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
}

body:not(.admin-body).pages.product .cln-hero-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  font-size: 15px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
}

body:not(.admin-body).pages.product .cln-hero-actions { margin-top: 12px; }

/* Белая кнопка на тёмной панели: #10233C на белом — 13,6:1 */
body:not(.admin-body).pages.product .cln-hero-btn.cln-hero-btn {
  background: #ffffff;
  border-color: #ffffff;
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-hero-btn.cln-hero-btn:hover,
body:not(.admin-body).pages.product .cln-hero-btn.cln-hero-btn:focus-visible {
  background: #EAF3FB;
  border-color: #EAF3FB;
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-hero-line.cln-hero-line {
  border-color: rgba(255, 255, 255, 0.7);
  background: transparent;
  color: #ffffff;
}

body:not(.admin-body).pages.product .cln-hero-line.cln-hero-line:hover,
body:not(.admin-body).pages.product .cln-hero-line.cln-hero-line:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #ffffff;
  color: #ffffff;
}

body:not(.admin-body).pages.product .cln-hero-facts {
  list-style: none;
  margin: 14px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px 20px;
}

body:not(.admin-body).pages.product .cln-hero-fact {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.85);
}

body:not(.admin-body).pages.product .cln-hero-fact .cln-ico { background: #BFDCF6; }

/* ===== Полоса вкладок-оглавления =====
   Пилюли по конструктивным группам плюс две вкладки на панели
   характеристик и конструкции; карточка заходит на нижний край
   тёмной панели (рендер контрольных 21.08.2026). */

body:not(.admin-body).pages.product .cln-tabs {
  position: relative;
  z-index: 2;
  margin-top: -52px;
}

body:not(.admin-body).pages.product .cln-tabs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 6px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: 0 10px 30px rgba(11, 31, 63, 0.08);
}

body:not(.admin-body).pages.product .cln-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1 1 auto;
  min-height: 44px;
  padding: 0 16px;
  border-radius: var(--radius-control);
  font-size: 15px;
  line-height: 1.4;
  font-weight: var(--fw-bold);
  color: var(--color-text-muted);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--mo-hover) var(--mo-ease), color var(--mo-hover) var(--mo-ease);
}

body:not(.admin-body).pages.product .cln-tab:hover,
body:not(.admin-body).pages.product .cln-tab:focus-visible {
  background: #EAF3FB;
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-tab[aria-current="true"] {
  background: #10233C;
  color: #ffffff;
}

body:not(.admin-body).pages.product .cln-tab[aria-current="true"] .cln-ico { background: #ffffff; }

body:not(.admin-body).pages.product .cln-tab .cln-ico {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

/* ===== Вводный текст раздела ===== */

body:not(.admin-body).pages.product .cln-intro-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #33465C;
}

/* ===== Белые панели разделов ===== */

body:not(.admin-body).pages.product .cln-panel,
body:not(.admin-body).pages.product .cln-tech-panel {
  padding: 22px 26px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-panel-title,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-tech-title {
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.25;
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-specs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

body:not(.admin-body).pages.product .cln-panel-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-bottom: 14px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-panel-head .cln-panel-title { margin: 0; }

body:not(.admin-body).pages.product .cln-panel-norms {
  font-size: 14px;
  line-height: 1.45;
  color: #5C6E84;
}

body:not(.admin-body).pages.product .cln-tech-norms {
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--color-border);
  font-size: 14px;
  line-height: 1.45;
  color: var(--color-text-muted);
}

/* ===== Чипы марок =====
   Базовые правила стоят до карточек групп: там строка чипов прижимается
   к низу (margin-top: auto), и общий сброс margin обязан идти раньше. */

body:not(.admin-body).pages.product .cln-chip-row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body:not(.admin-body).pages.product .cln-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  font-size: 15px;
  line-height: 1.4;
  font-weight: var(--fw-bold);
  color: #10233C;
  text-decoration: none;
}

body:not(.admin-body).pages.product a.cln-chip--link:hover,
body:not(.admin-body).pages.product a.cln-chip--link:focus-visible {
  border-color: #1870BD;
  color: #1870BD;
}

/* ===== Карточки конструктивных групп ===== */

body:not(.admin-body).pages.product .cln-group-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body:not(.admin-body).pages.product .cln-group-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-title {
  margin: 0;
  font-size: 17px;
  line-height: 1.3;
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-group-hint {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #5C6E84;
}

body:not(.admin-body).pages.product .cln-group-marks .cln-chip,
body:not(.admin-body).pages.product .cln-group-rest .cln-chip {
  min-height: 34px;
  padding: 0 10px;
  font-size: 15px;
  line-height: 1.4;
}

/* Раскрытие остальных марок: строка «Смотреть все (N)» прижата к низу —
   у карточек ряда она на одной линии */
body:not(.admin-body).pages.product .cln-group-more { margin-top: auto; }

body:not(.admin-body).pages.product .cln-group-more-toggle {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-height: 32px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: var(--fw-bold);
  color: #1870BD;
  cursor: pointer;
  list-style: none;
}

body:not(.admin-body).pages.product .cln-group-more-toggle::-webkit-details-marker { display: none; }

body:not(.admin-body).pages.product .cln-group-more-toggle:hover,
body:not(.admin-body).pages.product .cln-group-more-toggle:focus-visible { color: #125E9F; }

body:not(.admin-body).pages.product .cln-group-more-arrow {
  width: 16px;
  height: 16px;
  background: currentColor;
  -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='2'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  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='2'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform var(--mo-hover) var(--mo-ease);
}

body:not(.admin-body).pages.product .cln-group-more[open] .cln-group-more-arrow { transform: rotate(90deg); }

body:not(.admin-body).pages.product .cln-group-rest { margin-top: 10px; }

body:not(.admin-body).pages.product .cln-value-list {
  margin: 0;
  padding-left: 18px;
}

body:not(.admin-body).pages.product .cln-value-list li + li { margin-top: 2px; }

/* ===== Заголовок перечня марок (страница марки) ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-marks-title {
  margin: 0 0 14px;
  font-size: 20px;
  line-height: 1.25;
  color: #10233C;
}

/* ===== Чипы марок =====
   Базовые правила стоят до карточек групп: там строка чипов прижимается
   к низу (margin-top: auto), и общий сброс margin обязан идти раньше. */

body:not(.admin-body).pages.product .cln-chip-row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body:not(.admin-body).pages.product .cln-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  font-size: 15px;
  line-height: 1.4;
  font-weight: var(--fw-bold);
  color: #10233C;
  text-decoration: none;
}

body:not(.admin-body).pages.product a.cln-chip--link:hover,
body:not(.admin-body).pages.product a.cln-chip--link:focus-visible {
  border-color: #1870BD;
  color: #1870BD;
}

/* ===== Карточки конструктивных групп ===== */

body:not(.admin-body).pages.product .cln-group-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body:not(.admin-body).pages.product .cln-group-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-title {
  margin: 0;
  font-size: 17px;
  line-height: 1.3;
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-group-hint {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: #5C6E84;
}

body:not(.admin-body).pages.product .cln-group-marks .cln-chip,
body:not(.admin-body).pages.product .cln-group-rest .cln-chip {
  min-height: 34px;
  padding: 0 10px;
  font-size: 15px;
  line-height: 1.4;
}

/* Раскрытие остальных марок: строка «Смотреть все (N)» прижата к низу —
   у карточек ряда она на одной линии */
body:not(.admin-body).pages.product .cln-group-more { margin-top: auto; }

body:not(.admin-body).pages.product .cln-group-more-toggle {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-height: 32px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: var(--fw-bold);
  color: #1870BD;
  cursor: pointer;
  list-style: none;
}

body:not(.admin-body).pages.product .cln-group-more-toggle::-webkit-details-marker { display: none; }

body:not(.admin-body).pages.product .cln-group-more-toggle:hover,
body:not(.admin-body).pages.product .cln-group-more-toggle:focus-visible { color: #125E9F; }

body:not(.admin-body).pages.product .cln-group-more-arrow {
  width: 16px;
  height: 16px;
  background: currentColor;
  -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='2'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  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='2'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform var(--mo-hover) var(--mo-ease);
}

body:not(.admin-body).pages.product .cln-group-more[open] .cln-group-more-arrow { transform: rotate(90deg); }

body:not(.admin-body).pages.product .cln-group-rest { margin-top: 10px; }

body:not(.admin-body).pages.product .cln-value-list {
  margin: 0;
  padding-left: 18px;
}

body:not(.admin-body).pages.product .cln-value-list li + li { margin-top: 2px; }

/* ===== Полные перечни марок ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-marks-title {
  margin: 0 0 14px;
  font-size: 20px;
  line-height: 1.25;
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-mark-note {
  margin: 12px 0 0;
  font-size: 16px;
  line-height: 1.5;
  color: #33465C;
}

/* ===== Смежные разделы ===== */

body:not(.admin-body).pages.product .cln-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

body:not(.admin-body).pages.product .cln-related-card {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #ffffff;
  text-decoration: none;
  transition: border-color var(--mo-hover) var(--mo-ease);
}

body:not(.admin-body).pages.product .cln-related-card:hover,
body:not(.admin-body).pages.product .cln-related-card:focus-visible { border-color: #1870BD; }

body:not(.admin-body).pages.product .cln-related-name {
  font-size: 15px;
  line-height: 1.3;
  font-weight: var(--fw-bold);
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-related-arrow {
  width: 16px;
  height: 16px;
  background: #1870BD;
  -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='2'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
  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='2'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ===== Полоса призыва ===== */

body:not(.admin-body).pages.product .cln-final-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 28px;
  padding: 24px 32px;
  background: #0B1F3F;
  border-radius: var(--radius-card);
}

body:not(.admin-body).pages.product .cln-final-ico {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  background: #BFDCF6;
  -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='2'%3E%3Cpath d='M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E") no-repeat center / contain;
  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='2'%3E%3Cpath d='M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E") no-repeat center / contain;
}

body:not(.admin-body).pages.product .cln-final-copy {
  flex: 1 1 320px;
}

/* Белый текст — только внутри тёмной полосы (страница марки и «Маркировка»).
   Без .cln-final-band эти правила перебивали светлую карточку раздела
   по специфичности и текст в ней был невидим (правка 28.08.2026) */
body:not(.admin-body).pages.product .cln-final-band .cln-final-copy h2 { margin: 0 0 6px; color: #ffffff; }

body:not(.admin-body).pages.product .cln-final-band .cln-final-copy p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
}

body:not(.admin-body).pages.product .cln-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body:not(.admin-body).pages.product .cln-final-line {
  border-color: rgba(255, 255, 255, 0.7);
  background: transparent;
  color: #ffffff;
}

body:not(.admin-body).pages.product .cln-final-line:hover,
body:not(.admin-body).pages.product .cln-final-line:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #ffffff;
  color: #ffffff;
}

/* ===== Панель характеристик страницы марки ===== */

body:not(.admin-body).pages.product .cln-spec-list { margin: 0; }

body:not(.admin-body).pages.product .cln-spec-row {
  display: grid;
  grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
  gap: 8px 24px;
  padding: 10px 0;
}

body:not(.admin-body).pages.product .cln-spec-row + .cln-spec-row { border-top: 1px solid var(--color-border); }

body:not(.admin-body).pages.product .cln-spec-row dt {
  font-size: 15px;
  line-height: 1.4;
  font-weight: var(--fw-bold);
  color: #10233C;
}

body:not(.admin-body).pages.product .cln-spec-row dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-text-muted);
}

/* ===== Появление первого экрана ===== */

@media (prefers-reduced-motion: no-preference) {
  html.motion-ready body:not(.admin-body).pages.product .cln-hero-panel h1 {
    animation: mo-rise-12 var(--mo-reveal) var(--mo-ease) both;
  }
  html.motion-ready body:not(.admin-body).pages.product .cln-hero-lead {
    animation: mo-rise-12 var(--mo-reveal) var(--mo-ease) 80ms both;
  }
  html.motion-ready body:not(.admin-body).pages.product .cln-tabs-row {
    animation: mo-rise-12 var(--mo-reveal) var(--mo-ease) 160ms both;
  }
  html.motion-ready body:not(.admin-body).pages.product .cln-hero-visual {
    animation: mo-slide-x var(--mo-reveal) var(--mo-ease) 140ms both;
  }
}

/* ===== Страница «Расшифровка маркировки» ===== */

body:not(.admin-body).pages.cable_marking .cmk-diff-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body:not(.admin-body).pages.cable_marking .cmk-diff-card {
  padding: var(--pad-card);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.cable_marking .cmk-diff-card h3 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.3;
  color: #10233C;
}

body:not(.admin-body).pages.cable_marking .cmk-diff-card p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-text-muted);
}

/* ===== Страница марки: таблицы типоразмеров ===== */

body:not(.admin-body).pages.product .mk-size-table + .mk-size-table { margin-top: 24px; }

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .mk-size-title {
  margin: 0 0 10px;
  font-size: 17px;
  line-height: 1.3;
  color: #10233C;
}

/* Широкая таблица прокручивается внутри своего контейнера, страница — нет */
body:not(.admin-body).pages.product .mk-table-scroll {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #ffffff;
}

body:not(.admin-body).pages.product .mk-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.45;
}

body:not(.admin-body).pages.product .mk-table th {
  padding: 10px 14px;
  text-align: left;
  font-size: 14px;
  line-height: 1.45;
  font-weight: var(--fw-bold);
  color: #10233C;
  background: #EAF3FB;
  border-bottom: 1px solid var(--color-border);
}

body:not(.admin-body).pages.product .mk-table td {
  padding: 8px 14px;
  color: #33465C;
  border-bottom: 1px solid var(--color-border);
}

body:not(.admin-body).pages.product .mk-table tbody tr:last-child td { border-bottom: 0; }

body:not(.admin-body).pages.product .mk-table .mk-cell-label { font-weight: var(--fw-bold); color: #10233C; white-space: nowrap; }

/* Строка, к которой пришли якорем #4x16 — подсвечивается */
body:not(.admin-body).pages.product .mk-table tr:target td { background: #FFF7DB; }

body:not(.admin-body).pages.product .mk-related-links { margin-top: 10px; }

/* ===== Адаптив ===== */

@media (max-width: 1279px) {
  body:not(.admin-body).pages.product .cln-group-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body:not(.admin-body).pages.product .cln-spec-row { grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr); }
}

@media (max-width: 1023px) {
  body:not(.admin-body).pages.product .cln-hero-panel { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body:not(.admin-body).pages.product .cln-hero-copy { padding: 24px 24px 40px; order: 2; }
  body:not(.admin-body).pages.product .cln-hero-visual { order: 1; min-height: 0; aspect-ratio: 16 / 7; }
  body:not(.admin-body).pages.product .cln-hero-visual picture { position: static; height: 100%; }
  body:not(.admin-body).pages.product .cln-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* Две панели рядом ниже 1024 не помещаются — ставим одну под другой */
  body:not(.admin-body).pages.product .cln-specs-grid { grid-template-columns: minmax(0, 1fr); }
  body:not(.admin-body).pages.cable_marking .cmk-diff-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  /* Оглавление на телефоне — одна прокручиваемая строка, а не столбик
     на пол-экрана (замер В8: девять вкладок колонкой давали 500px «пустоты») */
  body:not(.admin-body).pages.product .cln-tabs-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body:not(.admin-body).pages.product .cln-tab { flex: 0 0 auto; white-space: nowrap; }
  body:not(.admin-body).pages.product .cln-panel,
  body:not(.admin-body).pages.product .cln-tech-panel { padding: 18px 16px; }
  body:not(.admin-body).pages.product .cln-group-grid { grid-template-columns: minmax(0, 1fr); }
  body:not(.admin-body).pages.product .cln-hero-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not(.admin-body).pages.product .cln-hero-actions .btn { width: 100%; justify-content: center; }
  body:not(.admin-body).pages.product .cln-spec-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  body:not(.admin-body).pages.product .cln-final-band { padding: 20px; }
  body:not(.admin-body).pages.product .cln-final-actions { width: 100%; }
  body:not(.admin-body).pages.product .cln-final-actions .btn { width: 100%; justify-content: center; }
}

/* Цель нажатия марки — 44px по вертикали, визуальная высота прежние 34:
   на телефоне попасть в чип 30px рядом с двадцатью такими же нельзя
   (сводный промпт по силовым, раздел 3). Ряды чипов разведены на 12px,
   чтобы невидимые области соседних строк не перекрывались. */
body:not(.admin-body).pages.product a.cln-chip::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: var(--tap-min, 44px);
  transform: translateY(-50%);
}

body:not(.admin-body).pages.product .cln-chip-row { gap: 12px 8px; }

/* Подсказка группы — основной кегль: её читают построчно
   (сводный промпт по силовым, раздел 8) */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-hint {
  font-size: 16px;
  line-height: 1.5;
}

/* Один кегль — один межстрочный (раздел 4): 16 → 1,5 · 15 → 1,4 · 14 → 1,45.
   Однострочная подпись чипа — единственное исключение. */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-hero-note,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-panel-norms,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-tech-norms,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-more-toggle,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-hero-fact { line-height: 1.45; }

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-chip,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-tab,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-related-name { line-height: 1.4; }

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main.cln-page p,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-intro-text,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-spec-row dd,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-mark-note { line-height: 1.5; }

/* Подпись раскрытия меняется на «Скрыть» */
body:not(.admin-body).pages.product .cln-group-more-close { display: none; }
body:not(.admin-body).pages.product .cln-group-more[open] .cln-group-more-open { display: none; }
body:not(.admin-body).pages.product .cln-group-more[open] .cln-group-more-close { display: inline; }
body:not(.admin-body).pages.product .cln-group-more[open] .cln-group-more-arrow { transform: rotate(-90deg); }

/* Примечание о диапазоне напряжений под чипами */
body:not(.admin-body).pages.product .cln-hero-note {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.72);
}

/* ============================================================
   Посадочные страницы марки и типоразмера:
   /catalog/kabel/silovye/<марка> и /catalog/kabel/silovye/<марка>/<размер>
   Обе короткие — характеристики, таблица и заявка. Область правил —
   обёртка .cln-size-page, а не класс body: страница марки рендерится
   экшеном product и класс body у неё другой (28.08.2026).
   Таблица прокручивается внутри своей обёртки: страница вбок не едет.
   ============================================================ */

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-size-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-size-facts li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-size-fact-label {
  font-size: 13px;
  line-height: 18px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-size-fact-value {
  font-size: 16px;
  line-height: 1.5;
  color: #10233C;
}

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-size-actions {
  margin-top: 24px;
}

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-chip {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap-min);
  padding: 0 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #ffffff;
  font-size: 15px;
  line-height: 1.4;
  color: #10233C;
  text-decoration: none;
}

body:not(.admin-body):not(.admin-body) .cln-size-page .cln-chip:hover,
body:not(.admin-body):not(.admin-body) .cln-size-page .cln-chip:focus-visible {
  border-color: #1870BD;
  color: #1870BD;
}

/* ============================================================
   Хаб кабельной ветки /catalog/kabel по макету KabEm Cable Catalog Web
   (11.09.2026): светлый первый экран, карточки групп по три в ряд,
   широкие карточки ЭТМИКАБ и наличия (снимок во всю высоту слева, ссылка
   колонкой справа), тёмная полоса «Примеры маркировки» и общий финал
   «Есть спецификация?». Палитра сайта прежняя (решение 11.09.2026): белую
   полосу и цвета рамок из макета не переносим. Не переносятся и значения,
   закреплённые отдельными решениями: H1 32/26, H2 и H3 по токенам,
   радиусы 16, контейнер — общая .wrap, шапка и крошки общие.
   Размеры карточек макет не меняет (решение 11.09.2026): у групп прежний
   плотный текст, снимок — полоса 5:2; широкие карточки — прежние 182px.
   ============================================================ */

/* ===== Первый экран ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-hero-panel {
  display: block;
  border-radius: 0;
  background: none;
  overflow: visible;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-hero-copy {
  padding: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-hero-eyebrow {
  margin: 0 0 10px;
  color: #1870BD;
}

/* H1 один на все внутренние страницы — 32/1.2, на телефоне 26/1.16
   (просьба 28.08.2026). Перенос по заполнению строки, а не «балансом»:
   баланс уводил «контрольный,» на вторую строку. Шесть :not — сильнее
   белого H1 тёмных первых экранов из 09. */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-hero-panel h1 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: var(--ls-h1);
  color: var(--color-text);
  text-wrap: wrap;
}

/* Первый экран и группы разделяет только общий зазор секций 15px */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.cbl-hero {
  padding-bottom: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.cbl-groups {
  padding-top: 0;
}

/* ===== Карточки групп ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-groups-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

/* Снимок группы — полоса 5:2, как в макете (просьба 11.09.2026: 84px
   резали фотографию до узкой полосы); остальные размеры карточки прежние */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-media {
  height: auto;
  aspect-ratio: 5 / 2;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-body {
  gap: 4px;
  padding: 10px 16px 12px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-body h3 {
  font-size: 17px;
  line-height: 1.28;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-body p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--color-text-muted);
}

/* Счётчик марок — приглушённым токеном: #7A8CA0 давал 3,4:1 на белом */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-count {
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-link {
  padding-top: 8px;
}

/* ===== Широкие карточки: ЭТМИКАБ и наличие =====
   Снимок во всю высоту карточки слева, текст посередине, ссылка — своей
   колонкой справа. Высота прежняя: снимок не ниже 180px даёт те же 182px,
   что были у карточки с полями 24 и кадром 132. */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-card {
  display: grid;
  grid-template-columns: 420px minmax(0, 1fr) auto;
  grid-template-areas: "media body link";
  gap: 32px;
  align-items: center;
  padding: 0;
  overflow: hidden;
  border: 1px solid #9BB8D5;
  border-radius: var(--radius-card);
  background: var(--color-bg);
  color: inherit;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-card:hover {
    border-color: #43709C;
    transform: translateY(-2px);
  }
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-media {
  grid-area: media;
  position: relative;
  align-self: stretch;
  display: block;
  min-height: 180px;
  overflow: hidden;
  background: var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-media > picture,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Снимок ЭТМИКАБ шире кадра: кадрируем по правому краю, чтобы разделанный
   конец кабеля с жилами не обрезался (просьба 11.09.2026) */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-etmikab-section .cbl-stock-img {
  object-position: right center;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-body {
  grid-area: body;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-title {
  color: var(--color-text);
  font-size: 20px;
  font-weight: var(--fw-bold);
  line-height: 1.26;
  letter-spacing: -0.01em;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-text {
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.55;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-link {
  grid-area: link;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: var(--tap-min);
  padding-right: 28px;
  color: #43709C;
  font-size: 15px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
  white-space: nowrap;
}

/* ===== Примеры маркировки: тёмная полоса во всю ширину окна =====
   Палитра прежняя: фон #0A1F38, надзаголовок и ссылка #BFDCF6, подписи
   групп капителью. Свой воздух полосы — на самой секции (шесть классов
   сильнее общего обнуления паддингов секций выше). */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.cbl-decoding {
  padding-block: 28px 24px;
  background: #0A1F38;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding .section-head {
  margin-bottom: 32px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-section-head-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-section-head-copy .kicker {
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding .kicker {
  color: #BFDCF6;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding h2 {
  color: #ffffff;
}

/* Шапка блока в строку: заголовок слева, ссылка справа по нижнему краю */
@media (min-width: 768px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-section-head--split {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
  }
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: var(--tap-min);
  color: #BFDCF6;
  font-weight: 400;
  white-space: nowrap;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-link .contact-link-arrow {
  background: currentColor;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Шапка группы: на широком экране это просто надзаголовок — счётчик и знак
   нужны только телефону, где группа сворачивается */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-head {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-head::-webkit-details-marker {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-count,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-sign {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-group-title {
  margin: 0;
  color: rgba(191, 220, 246, 0.9);
  font-size: 12.5px;
  font-weight: var(--fw-bold);
  line-height: 16px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding .cbl-decoding-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding .cbl-decoding-row {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 4px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding .cbl-decoding-row dt {
  margin: 0;
  color: #ffffff;
  font-size: 15px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
  letter-spacing: -0.006em;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding .cbl-decoding-row dd {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13.5px;
  line-height: 1.45;
}

/* ===== Ноутбук, планшет, телефон ===== */

@media (max-width: 1279px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-card {
    grid-template-columns: 300px minmax(0, 1fr) auto;
    gap: 24px;
  }
}

@media (max-width: 1023px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-groups-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Уже 1024 — прежняя раскладка стопкой с теми же размерами, что до
     макета: поля 24, кадр 132 со скруглением, ссылка под текстом
     (размер карточек не меняется — решение 11.09.2026) */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "media"
      "body"
      "link";
    gap: 0;
    align-items: stretch;
    padding: 24px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-media {
    align-self: auto;
    height: 132px;
    min-height: 0;
    margin-bottom: 24px;
    border-radius: var(--radius-control);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-body {
    gap: 10px;
    padding: 0;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-title {
    line-height: 1.25;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-text {
    font-size: 14.5px;
    line-height: 1.5;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-stock-link {
    justify-self: start;
    gap: 9px;
    margin-top: 10px;
    padding: 0;
    white-space: normal;
  }
}

@media (max-width: 767px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-hero-panel h1 {
    font-size: 26px;
    line-height: 1.16;
    letter-spacing: -0.03em;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-groups-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-link {
    white-space: normal;
  }

  /* ===== Телефон по макету KabEm Cable Catalog Mobile (13.09.2026).
     Из макета не переносятся кегли (H1 26, H2 по токенам), радиусы (16 и 12
     вместо 14 и 18), палитра полосы маркировки (она тёмная) и липкая нижняя
     полоса — её сняли с сайта 31.08.2026 ===== */

  /* Раздел — строка: снимок слева, название, описание и счётчик справа */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) 16px;
    gap: 12px;
    align-items: center;
    padding-right: 14px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-card::after {
    content: "→";
    color: #7FADD8;
    font-size: 15px;
    line-height: 1;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-media {
    align-self: stretch;
    height: auto;
    min-height: 92px;
    aspect-ratio: auto;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-body {
    gap: 3px;
    padding: 12px 0;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-body h3 {
    font-size: 16px;
    line-height: 1.3;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-body p {
    font-size: 13px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-names,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-group-link {
    display: none;
  }

  /* Группа обозначений — аккордеон */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-groups {
    gap: 10px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-group {
    gap: 0;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-control);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-head {
    justify-content: space-between;
    min-height: 52px;
    padding: 10px 0;
    cursor: pointer;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-count {
    display: block;
    margin-left: auto;
    color: rgba(255, 255, 255, 0.66);
    font-size: 12.5px;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-sign {
    flex: none;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
    color: #BFDCF6;
    font-size: 17px;
    line-height: 1;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-group[open] .cbl-decoding-sign::before { content: "–"; }
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding-group:not([open]) .cbl-decoding-sign::before { content: "+"; }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cbl-decoding .cbl-decoding-list {
    padding-bottom: 10px;
  }
}

/* ============================================================
   Страница раздела кабельной ветки по рендеру Control Cable Web v2
   (28.08.2026). Слева аккордеон разделов, справа лид, группы строками,
   таблицы характеристик и конструкции, светлая карточка призыва.
   Кнопка «Заказать» — нормальным регистром: капитель на сайте не
   используется (правило проекта).
   ============================================================ */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section {
  padding-block: 0;
}

/* ===== Полоса заголовка ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-hero {
  margin-top: 0;
  /* Линия под полосой заголовка убрана: она шла через весь экран над
     текстом раздела (просьба 28.08.2026) */
  border-bottom: 0;
  background: var(--color-bg-soft);
}

/* Полоса заголовка вдвое ниже: было 24/28 при H1 38px */
body:not(.admin-body).pages.product .cln-hero-band {
  padding-block: 12px 14px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-hero-band h1 {
  margin: 0;
  color: var(--color-text);
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: var(--ls-h1);
}

/* ===== Раскладка ===== */

body:not(.admin-body).pages.product .cln-body-grid {
  display: grid;
  grid-template-columns: 316px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  padding-top: 15px;
}

body:not(.admin-body).pages.product .cln-side {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Аккордеон разделов */
body:not(.admin-body).pages.product .cln-side-tree {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-bg);
}

body:not(.admin-body).pages.product .cln-side-item {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--color-border);
}

body:not(.admin-body).pages.product .cln-side-item:last-child { border-bottom: 0; }

body:not(.admin-body).pages.product .cln-side-link {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 18px;
  color: var(--color-text-muted);
  font-size: 14.5px;
  line-height: 1.4;
}

body:not(.admin-body).pages.product .cln-side-link.is-current {
  background: var(--color-bg-soft);
  color: var(--color-text);
  font-weight: var(--fw-bold);
}

body:not(.admin-body).pages.product .cln-side-sign {
  flex: none;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* #9BB8D5 давал 2,06:1 — ниже минимума 3:1 для графических элементов */
  border: 1px solid #6D8FB4;
  border-radius: 999px;
  color: #6D8FB4;
  font-size: 13px;
  line-height: 1;
}

body:not(.admin-body).pages.product .cln-side-link.is-current .cln-side-sign {
  border-color: #43709C;
  color: #43709C;
}

body:not(.admin-body).pages.product .cln-side-groups {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body).pages.product .cln-side-group {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 12px 18px;
  border-top: 1px solid #EAF2FB;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.4;
}

body:not(.admin-body).pages.product .cln-side-group.is-first {
  background: #EAF2FB;
  color: var(--color-text);
}

body:not(.admin-body).pages.product .cln-side-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid #9BB8D5;
  border-radius: var(--radius-card);
  background: var(--color-bg);
}

body:not(.admin-body).pages.product .cln-side-card-title {
  margin: 0;
  color: var(--color-text);
  font-size: 15.5px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
}

body:not(.admin-body).pages.product .cln-side-card-text {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 13.5px;
  line-height: 1.5;
}

/* ===== Правая колонка ===== */

body:not(.admin-body).pages.product .cln-main {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-intro-text {
  margin: 0;
  max-width: none;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.6;
}

/* Группа строкой: снимок, текст, кнопка; ниже марки двумя семействами */
body:not(.admin-body).pages.product .cln-group-row {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--color-border);
}

body:not(.admin-body).pages.product .cln-group-head {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
}

body:not(.admin-body).pages.product .cln-group-media {
  display: block;
  height: 118px;
  overflow: hidden;
  border-radius: var(--radius-control);
  background: var(--color-bg-soft);
}

body:not(.admin-body).pages.product .cln-group-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body:not(.admin-body).pages.product .cln-group-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-title {
  margin: 0;
  color: var(--color-text);
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -0.012em;
}

body:not(.admin-body).pages.product .cln-group-norms {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body).pages.product .cln-group-hint {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

body:not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-order {
  flex: none;
  min-height: var(--tap-min);
  padding-inline: 28px;
  border-color: #1870BD;
  background: #1870BD;
  color: var(--color-bg);
}

@media (hover: hover) {
  body:not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-order:hover {
    border-color: #145B91;
    background: #145B91;
  }
}

body:not(.admin-body).pages.product .cln-group-marks-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 236px;
}

body:not(.admin-body).pages.product .cln-group-marks-title {
  margin: 0;
  color: var(--color-text);
  font-size: 17px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
}

body:not(.admin-body).pages.product .cln-group-family {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body:not(.admin-body).pages.product .cln-group-family-title {
  margin: 0;
  color: var(--color-text);
  font-size: 14.5px;
  font-weight: var(--fw-bold);
  line-height: 1.5;
}

body:not(.admin-body).pages.product .cln-group-family-marks {
  margin: 0;
  color: #1870BD;
  font-size: 15px;
  line-height: 1.7;
}

/* ===== Таблицы характеристик и конструкции ===== */

body:not(.admin-body).pages.product .cln-table-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-table-block h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.24;
  letter-spacing: -0.014em;
}

body:not(.admin-body).pages.product .cln-tech-table {
  display: flex;
  flex-direction: column;
  margin: 0;
}

body:not(.admin-body).pages.product .cln-tech-row {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 28px;
  padding: 13px 0;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body).pages.product .cln-tech-row dt {
  color: var(--color-text);
  font-size: 14.5px;
  font-weight: var(--fw-bold);
  line-height: 1.4;
}

body:not(.admin-body).pages.product .cln-tech-row dd {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14.5px;
  line-height: 1.5;
}

/* ===== Карточка призыва ===== */

body:not(.admin-body).pages.product .cln-final-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 24px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-bg-soft);
}

body:not(.admin-body).pages.product .cln-final-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body:not(.admin-body).pages.product .cln-final-title {
  margin: 0;
  color: var(--color-text);
  font-size: 20px;
  font-weight: var(--fw-bold);
  line-height: 1.28;
  letter-spacing: -0.01em;
}

body:not(.admin-body).pages.product .cln-final-text {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14.5px;
  line-height: 1.5;
}

body:not(.admin-body).pages.product .cln-final-btn { flex: none; }

/* ===== Смежные разделы ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-related-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

/* ===== Планшет и телефон ===== */

@media (max-width: 1023px) {
  body:not(.admin-body).pages.product .cln-body-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  body:not(.admin-body).pages.product .cln-side { position: static; }

  body:not(.admin-body).pages.product .cln-group-head {
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-group-order {
    grid-column: 1 / -1;
    justify-self: start;
  }

  body:not(.admin-body).pages.product .cln-group-marks-block { padding-left: 0; }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-hero-band h1 {
    font-size: 26px;
    line-height: 1.16;
    letter-spacing: -0.03em;
  }

  body:not(.admin-body).pages.product .cln-group-head {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.admin-body).pages.product .cln-group-media { height: 148px; }

  body:not(.admin-body).pages.product .cln-tech-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  body:not(.admin-body).pages.product .cln-final-card {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 20px;
  }

  body:not(.admin-body).pages.product .cln-final-btn { width: 100%; }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-related-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Высота полосы заголовка и зазор до текста: у секций оставались свои
   padding-block (28/12), они складывались с отступом полосы и с зазором
   секции — до текста выходило 42px вместо 15 (просьба 28.08.2026) */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.cln-hero,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.cln-body,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product main > section.pcat-section {
  padding-block: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .cln-body-grid {
  padding-top: 0;
}

/* ============================================================
   Расшифровка по типам кабеля (31.08.2026): карточка на тип —
   вступление, группы букв, разбор марок и нормативы
   ============================================================ */
body:not(.admin-body).pages.cable_marking .cmk-types-lead {
  margin: 10px 0 0;
  color: var(--color-text-muted);
}

body:not(.admin-body).pages.cable_marking .cmk-type-list {
  display: grid;
  gap: 16px;
}

body:not(.admin-body).pages.cable_marking .cmk-type-card {
  /* Поле карточки — токен --pad-card, у панели букв ниже --pad-panel:
     на странице было три разных значения (18, 18/20 и 20/24) */
  padding: var(--pad-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body).pages.cable_marking .cmk-type-card h3 {
  margin: 0;
}

body:not(.admin-body).pages.cable_marking .cmk-type-intro {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-muted);
}

body:not(.admin-body).pages.cable_marking .cmk-type-group {
  margin-top: 16px;
}

body:not(.admin-body).pages.cable_marking .cmk-type-group h4 {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 21px;
  font-weight: var(--fw-bold);
  color: var(--color-text);
}

body:not(.admin-body).pages.cable_marking .cmk-type-norms {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-muted);
}

/* Список букв внутри карточки типа: своя раскладка, а не унаследованная
   от тёмной панели хаба — там строки вставали в колонки и раздували блок */
body:not(.admin-body).pages.cable_marking .cmk-type-card .cbl-decoding-list {
  display: block;
  margin: 0;
  padding: 0;
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cbl-decoding-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 8px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 0;
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cbl-decoding-row:first-child {
  border-top: 0;
  padding-top: 0;
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cbl-decoding-row dt {
  margin: 0;
  font-size: 14px;
  line-height: 21px;
  font-weight: var(--fw-bold);
  color: var(--color-text);
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cbl-decoding-row dd {
  margin: 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-muted);
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cmk-example-list {
  display: block;
  margin: 0;
  padding: 0;
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cln-spec-row {
  display: grid;
  gap: 4px;
  padding: 8px 0;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cln-spec-row:first-child {
  border-top: 0;
  padding-top: 0;
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cln-spec-row dt {
  margin: 0;
  font-weight: var(--fw-bold);
  color: var(--color-text);
}

body:not(.admin-body).pages.cable_marking .cmk-type-card .cln-spec-row dd {
  margin: 0;
  font-size: 14px;
  line-height: 21px;
  color: var(--color-text-muted);
}

@media (min-width: 1024px) {
  body:not(.admin-body).pages.cable_marking .cmk-type-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Пятая карточка («Провода») занимает всю ширину, а её группы букв идут
     в два столбца — по рендеру, чтобы не тянуться колонкой вниз */
  body:not(.admin-body).pages.cable_marking .cmk-type-card:last-child {
    grid-column: 1 / -1;
  }

  body:not(.admin-body).pages.cable_marking .cmk-type-card:last-child .cmk-type-group {
    break-inside: avoid;
  }

  body:not(.admin-body).pages.cable_marking .cmk-type-card:last-child .cmk-type-groups {
    columns: 2;
    column-gap: 32px;
  }
}

/* Кабель выше 1 кВ на странице силовых (31.08.2026) */
body:not(.admin-body).pages.product .cln-hv-lead {
  margin: 10px 0 0;
  color: var(--color-text-muted);
}

body:not(.admin-body).pages.product .cln-hv-subtitle {
  margin: 20px 0 10px;
}

body:not(.admin-body).pages.product .cln-hv-marks {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body).pages.product .cln-hv-marks li {
  padding: 10px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-bg-soft);
  font-size: 14px;
  line-height: 21px;
  color: var(--color-text);
}

/* ============================================================
   Расшифровка маркировки по рендеру (31.08.2026): первый экран в две
   колонки со снимком, лента якорей, разбор марок и отличия в колонки
   ============================================================ */
body:not(.admin-body).pages.cable_marking .cmk-hero-grid {
  display: grid;
  gap: 24px;
  align-items: center;
}

body:not(.admin-body).pages.cable_marking .cmk-hero-media {
  margin: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
}

body:not(.admin-body).pages.cable_marking .cmk-hero-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body:not(.admin-body).pages.cable_marking .cmk-anchors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body:not(.admin-body).pages.cable_marking .cmk-anchor {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap-min);
  padding: 0 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #ffffff;
  color: var(--color-text);
  font-size: 14px;
  line-height: 21px;
  text-decoration: none;
  transition: border-color var(--mo-hover) ease;
}

@media (hover: hover) {
  body:not(.admin-body).pages.cable_marking .cmk-anchor:hover {
    border-color: var(--color-border-hover);
  }
}

body:not(.admin-body).pages.cable_marking .cmk-example-list {
  display: grid;
  gap: 0 32px;
}

@media (min-width: 768px) {
  body:not(.admin-body).pages.cable_marking .cmk-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  }

  body:not(.admin-body).pages.cable_marking .cmk-hero-media {
    grid-row: 1 / span 2;
    grid-column: 2;
    height: 100%;
    max-height: 220px;
  }

  body:not(.admin-body).pages.cable_marking .cmk-anchors {
    grid-column: 1;
  }
}

@media (min-width: 1024px) {
  /* Две колонки пар «марка — расшифровка» по рендеру: общий список
     страницы марки раскладывал их в три */
  body:not(.admin-body):not(.admin-body).pages.cable_marking .cmk-examples .cmk-example-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.admin-body).pages.cable_marking .cmk-diff-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

body:not(.admin-body).pages.cable_marking .cmk-type-common {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--color-text-muted);
}

/* ============================================================
   /etmikab — страница бренда, перенесена со старого сайта 10.09.2026,
   вёрстка по макету KabEm Etmikab Web (11.09.2026): первый экран в две
   колонки с плашкой фактов и снимком, марки плитками, белая полоса
   «конструкция + исполнения + пожарный класс», стойкости сеткой и
   разделы каталога пилюлями. Палитра сайта: рамки --color-border,
   подписи #1870BD, текст и приглушённый текст по токенам. Из макета не
   переносятся H1 44 (на сайте 32/26), H2 30/24 (по токенам), радиусы
   14/18 (12/16), контейнер 1600 (общая .wrap).
   ============================================================ */

/* ===== Первый экран ===== */

/* Снимок не шире 643px и не больше 42% строки: фактам слева нужно
   место, иначе норматив рвался на четыре строки */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(643px, 42%));
  gap: 60px;
  align-items: center;
}

/* Лид — по эталону первых экранов (как «О компании»): 20px от H1, 17/1,55 */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero .lead {
  margin-top: 20px;
  font-size: 17px;
  line-height: 1.55;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 18px 0 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 20px;
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact dt {
  margin: 0;
  color: #1870BD;
  font-size: 13px;
  font-weight: var(--fw-bold);
  line-height: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact dd {
  margin: 0;
  color: var(--color-text);
  font-size: 16px;
  font-weight: var(--fw-bold);
  line-height: 1.4;
  letter-spacing: -0.006em;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact-link {
  position: relative;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
}

/* Строка в 20px: зона нажатия расширяется до 44 — других нажимаемых
   элементов в плашке фактов нет */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact-link::after {
  content: "";
  position: absolute;
  inset: -12px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact-link:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact-link:focus-visible {
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-media {
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-img {
  display: block;
  width: 100%;
  max-width: 643px;
  height: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

/* ===== Шапка секции: заголовок слева, пояснение справа ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 14px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-section-head h2 {
  margin: 0;
}

/* Заголовки секций — табличные 24/30, как секционные H2 сайта; «Виды
   исполнений», «Класс пожарной опасности» и «Разделы каталога» —
   подзаголовки 20/25, как прочие H2. Макет держит ту же разницу (30/24). */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page .etm-section-head > h2,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page .etm-band-main > h2,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page .etm-resist h2 {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: var(--ls-h2);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page h2.etm-subtitle {
  font-size: 20px;
  line-height: 25px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-section-head p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

/* ===== Марки: по группам, плитка марки — ссылка на её страницу ===== */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-mark-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #ffffff;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition: border-color 0.22s ease, color 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-mark-link:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-mark-link:focus-visible {
  border-color: #1870BD;
  color: #1870BD;
}

/* Страница марки: «В заявку» под фактами — позиция уезжает в список заявки */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-actions {
  display: flex;
  margin-top: 18px;
}

/* ===== Белая полоса: конструкция, исполнения, пожарный класс =====
   Свой воздух полосы — на самой секции: пять :not и два класса страницы
   сильнее общего обнуления паддингов секций. */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main > section.etm-band {
  padding-block: 30px 34px;
  background: #ffffff;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  gap: 60px;
  align-items: start;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-band-main h2 {
  margin: 0 0 14px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-band-side {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-subtitle {
  margin: 0 0 12px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows {
  margin: 0;
  padding: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-row {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 32px;
  padding: 13px 0;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-row dt {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  font-weight: var(--fw-bold);
  line-height: 1.45;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-row dd {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.55;
}

/* Исполнения: название слева приглушённым, обозначение справа */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--versions .etm-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 11px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--versions dt {
  color: var(--color-text-muted);
  font-weight: 400;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--versions dd {
  color: var(--color-text);
  font-weight: var(--fw-bold);
  line-height: 1.45;
  white-space: nowrap;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--fire .etm-row {
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 20px;
  padding: 11px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--fire dt {
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--fire dd {
  line-height: 1.5;
}

/* ===== Стойкость: сетка в рамке =====
   Разделители — левые и нижние границы плиток, крайние срезает рамка
   (overflow). Пустая клетка последнего ряда остаётся белой, а не серой. */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist h2 {
  margin: 0 0 14px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid li {
  display: flex;
  align-items: center;
  min-height: 64px;
  margin: 0 0 -1px -1px;
  padding: 16px 20px;
  border-left: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.45;
}

/* Неполный последний ряд: у последней плитки своя правая граница, иначе
   она открыта в пустую клетку и выглядит обрезанной */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid li:last-child:not(:nth-child(4n)) {
  border-right: 1px solid var(--color-border);
}

/* ===== Разделы каталога: заголовок и пилюли в строку ===== */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-related-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-related-row .etm-subtitle {
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-related-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: var(--tap-min);
  padding: 0 20px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color 0.22s ease, color 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-pill .contact-link-arrow {
  color: #43709C;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-pill:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-pill:focus-visible {
  border-color: #1870BD;
  color: #1870BD;
}

/* ===== Ноутбук, планшет, телефон ===== */

@media (max-width: 1279px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-band-grid {
    gap: 40px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--construction .etm-row {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 24px;
  }
}

@media (max-width: 1023px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-band-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid li:last-child:not(:nth-child(4n)) {
    border-right: 0;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid li:last-child:not(:nth-child(2n)) {
    border-right: 1px solid var(--color-border);
  }
}

@media (max-width: 767px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-facts {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-section-head {
    flex-direction: column;
    gap: 6px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main > section.etm-band {
    padding-block: 24px 28px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--construction .etm-row,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-rows--fire .etm-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-resist-grid li:last-child:not(:nth-child(2n)) {
    border-right: 0;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page .etm-section-head > h2,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page .etm-band-main > h2,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page .etm-resist h2 {
    font-size: 22px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab main.etm-page h2.etm-subtitle {
    font-size: 19px;
    line-height: 23.75px;
  }

  /* ===== Телефон по макету KabEm Etmikab Mobile (13.09.2026). Из макета
     не переносятся кегли (H1 26, H2 22 и лид 17 — сайтовые), радиусы
     (16 и 12 вместо 20 и 14), поля .wrap (16, не 20) и липкая нижняя
     полоса — её сняли с сайта 31.08.2026 ===== */

  /* Первый экран: снимок встаёт между лидом и плашкой фактов — колонка
     раскрывается в сетку, порядок задаёт order */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-copy {
    display: contents;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-grid {
    gap: 12px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-copy > h1 {
    order: 1;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero .lead {
    order: 2;
    margin-top: 0;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-hero-media {
    order: 3;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-facts {
    order: 4;
    margin-top: 0;
  }

  /* Факт — строка «подпись слева, значение справа» */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fact dd {
    text-align: right;
  }

  /* Заголовок свёрнутого перечня — строка: .etm-section-head уводит шапки
     секций в столбик, аккордеону это не нужно */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold-head {
    flex-direction: row;
  }

  /* Разделы каталога — строки во всю ширину, стрелка справа */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-related-list {
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-pill {
    justify-content: space-between;
    width: 100%;
    border-radius: var(--radius-control);
  }
}

/* Марки ЭТМИКАБ по группам: номер группы и её конструкция слева, марки
   ссылками-плитками справа. Группа — <details>: на широком экране она
   раскрыта и её заголовок не нажимается, на телефоне это аккордеон */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-groups {
  display: flex;
  flex-direction: column;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 32px;
  align-items: baseline;
  padding: 13px 0;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--color-text);
  font-size: 15px;
  font-weight: var(--fw-bold);
  line-height: 1.45;
  list-style: none;
  /* На широком экране группы раскрыты, нажимать заголовок нечем */
  pointer-events: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-head::-webkit-details-marker {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-title {
  flex: 1;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-count,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-sign {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-mark-group-num {
  flex: none;
  color: #1870BD;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-mark-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Телефон: группа марок — аккордеон, плитки в две колонки. Правила идут
   после базовых: те объявлены ниже медиазапросов раздела (13.09.2026) */
@media (max-width: 767px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-head {
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 10px 0;
    pointer-events: auto;
    cursor: pointer;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-count {
    flex: none;
    display: block;
    color: var(--color-text-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group-sign {
    flex: none;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    color: #1870BD;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group[open] .etm-group-sign::before { content: "–"; }
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group:not([open]) .etm-group-sign::before { content: "+"; }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-group[open] .etm-mark-list {
    padding-bottom: 14px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-mark-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-mark-link {
    min-height: var(--tap-min);
    padding: 10px 8px;
    font-size: 14px;
  }
}

/* ============================================================
   Каталог позиций (11.09.2026) — раскладка макета KabEm Power Cable Web v5,
   общая для /etmikab и силового раздела /catalog/kabel/silovye: строки
   быстрого подбора, слева дерево, подбор и карточка запроса, справа
   счётчик, карточки позиций, «Показать ещё» и характеристики. Из макета не
   переносятся палитра (активные чипы — тёмный --color-primary сайта,
   рамки --color-border), радиусы 18/22 (12/16), кнопки 44 (48), H2 22
   (20/25) и липкая колонка: подбор выше экрана, нижние фильтры были бы
   недоступны.
   ============================================================ */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-quick {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 16px 20px;
  align-items: center;
}

/* Подпись строки — на уровне первого ряда чипов: марки переносятся на
   второй ряд, и по центру подпись повисала между рядами */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-quick-label {
  align-self: start;
  padding-top: 13px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-quick-label,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-filter-title {
  color: var(--color-text);
  font-size: 14px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--tap-min);
  padding: 0 16px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--color-text);
  font-size: 14.5px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  transition: border-color 0.22s ease, color 0.22s ease, background 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chip:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chip:focus-visible {
  border-color: #1870BD;
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chip.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #ffffff;
}

/* Чипы подбора в колонке — 40px, до 44 по нажатию добирает псевдоэлемент */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chips--compact {
  gap: 6px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chips--compact .pcat-chip {
  min-height: 40px;
  padding: 0 14px;
  font-size: 13.5px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chips--compact .pcat-chip::after {
  content: "";
  position: absolute;
  inset: -2px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-grid {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-top: 15px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-side {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Панель дерева и подбора: на десктопе раскрыта всегда, заголовок-
   переключатель виден только до 1024 */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel > summary {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Шапка, подвал и иконка кнопки — части нижнего листа, строка выбранного
   нужна там же: до 768 подбор виден в самой панели слева */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-head,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-foot,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-icon,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chosen {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-scroll {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Дерево: группы ЭТМИКАБ или разделы кабеля */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

/* Раздел в дереве: строка «ссылка на раздел + кнопка плюс/минус», под
   ней группы раздела (раскрывает и сворачивает кнопка, 11.09.2026) */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-item {
  border-bottom: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-item:last-child {
  border-bottom: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-row {
  display: flex;
  align-items: stretch;
  transition: background 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-row.is-active {
  background: #EAF2FB;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  min-height: 52px;
  padding: 11px 6px 11px 18px;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: background 0.22s ease, color 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-link:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-link:focus-visible {
  color: var(--color-text);
  background: var(--color-bg-soft);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-link.is-active {
  color: var(--color-text);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-title {
  font-size: 14.5px;
  line-height: 1.4;
}

/* Кнопка плюс/минус: раскрывает группы раздела на месте, без перехода.
   Цель нажатия — вся высота строки и 52px в ширину */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-toggle {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-height: 52px;
  padding: 0 14px 0 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-toggle:hover .pcat-tree-sign,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-toggle:focus-visible .pcat-tree-sign {
  border-color: #1870BD;
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sign {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid #6D8FB4;
  border-radius: 999px;
  color: #6D8FB4;
  font-size: 13px;
  line-height: 1;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-toggle[aria-expanded="true"] .pcat-tree-sign {
  border-color: #43709C;
  color: #43709C;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-link.is-active .pcat-tree-title {
  font-weight: var(--fw-bold);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-num {
  margin-right: 8px;
  color: #1870BD;
  font-weight: var(--fw-bold);
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-meta {
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}

/* Группы ЭТМИКАБ под его пунктом в дереве разделов */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sub {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 4px 0 8px;
  list-style: none;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sub[hidden] {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sub-link {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-height: 40px;
  padding: 9px 18px 9px 26px;
  color: var(--color-text-muted);
  font-size: 13.5px;
  line-height: 1.35;
  text-decoration: none;
  transition: background 0.22s ease, color 0.22s ease;
}

/* До 44 по нажатию добирает псевдоэлемент */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sub-link::after {
  content: "";
  position: absolute;
  inset: -2px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sub-link:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sub-link:focus-visible {
  color: var(--color-text);
  background: var(--color-bg-soft);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tree-sub-link.is-active {
  color: var(--color-text);
  font-weight: var(--fw-bold);
  box-shadow: inset 3px 0 0 #1870BD;
}

/* Фильтры подбора — сворачиваемые, как на кабель.рф */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facets {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet {
  border-bottom: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet:last-child {
  border-bottom: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: var(--tap-min);
  color: var(--color-text);
  font-size: 14px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-summary::-webkit-details-marker {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-title {
  flex: 1;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--color-primary);
  color: #ffffff;
  font-size: 12px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-chevron {
  flex: none;
  width: 8px;
  height: 8px;
  margin: 0 4px 3px;
  border-right: 1.5px solid #43709C;
  border-bottom: 1.5px solid #43709C;
  transform: rotate(45deg);
  transition: transform 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet[open] .pcat-facet-chevron {
  margin-bottom: -3px;
  transform: rotate(-135deg);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 0 12px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-search {
  width: 100%;
  min-height: var(--tap-min);
  padding: 0 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #ffffff;
  color: var(--color-text);
  font-size: 14px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-facet-search[hidden] {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-options {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-options--scroll {
  max-height: 264px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-options--chips {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 6px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-options--chips .pcat-chip {
  min-height: 36px;
  min-width: 44px;
  padding: 0 12px;
  font-size: 13.5px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-options--chips .pcat-chip::after {
  content: "";
  position: absolute;
  inset: -4px -3px;
}

/* Значение фильтра — строка с флажком: отмеченное залито тёмным */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 6px 0;
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.3;
  text-decoration: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-option::before {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: 1.5px solid #6D8FB4;
  border-radius: 4px;
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-option::after {
  content: "";
  position: absolute;
  inset: -4px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-option:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-option:focus-visible {
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-option.is-active::before {
  border-color: var(--color-primary);
  background: var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.5-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-options-empty {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 13.5px;
}

/* Подбор */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-filters {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-filters-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-eyebrow {
  color: #1870BD;
  font-size: 13px;
  font-weight: var(--fw-bold);
  line-height: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* «Сбросить» — строчная ссылка; область нажатия 44 за счёт полей */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-reset {
  margin: -13px 0;
  padding: 13px 0;
  color: #43709C;
  font-size: 13px;
  line-height: 18px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-filter {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Карточка запроса — как «Каталог по запросу» в разделах кабеля */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-help {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-help-title {
  margin: 0;
  color: var(--color-text);
  font-size: 15.5px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-help-text {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 13.5px;
  line-height: 1.5;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-help-link,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-more-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: var(--tap-min);
  color: #43709C;
  font-size: 14.5px;
  line-height: 1.2;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-help-link {
  align-self: flex-start;
  font-weight: var(--fw-bold);
}

/* Правая колонка */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-main {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-width: 0;
}

/* Пока скрипт подгружает новую выдачу, карточки приглушены */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product [data-pcat][aria-busy="true"] .pcat-main {
  opacity: 0.6;
  transition: opacity 0.2s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-counter,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-more {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  padding: 14px 24px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

/* Список заявки: сколько позиций уже сложено кнопкой «В заявку» */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-basket {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 24px;
  margin: 0;
  padding: 6px 24px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-card);
  background: #EAF2FB;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.4;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-basket[hidden] {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-basket-text {
  font-weight: var(--fw-bold);
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-basket-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: var(--tap-min);
  color: #43709C;
  font-size: 14.5px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-count {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-note,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-more-done {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14.5px;
  line-height: 1.4;
}

/* Карточки позиций: четыре в ряд, снимок группы полосой 110px — кабель
   прижат вправо, чтобы в кадр попадала разделка жил */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
  transition: border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

@media (hover: hover) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card:hover {
    border-color: var(--color-border-strong);
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(16, 35, 60, 0.1);
  }
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-media {
  display: block;
  height: 110px;
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-media picture {
  display: block;
  height: 100%;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px 16px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-title {
  position: relative;
  color: var(--color-text);
  font-size: 16px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
  letter-spacing: -0.008em;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}

/* Название — строка в 21px: зону нажатия расширяем до 44, как требует
   правило целей нажатия; кнопки карточки ниже и не перекрываются */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-title::after {
  content: "";
  position: absolute;
  inset: -12px 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-title:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-title:focus-visible {
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-label {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-specs {
  display: flex;
  flex-direction: column;
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-spec {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-top: 1px solid var(--color-border);
  font-size: 13px;
  line-height: 1.4;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-spec dt {
  color: var(--color-text-muted);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-spec dd {
  margin: 0;
  color: var(--color-text);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 10px;
  margin-top: auto;
  padding-top: 10px;
}

/* Ширина одна в обоих состояниях («В заявку» / «В заявке»): кнопка и
   ссылка «О марке» стоят в строку даже в самой узкой карточке (177px при
   1024) и не сдвигаются при добавлении. Галочку у кнопки карточки не
   ставим — на неё ширины нет; состояние видно по заливке и подписи. */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-order {
  flex: none;
  width: 88px;
  padding: 0;
  font-size: 14px;
  white-space: nowrap;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .btn.pcat-card-order.is-added::before {
  content: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-mark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: var(--tap-min);
  color: #43709C;
  font-size: 13.5px;
  line-height: 1.4;
  white-space: nowrap;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-empty {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 28px 24px;
  border: 1px dashed var(--color-border-strong);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-empty-title {
  margin: 0;
  color: var(--color-text);
  font-size: 17px;
  font-weight: var(--fw-bold);
  line-height: 1.3;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-empty-text {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

/* Характеристики — белая карточка со строками, как в макете */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech {
  padding: 20px 24px 8px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech h2 {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 25px;
  letter-spacing: var(--ls-h2);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech-table {
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech-row {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 32px;
  padding: 13px 0;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech-row:first-child {
  border-top: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech-row dt {
  margin: 0;
  color: var(--color-text);
  font-size: 14.5px;
  font-weight: var(--fw-bold);
  line-height: 1.45;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech-row dd {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 14.5px;
  line-height: 1.55;
}

/* Перечень марок свёрнут: заголовок — строка с «плюсом», раскрывается
   нажатием (просьба 13.09.2026). Панель та же, что у характеристик */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold:not([open]) {
  padding: 8px 24px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold-head,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold-head {
  display: flex;
  align-items: center;
  min-height: var(--tap-min);
  justify-content: flex-start;
  gap: 12px;
  list-style: none;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

/* Свёрнутый перечень ЭТМИКАБ — панелью, как у страниц марок: строкой
   высотой 44 он давал зазоры 22–23 вместо 15 (аудит 16.09.2026) */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold {
  padding: 8px 24px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: var(--color-bg);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold[open] {
  padding-bottom: 24px;
}

/* Пояснение к записи марок — строкой над перечнем */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold-note {
  margin: 0 0 14px;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold-head::-webkit-details-marker,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold-head::-webkit-details-marker {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold-head h2 {
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold[open] .pcat-fold-head {
  margin-bottom: 12px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold-sign,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold-sign {
  flex: none;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #1870BD;
  border-radius: 999px;
  background: #F1F6FB;
  color: #1870BD;
  font-size: 17px;
  line-height: 1;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold-head:hover .pcat-fold-sign,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold-head:hover .etm-fold-sign {
  border-color: #08365A;
  background: #DCEAF7;
  color: #08365A;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold-head:focus-visible,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold-head:focus-visible {
  outline: 2px solid #1870BD;
  outline-offset: 3px;
  border-radius: 8px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold[open] .pcat-fold-sign::before,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold[open] .etm-fold-sign::before { content: "–"; }
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-fold:not([open]) .pcat-fold-sign::before,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold:not([open]) .etm-fold-sign::before { content: "+"; }

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold[open] .etm-fold-head {
  margin-bottom: 14px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.etmikab .etm-fold:not([open]) .etm-fold-head {
  margin-bottom: 0;
}

/* Перечень марок раздела — ссылками цвета ссылок, как прежде в группах */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-marks dd {
  color: #1870BD;
  font-size: 15px;
}

@media (max-width: 1279px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-grid {
    grid-template-columns: 280px minmax(0, 1fr);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech-row {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px;
  }
}

/* До 1024 колонка уходит наверх, дерево и подбор сворачиваются в панель,
   карточка запроса скрыта: те же ссылки есть под карточками и в финале */
@media (max-width: 1023px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    background: #ffffff;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: var(--control-h);
    padding: 12px 18px;
    color: var(--color-text);
    font-size: 15px;
    font-weight: var(--fw-bold);
    line-height: 1.3;
    list-style: none;
    cursor: pointer;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel > summary::-webkit-details-marker {
    display: none;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-title {
    flex: 1;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-sign {
    flex: none;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #43709C;
    border-radius: 999px;
    color: #43709C;
    font-size: 13px;
    line-height: 1;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel[open] .pcat-panel-sign::before { content: "–"; }
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel:not([open]) .pcat-panel-sign::before { content: "+"; }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-body {
    padding: 0 12px 12px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-help {
    display: none;
  }
}

@media (max-width: 767px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-quick {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-quick-label {
    padding-top: 0;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chips + .pcat-quick-label {
    margin-top: 6px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  /* В узкой карточке кнопка и ссылка не встают в строку: «В заявку» во всю
     ширину, «О марке» под ней по центру */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-order {
    width: 100%;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-card-mark {
    justify-content: center;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-counter,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-more {
    padding: 12px 16px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-basket {
    padding: 6px 16px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech {
    padding: 16px 16px 4px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech h2 {
    font-size: 19px;
    line-height: 23.75px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-tech-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  /* Подбор на телефоне — нижний лист: строки быстрого подбора нет, её
     значения есть в самом листе; заголовок панели становится кнопкой
     (макет KabEm Etmikab Mobile, 13.09.2026) */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-quick {
    display: none;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel {
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel > summary {
    justify-content: center;
    gap: 10px;
    height: var(--control-h);
    padding: 0 22px;
    border-radius: 999px;
    background: var(--btn-deep);
    color: #ffffff;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-title {
    flex: none;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel-sign {
    display: none;
  }

  /* Пока лист открыт, кнопки-открывашки нет: она осталась бы висеть
     поверх подбора посреди экрана (просьба 14.09.2026) */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel[open] > summary {
    display: none;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel[open]::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(6, 26, 50, 0.55);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-panel[open] .pcat-panel-body {
    position: fixed;
    inset: auto 0 0 0;
    z-index: 61;
    /* Шапка сайта остаётся видной над листом */
    max-height: calc(100dvh - 72px);
    gap: 0;
    overflow: hidden;
    border-radius: var(--radius-card) var(--radius-card) 0 0;
    background: var(--bg);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-head {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 20px;
    border-bottom: 1px solid var(--color-border);
    background: #ffffff;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-title {
    color: var(--color-text);
    font-size: 17px;
    font-weight: var(--fw-bold);
    line-height: 1.3;
    letter-spacing: var(--ls-h3);
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-close {
    flex: none;
    width: var(--tap-min);
    height: var(--tap-min);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-scroll {
    flex: 1;
    min-height: 0;
    padding: 16px 20px 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-foot {
    flex: none;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px calc(16px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--color-border);
    background: #ffffff;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-reset {
    flex: none;
    padding: 0 20px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-apply {
    flex: 1;
    min-width: 0;
    padding: 0 16px;
  }

  /* Что выбрано — чипами под кнопкой, переносом: лента с прокруткой вбок
     прячет хвост за краем экрана */
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chosen {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chosen-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: var(--tap-min);
    padding: 0 14px;
    border: 1px solid #9BB8D5;
    border-radius: 999px;
    background: #EAF2FB;
    color: var(--color-text);
    font-size: 14px;
    line-height: 1.2;
    text-decoration: none;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chosen-chip::after {
    content: "×";
    color: #43709C;
    font-size: 16px;
    line-height: 1;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-chosen-reset {
    display: inline-flex;
    align-items: center;
    min-height: var(--tap-min);
    padding: 0 6px;
    color: #43709C;
    font-size: 14px;
    line-height: 1.2;
    text-decoration: none;
  }

  /* Пока лист открыт, страница под ним не прокручивается */
  body:not(.admin-body).pcat-sheet-open {
    overflow: hidden;
  }
}

/* На узком экране «Сбросить» и «Показать N позиций» в строку не встают */
@media (max-width: 479px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-foot {
    flex-wrap: wrap;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-reset,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .pcat-sheet-apply {
    flex: 1 1 100%;
  }
}

/* ============================================================
   Страницы типоразмера и марки (szp-*) — как карточка товара на
   кабель.рф (11.09.2026): H1 во всю ширину, ниже белая карточка —
   слева снимок группы и главное о позиции строками с отточием, справа
   переключатели марки, числа жил, напряжения и сечения и «В заявку».
   Под карточкой — характеристики по каталогу в две колонки. Палитра,
   радиусы 12/16, кнопки 48 и цели нажатия 44 — сайтовые.
   ============================================================ */

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sub {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 8px;
  margin: 10px 0 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.45;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sub-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap-min);
  margin: -10px 0;
  color: #43709C;
  font-weight: var(--fw-bold);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sub-sep {
  color: var(--color-border-strong);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-lead {
  margin: 10px 0 0;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.55;
}

/* Карточка позиции: слева снимок и главное, справа подбор и заявка */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "media pick" "facts pick";
  grid-template-rows: auto 1fr;
  gap: 20px 40px;
  margin-top: 20px;
  padding: 24px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-media {
  grid-area: media;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-media picture {
  display: block;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-img {
  display: block;
  width: 100%;
  height: auto;
}

/* Снимок раздела (контрольные) — кадр полосой той же пропорции, что у
   снимков групп: 933 × 301 */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-img--photo {
  aspect-ratio: 933 / 301;
  object-fit: cover;
  object-position: center 55%;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-facts-block {
  grid-area: facts;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-facts {
  align-self: stretch;
  margin: 0;
}

/* Строка «параметр ……… значение»: отточие тянется между подписью и
   значением, длинное значение переносится под себя справа */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-fact {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 6px 0;
  font-size: 15px;
  line-height: 1.45;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-fact dt {
  display: flex;
  flex: 1 1 auto;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  margin: 0;
  color: var(--color-text-muted);
  white-space: nowrap;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-fact dt::after {
  content: "";
  flex: 1 1 16px;
  min-width: 16px;
  border-bottom: 1px dotted var(--color-border-strong);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-fact dd {
  flex: 0 1 auto;
  max-width: 58%;
  margin: 0;
  color: var(--color-text);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-all-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap-min);
  color: #43709C;
  font-size: 14.5px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
}

/* Подбор: переключатели столбиком, под ними заявка */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-pick {
  grid-area: pick;
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-switches {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-switch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-switch-label {
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.3;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-segments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-segment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--tap-min);
  min-height: var(--tap-min);
  padding: 0 14px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-control);
  background: #ffffff;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 0.22s ease, color 0.22s ease, background 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-segment:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-segment:focus-visible {
  border-color: #1870BD;
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-segment.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #ffffff;
}

/* Выпадающий список: закрытый — поле 48px со значением и стрелкой */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select {
  position: relative;
  width: 100%;
  max-width: 320px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: var(--control-h);
  padding: 0 16px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-control);
  background: #ffffff;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
  list-style: none;
  cursor: pointer;
  transition: border-color 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-summary::-webkit-details-marker {
  display: none;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-summary:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select[open] > .szp-select-summary {
  border-color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-chevron {
  flex: none;
  width: 8px;
  height: 8px;
  margin: 0 2px 3px;
  border-right: 1.5px solid #43709C;
  border-bottom: 1.5px solid #43709C;
  transform: rotate(45deg);
  transition: transform 0.22s ease;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select[open] .szp-select-chevron {
  margin-bottom: -3px;
  transform: rotate(-135deg);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-list {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  left: 0;
  box-sizing: border-box;
  min-width: 100%;
  max-height: 312px;
  margin: 0;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-control);
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(16, 35, 60, 0.14);
  list-style: none;
}

/* Короткие значения (числа, сечения) — сеткой, как ячейки таблицы */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-list--grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  width: max(100%, 300px);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-option {
  display: flex;
  align-items: center;
  min-height: var(--tap-min);
  padding: 0 12px;
  border-radius: var(--radius-control);
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
  white-space: nowrap;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-list--grid .szp-option {
  justify-content: center;
  padding: 0 6px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-option:hover,
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-option:focus-visible {
  background: #EAF2FB;
  color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-option.is-active {
  background: var(--color-primary);
  color: #ffffff;
}

/* Метраж перед «В заявку» (16.09.2026): подпись как у переключателей,
   поле высотой управления; от переключателей отделено линией */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding-top: 22px;
  border-top: 1px solid var(--color-border);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty-label {
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.3;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty-input {
  width: 100%;
  max-width: 296px;
  height: var(--control-h);
  padding: 0 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-bg);
  color: var(--color-text);
  /* 16, не меньше: на iPhone поле мельче 16px приближает страницу */
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty-input::placeholder {
  color: #718096;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty-input:focus-visible {
  outline: 2px solid #1870BD;
  outline-offset: 1px;
  border-color: #1870BD;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty.has-error .szp-qty-input {
  border: 2px solid var(--color-error);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty-error {
  margin: 0;
  color: var(--color-error);
  font-size: 13px;
  font-weight: var(--fw-bold);
  line-height: 1.35;
}

/* На телефоне списки переключателей во всю ширину — поле тоже */
@media (max-width: 767px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-qty-input {
    max-width: none;
  }
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 28px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-order {
  min-width: 168px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: var(--tap-min);
  color: #43709C;
  font-size: 15px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-note {
  margin: -8px 0 0;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.45;
}

/* Подбор типоразмера на странице марки — переключатели в строку */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 40px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-head h2 {
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-head p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-card .szp-switches {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 18px 32px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-card .szp-select {
  width: 260px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ===== Характеристики ===== */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-specs-card {
  padding: 24px 28px 8px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  background: #ffffff;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-specs-card h2 {
  margin: 0 0 18px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-specs-card h3 {
  margin: 0 0 8px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-purpose {
  margin-bottom: 22px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-purpose p {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.6;
}

/* Группы строк текут в две колонки и не рвутся между ними */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-columns {
  columns: 2;
  column-gap: 48px;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-group {
  margin: 0 0 22px;
  break-inside: avoid;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-list {
  margin: 0;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-row {
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
  gap: 16px;
  padding: 10px 0;
  border-top: 1px solid var(--color-border);
  font-size: 14.5px;
  line-height: 1.5;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-row dt {
  margin: 0;
  color: var(--color-text-muted);
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-row dd {
  margin: 0;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-decoding .szp-spec-row {
  grid-template-columns: minmax(0, 30%) minmax(0, 1fr);
  align-items: baseline;
}

/* Буква обозначения — плашкой, как в расшифровке маркировки */
body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-code {
  display: inline-block;
  min-width: 32px;
  padding: 1px 10px;
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  background: #EAF2FB;
  color: var(--color-text);
  font-weight: var(--fw-bold);
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 1023px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "media" "pick" "facts";
    grid-template-rows: none;
    gap: 22px;
    padding: 20px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-columns {
    columns: 1;
  }
}

@media (max-width: 767px) {
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-card,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-card {
    padding: 16px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-specs-card {
    padding: 16px 16px 4px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-spec-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-card .szp-select,
  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select {
    max-width: none;
    width: 100%;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-sizes-card .szp-switch {
    flex: 1 1 100%;
  }

  body:not(.admin-body):not(.admin-body):not(.admin-body):not(.admin-body).pages.product .szp-select-list--grid {
    width: 100%;
  }
}
