/* pbn-enhance.css — дополнения к style.css макета lawyernovikov.ru (бренд сайта — «Юридическая компания «Юристы Москвы»») под
   токен-движок BablO$. Статичная часть — этот файл (bin/pbn/data/lawyernovikov/pbn-enhance.css, пишется вместе со
   схемой bin/pbn/lawyernovikov_1_schema.php). Сид страниц bin/pbn/lawyernovikov_2_pages.php копирует его в
   public/sites/lawyernovikov-ru/assets/css/pbn-enhance.css и дописывает в конец маски иконок по ключам.
   Только переменные и классы макета; руками в public/ не править — перезапишется. */

/* Иконки из данных (строки MIGX и TV направления в строке pdoResources): SVG в значение не положить — оно
   экранируется. В данных — ключ icon() макета (атрибут data-ic, класс только макетный .ic), форма — маской из того же
   SVG, цвет — currentColor обёртки (.dir-card__icon, .practice-card__icon, .error-link .ic — красные в style.css).
   Маски сид страниц дописывает правилами i.ic[data-ic="scales"]{--ic:url("data:image/svg+xml,…")}. */
i.ic[data-ic]{display:inline-block;background-color:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* Хлебные крошки: разметка чанков = breadcrumbs.php (разделитель «/» — li::after макета, последний пункт — <span
   aria-current> своим чанком &tplLast), своих правил не нужно. */

/* Условные блоки макета (if в его PHP): пустое значение — блока нет */
.page-hero__lead:empty,.hero-home__lead:empty,.article-header__lead:empty,.section-lead:empty,.quote-box__role:empty,
.founder__sign span:empty,.article-card__lead:empty,.expert__role:empty,.service-card__text:empty,.stat__label:empty{display:none}
.notice-box:has(> p:empty){display:none}
/* «Разбор дела» у дела без статьи: у ссылки своё display:inline-flex, и атрибут hidden (колонка article_hidden) сам
   его не перебивает */
.case-card__link[hidden]{display:none}
/* «Материалов по этому запросу пока нет» макет выводит только при пустой ленте; у движка сообщение стоит всегда —
   оно прячется, когда следом идёт сетка хотя бы с одной карточкой (пустую ленту pdoResources не выводит вовсе) */
.section-lead.mt-32:has(+ .grid article){display:none}
/* «Текст» страницы направления (место для текста воркфлоу) под двумя лидами service-intro — отступ как между абзацами */
.service-intro__grid .rich:not(:empty){margin-top:16px}

/* Ответ формы движка — на месте <p class="meta" data-form-note> макета и в его стиле (.meta) */
.bf-msg{margin:0;font-size:14px;line-height:1.4;color:var(--muted)}
.bf-msg.bf-err{color:var(--red-hover)}

/* Пагинация движка (строка .pdo-pagenav с кнопками .pdo-pagebtn после ленты журнала, стили у кнопок инлайн) —
   в стиле .pagination макета. display у навигации не трогаем: скрывает её сам скрипт движка */
.pdo-pagenav{justify-content:center;gap:8px!important;margin:0!important;padding:48px 0 0}
.pdo-pagenav .pdo-pagebtn{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:0!important;background:var(--white)!important;color:var(--ink)!important;font-family:var(--font-head);font-size:15px;font-weight:600;line-height:1;cursor:pointer;transition:border-color var(--dur) ease,color var(--dur) ease}
.pdo-pagenav .pdo-pagebtn:hover{border-color:var(--red)!important;color:var(--red)!important}
.pdo-pagenav .pdo-pagebtn.active{background:var(--red)!important;border-color:var(--red)!important;color:var(--white)!important}
.pdo-pagenav .pdo-pagebtn[disabled]{opacity:.4;cursor:default}
.pdo-pagenav > span{min-width:24px;text-align:center;color:var(--muted)}

/* Тексты, перенесённые с прежнего сайта (WordPress): картинки, видео и таблицы внутри .article-body макета */
.article-body img{max-width:100%;height:auto}
.article-body iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;margin:0 0 20px}
.article-body table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15px;line-height:1.5}
.article-body th,.article-body td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.article-body th{background:var(--bg-soft);font-family:var(--font-head);font-weight:700}
/* Широкая таблица прокручивается сама, а не вместе со страницей, и на любой ширине: колонка статьи (.measure) 750px, а
   у 28 из 1430 таблиц прежнего сайта минимальная ширина больше (до 1317px) — при max-width:767px они вылезали за край
   и на 768–1280. У таблицы-блока строки собирает анонимная таблица по содержимому — узкая перестала бы тянуться на
   всю колонку, поэтому растягиваем tbody. Только там, где он единственная часть таблицы (у всех перенесённых так):
   при thead/tfoot/caption/нескольких tbody каждая часть стала бы отдельной таблицей и колонки разъехались бы —
   такие остаются по ширине содержимого */
