/* pbn-enhance.css — дополнения к style.css макета webconveyor.ru под токен-движок BablO$.
   Статичная часть: сид страниц (bin/pbn/webconveyor_2_pages.php) копирует этот файл в
   public/sites/webconveyor-ru/assets/a/d0f16201c9a9.css как есть. Масок иконок у сайта нет: SVG иконок из данных —
   чанки ch_ic<размер>_<ключ> с icon() макета (bin/pbn/webconveyor_1_schema.php).
   Только переменные и классы макета; своих классов нет — кроме служебных классов движка
   (.bf-msg, .bf-ok, .bf-err, .pdo-pagenav, .pdo-pagebtn, .active). */

/* Лид шапки страницы: у макета — if ($heroLeadTxt !== ''); пустой TV hero_lead — пустой абзац */
.phero__lead:empty{display:none}

/* «Текст» страницы там, где у макета своего места нет, — секция .sec > .wrap > .read.txt единственным ребёнком
   (чанк ch_sec_text): пустой «Текст» — секции нет, иначе пустая полоса отступов. У хаба «Создание сайтов» (рядом тезисы)
   и «Почему мы» (рядом заголовок и фото) .read.txt в .wrap не один — эти секции не прячутся */
.sec:has(> .wrap > .read.txt:only-child:empty){display:none}

/* Полоса работ у услуги: у макета — «Работы в этом формате» при своих кейсах, иначе «Наши работы» (первые 4). Обе полосы
   (.sec > .wrap > .works) стоят в шаблоне подряд, а полосы формата без кейсов в разметке нет — запасная «Наши работы»
   прячется, только если прямо перед ней полоса формата. Больше нигде две секции .works подряд не стоят */
.sec:has(> .wrap > .works) + .sec:has(> .wrap > .works){display:none}

/* Абзац рядом с фото услуги: пустой TV svc_text (живая услуга без текста макета) — абзаца нет, кнопки остаются */
.slead__txt > p:empty{display:none}

/* Сводка кейса: строка без значения (у кейсов живого сайта нет отрасли, города, срока, года) — строки нет */
.csum__r:has(> .csum__v:empty){display:none}

/* Тексты из админки и живого сайта в колонке чтения .read.txt и в политике .privacy: сброс style.css снимает у списков
   маркеры и отступы, у заголовков и абзацев — поля (у макета там только абзацы, .txt p + p); H2 макета (до 56px,
   заглавными) внутри текста статьи слишком крупный — уменьшен в пределах той же гарнитуры */
.read.txt > * + *,.privacy > * + *{margin-top:18px}
.read.txt ul,.privacy ul{padding-left:1.4em;list-style:disc}
.read.txt ol,.privacy ol{padding-left:1.4em;list-style:decimal}
.read.txt li + li,.privacy li + li{margin-top:8px}
.read.txt h2{margin-top:40px;font-size:clamp(24px,2.6vw,34px);line-height:1}
.read.txt h3{margin-top:32px}
.read.txt img{height:auto;border-radius:var(--r-card)}
.read.txt table{display:block;overflow-x:auto;font-size:15px}
.read.txt th,.read.txt td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.read.txt th{font-family:var(--font-d);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.read.txt iframe{width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:var(--r-card)}
.read.txt blockquote{padding-left:20px;border-left:3px solid var(--accent)}

/* Ответ форм движка ([[+msg]] на месте p.form__ok макета): вид .form__ok (зелёная плашка); ошибка — акцентным цветом
   палитры; в сетках .form--row и .form--big — во всю ширину, как у .form__ok. Скрытое состояние держит
   [hidden]{display:none!important} из style.css */
.form .bf-msg{margin-top:18px;padding:16px 20px;background:var(--green);color:var(--cream);border-radius:var(--r-field);font-size:15px}
.form .bf-msg.bf-err{background:var(--accent)}
.form--row .bf-msg,.form--big .bf-msg{grid-column:1 / -1}

/* Лента записей (у макета ленты нет — приём .pempty портфолио): абзац «пока нет материалов» виден, только если сетки
   нет; между ними бывает навигация листания движка, поэтому ~. У портфолио .pempty [data-works-empty] управляет main.js
   атрибутом hidden — его правило не трогает */
.works ~ .pempty:not([data-works-empty]){display:none}

/* Листание ленты — навигация движка под сеткой: вид кнопок-таблеток макета (.btn, .rev-arrow; у кнопок движка
   инлайн-стили, поэтому !important), текущая страница — залитая акцентом, крайние неактивные — приглушённые */
.pdo-pagenav{justify-content:center!important;gap:8px!important;margin:44px 0 0!important}
.pdo-pagenav .pdo-pagebtn{min-width:46px;height:46px;padding:0 16px!important;border:1.5px solid var(--accent)!important;border-radius:var(--r-pill)!important;background:transparent!important;color:var(--accent)!important;font-family:var(--font-d);font-weight:700;font-size:13px;letter-spacing:.06em;cursor:pointer}
.pdo-pagenav .pdo-pagebtn:hover,.pdo-pagenav .pdo-pagebtn.active{background:var(--accent)!important;color:var(--cream)!important}
.pdo-pagenav .pdo-pagebtn[disabled],.pdo-pagenav .pdo-pagebtn[disabled]:hover{opacity:.4;cursor:default;background:transparent!important;color:var(--accent)!important}
