/* pbn-enhance.css — дополнения к style.css макета seoprod.ru («SEOPROD») под токен-движок BablO$.
   Статичная часть — этот файл (bin/pbn/data/seoprod/pbn-enhance.css, пишется вместе со схемой
   bin/pbn/seoprod_1_schema.php). Сид страниц bin/pbn/seoprod_2_pages.php копирует его в
   public/sites/seoprod-ru/assets/a/634f5c288a48.css и дописывает в конец маски иконок по ключам
   (i[data-ic="<ключ>"]{--ic:url("data:…")}). Правило файла: только переменные и классы макета (плюс классы, которые
   рисует сам движок: .bf-msg/.bf-ok/.bf-err, .pdo-pagenav/.pdo-pagebtn); свои крючки — атрибутами, а не выдуманными
   классами; руками в public/ не править — перезапишется. */

/* Иконки карточек «Услуги и стоимость» (строки MIGX главной): значения MIGX экранируются, SVG туда не положить — в строке
   ключ декоративной иконки icon() макета (viewBox 64), элемент <i data-ic="<ключ>" style="width:40px;height:40px"> без
   класса. Как svg макета: блочный (img,svg{display:block}), цвет — currentColor обёртки .service-card__icon */
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}

/* Условные блоки макета (if/?? в его PHP): пустое значение — блока нет. Токен в разметке стоит вплотную к тегам, иначе
   пробелы делают блок непустым */
.lead:empty,.philosophy p:empty{display:none}
/* Содержание (toc-sidebar.php) без пунктов — у живых текстов без <h2>: нет ни пустого списка, ни подписи «Содержание»,
   кнопка «Оставить заявку» остаётся */
.toc-sidebar > ol:empty,.toc-sidebar:has(> ol:empty) > .toc-sidebar__title{display:none}
.toc-sidebar:has(> ol:empty) > .toc-sidebar__cta{margin-top:0}
/* Та же пара без «Текста» и без пунктов (услуга живого сайта без текста до генерации, решение №5): от секции осталась бы
   одна кнопка рядом с пустой колонкой — секции нет целиком; кнопка заявки есть в hero и в CTA ниже */
.section:has(> .container > .article-layout > .article-body:empty):has(> .container > .article-layout > .toc-sidebar > ol:empty){display:none}
/* «Текст» страницы отдельной секцией (главная, о компании, кейсы, контакты, ленты): пусто — секции нет целиком.
   :only-child — чтобы не задеть текстовую страницу, где рядом с .article-body стоят кикер и H1 */
.section:has(> .container > .article-body:only-child:empty){display:none}
/* Лента (posts-grid.php): сетку рисует обёртка pdoResources только при непустой выдаче, строка «Пока нет материалов»
   (else-ветка макета) в разметке всегда — при сетке её нет; листание движка стоит между сеткой и строкой */
.posts-grid ~ .text-muted{display:none}

/* Листание лент движка (кнопки с инлайн-стилями) — как .pagination макета: квадраты 42px, текущая — на --c-accent,
   стрелки «‹ ›» — цвета --c-muted, как .pagination__arrow; ряд по центру с отступом 48px, как nav.pagination */