.article-body table{display:block;overflow-x:auto}
.article-body table:not(:has(> thead, > tfoot, > caption, > tbody + tbody)) > tbody{display:table;width:100%}
/* Строки «Источник: https://…» прежнего сайта — адрес без пробелов шире телефона; переносим его внутри слова.
   break-word, а не anywhere: минимальную ширину ячеек таблиц он не меняет — колонки не сжимаются по буквам */
.article-body{overflow-wrap:break-word}

/* Пункты-услуги в карточках направлений и практик (и пункты шестой карточки главной), названия в карточках услуг
   каталога и направления: у макета — текст, теперь у услуг свои страницы и пункт — ссылка (цвет текста макета
   сохраняется, отклик на наведение — красный, как у ссылок меню) */
.dir-card__subs a,.service-card h3 a{transition:color var(--dur) ease}
.dir-card__subs a:hover,.service-card h3 a:hover{color:var(--red)}

/* ── маски иконок по ключам (дописывает сид страниц) ── */
i.ic[data-ic="briefcase"]{--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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%227.5%22%2F%3E%3Cpath%20d%3D%22M9%207.5V5.5a1.5%201.5%200%200%201%201.5-1.5h3A1.5%201.5%200%200%201%2015%205.5v2%22%2F%3E%3Cpath%20d%3D%22M3%2012.5h18%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="coins"]{--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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%226.5%22%20rx%3D%227.5%22%20ry%3D%223%22%2F%3E%3Cpath%20d%3D%22M4.5%206.5v5c0%201.7%203.4%203%207.5%203s7.5-1.3%207.5-3v-5%22%2F%3E%3Cpath%20d%3D%22M4.5%2011.5v5c0%201.7%203.4%203%207.5%203s7.5-1.3%207.5-3v-5%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="doc-check"]{--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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203.5H6.5v17h11V7l-3.5-3.5Z%22%2F%3E%3Cpath%20d%3D%22M14%203.5V7h3.5%22%2F%3E%3Cpath%20d%3D%22m9%2014.2%202%202%204-4.4%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="gavel"]{--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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.5%2020.5%207-7%22%2F%3E%3Cpath%20d%3D%22m9%209%206%206%22%2F%3E%3Cpath%20d%3D%22m13.5%204.5%206%206%22%2F%3E%3Cpath%20d%3D%22m11.5%206.5%206%206-2%202-6-6%202-2Z%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="pin"]{--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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-5.7%207-11a7%207%200%201%200-14%200c0%205.3%207%2011%207%2011Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.6%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="ruble"]{--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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8.5%2020V4.5h4.2a4%204%200%200%201%200%208H8.5%22%2F%3E%3Cpath%20d%3D%22M6.5%2016h8%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="scales"]{--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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v16%22%2F%3E%3Cpath%20d%3D%22M6%2020h12%22%2F%3E%3Cpath%20d%3D%22M4%208h16%22%2F%3E%3Cpath%20d%3D%22M4%208%201.5%2014h5L4%208Z%22%2F%3E%3Cpath%20d%3D%22M20%208l-2.5%206h5L20%208Z%22%2F%3E%3C%2Fsvg%3E")}
i.ic[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%20stroke%3D%22%23000%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.2%2019.5%206v6c0%204.2-3.2%207.3-7.5%208.8C7.7%2019.3%204.5%2016.2%204.5%2012V6L12%203.2Z%22%2F%3E%3Cpath%20d%3D%22m9%2012%202.2%202.2L15.2%2010%22%2F%3E%3C%2Fsvg%3E")}
i.ic[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%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228.5%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22M2.5%2020c0-3.4%202.9-5.6%206.5-5.6s6.5%202.2%206.5%205.6%22%2F%3E%3Cpath%20d%3D%22M16%205.4a3.5%203.5%200%200%201%200%206.6%22%2F%3E%3Cpath%20d%3D%22M17.5%2014.8c2.4.6%204%202.4%204%205.2%22%2F%3E%3C%2Fsvg%3E")}
