/* pbn-enhance.css — дополнения к style.css макета veles-web.ru под токен-движок BablO$.
   Статичная часть: сид страниц (bin/pbn/veles-web_2_pages.php) копирует этот файл в
   public/sites/veles-web-ru/assets/a/931ebefd317f.css и дописывает в конец маски иконок i[data-ic="<ключ>"].
   Только переменные и классы макета; своих классов нет — кроме служебных классов движка
   (.bf-msg, .bf-ok, .bf-err, .pdo-pagenav, .pdo-pagebtn, .active). */

/* Иконки из данных (аккордеон услуг — TV svc_icon, карточки «Типы лендингов» — колонка icon, рисунок CTA-полосы —
   TV cta_icon): значения экранируются, SVG туда нельзя. В разметке — ключ: <i data-ic="<ключ>"> без класса (у макета
   подходящего нет), форма — маской i[data-ic="<ключ>"]{--ic:url("data:image/svg+xml,…")} из того же SVG, что рисует
   icon() макета (маски дописывает сид страниц), цвет — currentColor обёртки, как у stroke="currentColor" макета
   (.acc__icon, .card__icon — --red-deep, .cta-band__art — белый). display:block — как у svg в сбросе макета */
i[data-ic]{display:block;flex:0 0 auto;background-color:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
/* ключ не задан — без маски <i> залился бы сплошным квадратом цвета иконки */
i[data-ic=""]{display:none}

/* Необязательные абзацы: пустое значение — абзаца нет (у макета — if ($x !== '')): лид первого экрана, надписи и лиды
   шапок секций, подписи под этапами, факторами, тарифами и формой, текст «кейсов не нашлось». В макете все они
   заполнены, пустыми их делает только админка */
.eyebrow:empty,.lead:empty,.caption:empty,.form__note:empty,.statement__text:empty,
.figure-big:empty,.service-intro__figure-label:empty{display:none}

/* Блок «Типы лендингов» страницы услуги: у макета выводится, только если у услуги есть заголовок блока
   (if ($servicePage['types_title'] !== '') — у «Трафика и аналитики» блока нет). Пустой TV types_title — пустой H2 */
.section--red:has(> .container > .column > .section-head > h2:empty){display:none}

/* «Текст» страницы ([[*content]] — туда ложатся тексты макета и живого сайта и пишет воркфлоу генерации):
   секция .article-body (хаб услуг, «Кейсы», «Цены», лента, текстовая страница) без текста — секции нет, иначе пустая
   полоса с отступами; SEO-блок главной без текста — тоже (остался бы один заголовок), без заголовка — нет пустого H2 */
.section:has(> .container > .column > .article-body:empty){display:none}
.seo-text:has(.seo-text__body > h2:only-child){display:none}
.seo-text__body > h2:empty{display:none}

/* Тексты из админки в колонках текста: таблицы и видео без обёртки .table-wrap макета (сгенерированный текст её не
   знает) — вид .table-wrap table и горизонтальная прокрутка на узком экране; iframe — во всю ширину колонки */
.article-body > table,.seo-text__body > table{display:block;width:100%;margin:28px 0;overflow-x:auto;border-collapse:collapse;font-size:14px}
.article-body > table th,.article-body > table td,.seo-text__body > table th,.seo-text__body > table td{padding:12px 14px;text-align:left;border-bottom:2px dashed rgba(20,16,14,.22)}
.article-body > table th,.seo-text__body > table th{font-weight:600;color:var(--ink);text-transform:uppercase;font-size:12px;letter-spacing:.06em}
.article-body iframe,.seo-text__body iframe{width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:var(--radius-card)}

/* Лента: абзац «В рубрике … пока нет материалов» стоит после сетки статей и виден, только если сетки нет (у макета —
   if ($artList) … else); между ними бывает навигация листания движка, поэтому ~, а не + */
.articles-grid ~ .lead{display:none}

/* Листание ленты — навигация движка на месте секции .pager макета: вид .pager / .pager__link (кнопки движка — с
   инлайн-стилями, поэтому !important), текущая страница — как .pager__link.is-current, крайние — как .is-disabled */
.pdo-pagenav{flex-wrap:wrap!important;align-items:center!important;gap:6px!important;margin:44px 0 0!important}
.pdo-pagenav .pdo-pagebtn{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px!important;border:0!important;border-radius:var(--radius-chip)!important;background:transparent!important;font-family:var(--font-mono);font-size:14px;color:var(--ink-soft)!important;cursor:pointer}
.pdo-pagenav .pdo-pagebtn:hover{background:rgba(20,16,14,.06)!important;color:var(--red-deep)!important}
.pdo-pagenav .pdo-pagebtn.active{color:var(--red-deep)!important;font-weight:600}
.pdo-pagenav .pdo-pagebtn[disabled],.pdo-pagenav .pdo-pagebtn[disabled]:hover{opacity:.4;cursor:default;background:transparent!important;color:var(--ink-soft)!important}

/* Ответ формы заявки ([[+msg]] движка на месте p.form__status макета — после кнопки): вид .form__status (мелкий белый
   текст на красном градиенте .contact-box__form), ошибка — с пунктирной чертой палитры макета. Скрытое состояние
   держит [hidden]{display:none!important} из style.css */
.contact-box__form .bf-msg{margin:0;font-size:13px;line-height:1.6;color:var(--white)}
.contact-box__form .bf-msg.bf-err{padding-left:10px;border-left:2px dashed var(--cream)}

/* Маски иконок i[data-ic="<ключ>"] по icon() макета — дописывает bin/pbn/veles-web_2_pages.php при каждом прогоне.
   Этот файл перезаписывается целиком: правьте статичную часть в bin/pbn/data/veles-web/pbn-enhance.css */
i[data-ic="layout"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%209.5h18%22%2F%3E%3Cpath%20d%3D%22M9.5%209.5V20%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="palette"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.5a8.5%208.5%200%200%200%200%2017c1.2%200%201.8-.8%201.8-1.7%200-1.3-1-1.6-1-2.7%200-.8.7-1.4%201.6-1.4h1.7c2%200%203.4-1.5%203.4-3.7%200-4.1-3.4-7.5-7.5-7.5Z%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2210%22%20r%3D%221.1%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227.6%22%20r%3D%221.1%22%2F%3E%3Ccircle%20cx%3D%2215.8%22%20cy%3D%2210%22%20r%3D%221.1%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="megaphone"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2010v4a2%202%200%200%200%202%202h2l8%204V4L8%208H6a2%202%200%200%200-2%202Z%22%2F%3E%3Cpath%20d%3D%22M19%209.5a4%204%200%200%201%200%205%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="target"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224.5%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="calendar"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225%22%20width%3D%2217%22%20height%3D%2215.5%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3.5%2010h17%22%2F%3E%3Cpath%20d%3D%22M8%203v4%22%2F%3E%3Cpath%20d%3D%22M16%203v4%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="doc"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%203h7.5L19%208.5V21H6Z%22%2F%3E%3Cpath%20d%3D%22M13.5%203v5.5H19%22%2F%3E%3Cpath%20d%3D%22M9.5%2013h6%22%2F%3E%3Cpath%20d%3D%22M9.5%2016.5h4%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="rocket"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M13%204c4.2%201.4%206.6%203.8%207%208l-4.3%204.3-6.7-6.7Z%22%2F%3E%3Cpath%20d%3D%22M9%2015.3%205.4%2018.9%22%2F%3E%3Cpath%20d%3D%22M7.2%2011.5%204%2012.7l1.5%201.6%22%2F%3E%3Cpath%20d%3D%22M12.5%2016.8%2011.3%2020l1.6%201.5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="compass"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22m15.5%208.5-2%205-5%202%202-5Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="growth"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2018.5%209.5%2012l3.5%203%206.5-8%22%2F%3E%3Cpath%20d%3D%22M14.5%207h5.5v5.5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="wallet"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M3%2010h18%22%2F%3E%3Ccircle%20cx%3D%2216.5%22%20cy%3D%2214.5%22%20r%3D%221.2%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="users"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%228.5%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22M3.5%2019.5c0-3.2%202.7-5.5%206-5.5s6%202.3%206%205.5%22%2F%3E%3Cpath%20d%3D%22M16.5%206.2a3.4%203.4%200%200%201%200%206.4%22%2F%3E%3Cpath%20d%3D%22M18%2014.6c1.7.8%202.8%202.4%202.8%204.4%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="lightbulb"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2017.5a5.8%205.8%200%201%201%206%200v2h-6Z%22%2F%3E%3Cpath%20d%3D%22M10%2021.5h4%22%2F%3E%3C%2Fsvg%3E")}
