/* pbn-enhance.css — дополнения к style.css макета restorder.ru под токен-движок BablO$.
   Статичная часть: сид страниц (bin/pbn/restorder_2_pages.php) копирует этот файл в
   public/sites/restorder-ru/assets/css/pbn-enhance.css и дописывает в конец маски иконок
   i[data-ic="<ключ>"]{--ic:url("data:image/svg+xml,…")} по ключам icon() макета
   (telegram, whatsapp, vk — соцсети; percent, shield, clock, headset — преимущества платформы).
   Только переменные и классы макета; своих классов нет — кроме служебных классов движка
   (.bf-msg, .bf-err, .pdo-*) и атрибутов схемы (data-ic, data-empty). */

/* Иконки в строках MIGX (соцсети подвала и «Контактов», преимущества платформы): значения строк
   экранируются, SVG туда нельзя. В строке — ключ icon() макета в data-ic, форма — маской из того же SVG,
   цвет — currentColor обёртки. Тег <i> без класса: у <svg> самого icon() класса нет.
   display:block — как img,picture,svg{display:block} в style.css */
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}

/* Условных блоков у движка нет: пустое значение — блока нет. Лид шапки страницы (у макета он есть
   не везде), метка категории в карточке статьи и бейдж плитки категории, штамп «О компании» */
.lead:empty,.hero__lead:empty,.article-card__tag:empty,.article-header__tag:empty,
.category-card__badge:empty,.page-stamp:empty{display:none}

/* Карточка аудитории на главной: у макета ровно столько пунктов, сколько задано; в строке набора их три
   колонки, и незаполненный пункт (иконка + пустой <span>) убираем целиком */
.audience-card__points li:has(> span:empty){display:none}

/* Карточка вопроса (faq.php): у макета ответ — ЛИБО абзац, ЛИБО нумерованные шаги. В строке набора есть
   и то, и другое, поэтому пустой абзац, пустой шаг и целиком пустой список шагов прячет CSS */
.faq-card__answer:empty{display:none}
.faq-card__steps li:empty{display:none}
.faq-card__steps:not(:has(li:not(:empty))){display:none}
/* кнопка «Загрузить ещё» (у макета она есть, только если вопросов больше четырёх) */
.faq-grid:not(:has([data-load-item])) + .load-more{display:none}

/* Пустая лента: у макета абзац стоит ВНУТРИ сетки вместо карточек — здесь он там же, но показывается,
   только когда карточек-ссылок в сетке нет (движок при пустой выдаче ничего не выводит) */
.grid--3 > p[data-empty]{display:none}
.grid--3:not(:has(> a)) > p[data-empty]{display:block;grid-column:1 / -1}

/* Листание ленты движком (&paginate=6 — тот же $perPage, что у press.php). Навигация дописывается ВНУТРЬ
   сетки — растягиваем её на все колонки; кнопки перекрашены в .pagination макета (у движка они
   с инлайн-стилями, поэтому !important) */
.grid--3 > .pdo-pagenav{grid-column:1 / -1}
.pdo-pagenav{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;margin:48px 0 0!important}
.pdo-pagenav .pdo-pagebtn{display:flex!important;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 6px!important;border:0!important;border-radius:var(--radius-sm)!important;background:transparent!important;color:var(--color-text)!important;font-family:var(--font-mono);font-weight:600;font-size:0.9rem;line-height:1;cursor:pointer}
.pdo-pagenav .pdo-pagebtn:hover,.pdo-pagenav .pdo-pagebtn:focus-visible{background:var(--color-panel)!important}
.pdo-pagenav .pdo-pagebtn.active{background:var(--color-accent)!important;color:#fff!important}
.pdo-pagenav .pdo-pagebtn[disabled]{opacity:.4;cursor:default;background:transparent!important;color:var(--color-text)!important}

/* Ответ формы движка ([[+msg]] формы вопроса) — в тоне .form-note макета: его заготовку макет показывал
   только демо-обработчиком, который сид страниц вырезает из main.js */
.bf-msg{margin-top:16px;padding:12px 16px;border-radius:var(--radius-sm);background:rgba(23, 138, 76, 0.12);color:var(--color-green-dark);font-size:0.9rem}
.bf-msg.bf-err{background:rgba(234, 95, 16, 0.12);color:var(--color-accent-dark)}

/* Текст страницы ([[*content]]) в колонке .article-body — типографика у макета уже своя; добавляем только
   то, чего у него не было: картинки, видео и таблицы перенесённых текстов в размер колонки */
.article-body img{height:auto;border-radius:var(--radius-md);margin-bottom:16px}
.article-body iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:var(--radius-md);margin-bottom:16px}
.article-body table{width:100%;border-collapse:collapse;font-size:0.92rem;margin-bottom:16px}
.article-body td,.article-body th{padding:10px 14px;border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left}
.article-body th{font-weight:700}
@media (max-width: 639px){.article-body table{display:block;overflow-x:auto}}

/* Маски иконок i[data-ic="<ключ>"] по icon() макета — дописывает bin/pbn/restorder_2_pages.php при
   каждом прогоне. Файл перезаписывается целиком: статичную часть правьте в bin/pbn/data/restorder/pbn-enhance.css */
i[data-ic="clock"]{--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%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M12%207.5V12l3%202%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="headset"]{--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%3E%3Cpath%20d%3D%22M4%2013.5v-2a8%208%200%200116%200v2%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2213%22%20rx%3D%221.3%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%2F%3E%3Crect%20x%3D%2217%22%20y%3D%2213%22%20rx%3D%221.3%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M19%2018.5v.5a3%203%200%2001-3%203h-2.3%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="percent"]{--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%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%222.3%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%222.3%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M18%206L6%2018%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="shield"]{--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%3E%3Cpath%20d%3D%22M12%203l7%202.7v5.3c0%205-3%208.4-7%2010-4-1.6-7-5-7-10V5.7L12%203z%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M8.7%2012.2l2.2%202.2%204.4-4.6%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="telegram"]{--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%3E%3Cpath%20d%3D%22M20.5%204L2.8%2011.2c-1.1.4-1.1%201%20-.2%201.3l4.5%201.4%201.7%205.3c.2.6.5.8%201%20.2l2.4-2.3%204.7%203.4c.7.5%201.2.2%201.4-.6l3.3-15.4c.3-1-.3-1.5-1.1-1.1z%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.3%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="vk"]{--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%3E%3Cpath%20d%3D%22M4%204.5c.1%208%204.2%2013%2010.6%2013h.8v-3.6c2.3.2%204%201.9%204.7%203.6h3.2c-.9-3.2-3.2-5-4.7-5.7%201.5-.9%203.4-2.9%203.9-5.3h-3c-.6%202.6-2.7%204.6-4.1%204.9V6.5H12v6c-1.5-.4-3.2-2.4-3.7-6H5c.4%205.3%203%208.4%206.4%209.2%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.1%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="whatsapp"]{--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%3E%3Cpath%20d%3D%22M12%203.5a8.5%208.5%200%2000-7.3%2012.8L3.5%2020.5l4.4-1.2A8.5%208.5%200%201012%203.5z%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.4%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M8.7%208.6c-.2.4-.7%201.3-.5%202.3.3%201.4%202%203.6%204%204.5.9.4%201.7.5%202.3.3.5-.2%201-.7%201.2-1.2l-1.9-1.1-.6.8c-.9-.4-1.9-1.2-2.5-2.2l.7-.7-1-2z%22%20stroke%3D%22%23000%22%20stroke-width%3D%220.9%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}