.pdo-pagenav{justify-content:center!important;gap:8px!important;margin:48px 0 0!important}
.pdo-pagenav .pdo-pagebtn{display:grid!important;place-items:center;min-width:42px;height:42px;padding:0 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--c-heading)!important;font-family:var(--font-main);font-size:14.5px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.pdo-pagenav .pdo-pagebtn:first-child,.pdo-pagenav .pdo-pagebtn:last-child{color:var(--c-muted)!important}
.pdo-pagenav .pdo-pagebtn:hover{background:var(--c-bg-muted)!important;color:var(--c-accent)!important}
.pdo-pagenav .pdo-pagebtn.active{background:var(--c-accent)!important;color:#fff!important}
.pdo-pagenav .pdo-pagebtn[disabled]{opacity:.4;cursor:default}
.pdo-pagenav .pdo-pagebtn[disabled]:hover{background:transparent!important;color:var(--c-muted)!important}

/* Ответ формы движка ([[+msg]] последним в форме): у макета ответа не было (формы уходили GET на contacts.php) — плашка в
   тоне .office-info-sidebar; в тёмной карточке лид-магнита (flex-ряд поля и кнопки) — отдельной строкой на всю ширину */
.bf-msg{margin-top:16px;padding:14px 18px;border-radius:12px;background:var(--c-bg-muted);border-left:3px solid var(--c-accent);color:var(--c-heading);font-size:14px;font-weight:500;line-height:1.5}
.bf-msg.bf-err{border-left-color:var(--c-amber)}
.lead-magnet form .bf-msg{flex:1 1 100%;margin-top:4px;background:rgba(255,255,255,0.08);color:#fff}

/* Тексты с прежнего сайта и генерация воркфлоу («Текст» в .article-body): сброс макета (a{color:inherit;text-decoration:none})
   прячет ссылки в тексте — их цвет и подчёркивание как у .form-note a; картинки, видео и таблицы — по ширине колонки */
.article-body > :first-child{margin-top:0}
.article-body p a,.article-body li a,.article-body td a{color:var(--c-accent);text-decoration:underline}
.article-body img{height:auto}
.article-body iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:18px;margin:24px 0}
.article-body table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
.article-body th,.article-body td{padding:10px 12px;border:1px solid var(--c-border);text-align:left;vertical-align:top;color:#3E3E52}
.article-body th{background:var(--c-bg-muted);color:var(--c-heading);font-weight:700}
.article-body h4{font-size:17px;margin-top:26px;margin-bottom:10px;color:var(--c-heading)}

/* ── маски иконок по ключам (дописывает сид страниц) ── */
i[data-ic="audit"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%22M14%2040c0-9%206-17%2015-19%208-1.8%2017%202%2020%2010%202.6%207-.6%2015-8%2018-6.5%202.6-14-.3-16.5-6.8-2-5.2.7-11%206-12.6%22%2F%3E%3Ccircle%20cx%3D%2230.5%22%20cy%3D%2229.6%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="competitors"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%2044c6-3%206-11%2012-13%205-1.7%208%203%2013%201.5%206-1.8%208-9.5%2015-9%22%2F%3E%3Cpath%20d%3D%22M12%2044c4%203%2010%203%2014-.5%205-4.2%204-11%2010-14%204.3-2.1%208%20.3%2010-4%22%2F%3E%3Ccircle%20cx%3D%2251.5%22%20cy%3D%2223.3%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="copywriting"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%22M15%2046%2032%2016c2.5-4.3%209-2.3%208%202.5L36%2038c-1%204.8-7.5%205.7-9.7%201.3L15%2018%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2246%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="seo"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%2042c5%200%205-8%2010-8s5%2010%2010%2010%205-16%2010-16%205%206%208-2%22%2F%3E%3Ccircle%20cx%3D%2251%22%20cy%3D%2226%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="ads"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%22M14%2030c8-6%2018-10%2027-9%206%20.7%209%208%204.5%2013.5C41%2040.5%2032%2041%2026%2036c-4-3.4-3-9.5%202-11%22%2F%3E%3Ccircle%20cx%3D%2245.5%22%20cy%3D%2234.5%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="usability"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%22M32%2012c-9%200-16%208-16%2018%200%208%205%2014%2011%2016.5%22%20%2F%3E%3Cpath%20d%3D%22M32%2012c9%200%2016%208%2016%2018%200%206-3%2011-7.5%2014%22%2F%3E%3Cpath%20d%3D%22M23%2021c3%203%204%207%204%2011M41%2021c-3%203-4%207-4%2011%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2246.5%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="analytics"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%22M14%2046V24M25%2046V15M36%2046V29M47%2046V20%22%2F%3E%3Ccircle%20cx%3D%2247%22%20cy%3D%2220%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="strategy"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%22M32%2010c-6%204-6%2012%200%2016s6%2012%200%2016%22%20%2F%3E%3Cpath%20d%3D%22M20%2020c4%203%204%209%200%2012M44%2020c-4%203-4%209%200%2012%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2242%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="support"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%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%22M18%2034a14%2014%200%200%201%2028%200v6c0%203-2.4%205-5.4%205H37%22%2F%3E%3Cpath%20d%3D%22M18%2034v8c0%202%201.5%203.5%203.5%203.5H24%22%2F%3E%3Ccircle%20cx%3D%2221%22%20cy%3D%2235%22%20r%3D%221.4%22%20fill%3D%22%23000%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%2064%2064%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%2044%2024%2030l8%207%2018-21%22%2F%3E%3Cpath%20d%3D%22M42%2016h8v8%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2244%22%20r%3D%221.4%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E")}
