/* pbn-enhance.css — дополнения к style.css макета urist78.ru под токен-движок BablO$.
   Статичная часть: сид страниц (bin/pbn/urist78_2_pages.php) копирует этот файл в
   public/sites/urist78-ru/assets/css/pbn-enhance.css и дописывает в конец маски иконок (i.ic--<ключ>).
   Только переменные и классы макета; новых классов нет — кроме служебных классов движка (.bf-msg, .pdo-*). */

/* Иконки в строках MIGX: значения MIGX экранируются, SVG туда нельзя. В строке — ключ:
   <i class="ic ic--<ключ>">, форма — маской i.ic--<ключ>{--ic:url("data:image/svg+xml,…")} из того же SVG,
   что рисует icon() макета (маски по ключам дописывает сид страниц), цвет — currentColor обёртки
   (.stat-card__icon, .step-card__icon, .practice-card__icon, .scope-item__icon — все красят иконку сами) */
i.ic{display:inline-block;flex:0 0 auto;vertical-align:top;background-color:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* Условные блоки макета (if в его PHP): пустое значение — блока нет */
.page-hero__lead:empty,.text-prose > .lead:empty{display:none}
/* пункт практики — четыре фиксированные колонки MIGX (task1…task4); пустой пункт не выводится */
.practice-card__tasks li:has(> span:empty){display:none}
/* услуга без текста (решение владельца №5: текст допишет воркфлоу) — без пустого «Читать далее» */
.readmore__body:empty,.readmore__body:empty + .readmore__btn{display:none}

/* Лента блога/рубрики: пустая — сообщение вместо сетки; кнопки листания движка — на всю ширину сетки */
.media-grid + .cases-empty{display:none}
.media-grid:empty + .cases-empty{display:block}
.media-grid > .pdo-pagenav{grid-column:1 / -1}

/* Ответ формы движка — на месте и в стиле .form__note / .form__note.is-ok макета */
.bf-msg{min-height:1.2em;font-size:.875rem;color:var(--accent)}
.bf-msg.bf-ok{color:#2E7D4F}

/* Пагинация движка (кнопки с инлайн-стилями) — в стиле .pagination макета */
.pdo-pagenav{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin:56px 0 0!important}
.pdo-pagenav .pdo-pagebtn{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px!important;height:44px!important;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:var(--radius-sq)!important;background:var(--bg)!important;color:var(--text)!important;font-family:var(--font-body);font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color var(--ease),background-color var(--ease),color var(--ease)}
.pdo-pagenav .pdo-pagebtn:hover{border-color:var(--ink)!important}
.pdo-pagenav .pdo-pagebtn.active{background:var(--accent)!important;border-color:var(--accent)!important;color:#FFFFFF!important}
.pdo-pagenav .pdo-pagebtn[disabled]{opacity:.4;cursor:default}

/* Тексты, перенесённые с прежнего сайта (.text-prose статьи и текстовой страницы): картинки, видео и
   таблицы WordPress/конструктора */
.text-prose img{max-width:100%;height:auto;border-radius:var(--radius-img)}
.text-prose iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;margin:0 0 1.1em}
.text-prose table{width:100%;border-collapse:collapse;margin:1.1em 0;font-size:var(--fs-small)}
.text-prose td,.text-prose th{padding:10px 14px;border:1px solid var(--line);vertical-align:top;text-align:left}
.text-prose th{background:var(--bg-tint);color:var(--ink);font-weight:600}
.text-prose ul,.text-prose ol:not(.num-list){margin:1.1em 0;padding-left:1.4em}
.text-prose ul{list-style:disc}
.text-prose ol:not(.num-list){list-style:decimal}

/* Бренд сменён владельцем (2026-09-21) на «Центр юридической помощи»: название само называет тип организации,
   поэтому подпись с типом (st_brand_sub, плашка hero_badge над H1 главной) пуста — строки под логотипом, над
   названием в заявке и плашки нет; название в заявке не подтягивается вверх: margin-top:-12px макета рассчитан
   на подпись над ним */
.brand__city:empty,.cta-form__kicker:empty,.hero-home__badge:empty{display:none}
.cta-form__kicker:empty + .cta-form__firm{margin-top:0}
/* «Центр юридической» кеглем макета (28px) — 289px: в колонку карточки заявки на 1025–1280px (276px) и на экранах
   до 399px (ширина экрана минус 96px, у окна с полосой прокрутки — ещё минус 15px) не входил, название шло в три
   строки, «юридической» отдельной строкой. Кегль 24px (248px; на самых узких — по ширине экрана, ~20px на 320px)
   возвращает две строки, как на широких экранах */
@media (min-width:1025px) and (max-width:1280px),(max-width:399px){.cta-form__firm{font-size:min(1.5rem,6.2vw)}}
/* Название длиннее макетного (24 знака против 18): в шапку с меню и телефоном оно встаёт одной строкой примерно
   от 1170px (с запасом — от 1241px), в шапку телефона без меню — от ~430px (с запасом — от 481px). В узких
   диапазонах — две строки («Центр юридической / помощи»): вордмарк тогда не шире прежнего, а на ≤400px макет
   и сам переносит его в две строки */
@media (min-width:1025px) and (max-width:1240px),(max-width:480px){.brand__name{white-space:normal;max-width:10.5em}}
/* Телефон шапки макет прячет на ≤1100px, но сразу после этой ширины меню с телефоном не помещается: список меню
   выходит из .main-nav (на 1101px — на 13px), от «Контакты» до телефона остаётся 7px, до 20px — лишь к 1130px. Прячем
   телефон до 1155px: границы считаются от ширины ОКНА, а у окна с классической полосой прокрутки (Windows) под шапку
   остаётся на 15px меньше; номер остаётся в мегаменю, блоке заявки и подвале */
@media (min-width:1101px) and (max-width:1155px){.header-phone{display:none}}
/* С 1281px макет возвращает полный размер меню (промежутки 26px вместо 18px), а название уже одной строкой — на
   1281–1305px (с полосой прокрутки) списку меню не хватает до 15px; промежутки 20px дают запас 5 × 6px */
@media (min-width:1281px) and (max-width:1309px){.main-nav__list{gap:20px}}
/* flex сжимал стрелку «Услуги» вместо перелива (до 0px на 1290px с полосой) — стрелка не сжимается никогда */
.main-nav__chev{flex-shrink:0}
/* Карточка с названием на первом экране главной (.hero-person) стоит у макета абсолютно поверх низа левой
   колонки (bottom:32px) и на ≥1025px закрывала кнопку «Получить консультацию» целиком. Без плашки над H1
   колонка стала ниже, кнопка поднялась и торчала из-под карточки наполовину — место под карточку резервируем:
   32px отступ + ~85px карточка + 28px зазор. На ≤1024px карточка в потоке (position:static макета) */
@media (min-width:1025px){.hero-home__content{padding-bottom:145px}}

/* Маски иконок строк MIGX — дописывает bin/pbn/urist78_2_pages.php */
i.ic--balance{--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%203v18M8%2021h8M5%208h14M7.5%208%204%2014.5h7zM16.5%208%2013%2014.5h7z%22%2F%3E%3C%2Fsvg%3E")}
i.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%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9%207.5V6a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v1.5M3%2012.5h18%22%2F%3E%3C%2Fsvg%3E")}
i.ic--building{--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%22M4%2021V6l7-3v18M11%2021h9V10h-9%22%2F%3E%3Cpath%20d%3D%22M14.5%2013.5h2M14.5%2017h2M7%209h1M7%2013h1M7%2017h1%22%2F%3E%3C%2Fsvg%3E")}
i.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%221.5%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%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%203v4M16%203v4M3.5%2010h17%22%2F%3E%3C%2Fsvg%3E")}
i.ic--chart{--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%22M4%2020V10M10%2020V4M16%2020v-7M22%2020H2%22%2F%3E%3C%2Fsvg%3E")}
i.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%22%20ry%3D%223%22%2F%3E%3Cpath%20d%3D%22M5%206.5v5c0%201.7%203.1%203%207%203s7-1.3%207-3v-5M5%2011.5v5c0%201.7%203.1%203%207%203s7-1.3%207-3v-5%22%2F%3E%3C%2Fsvg%3E")}
i.ic--document{--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%22M6%203h7l5%205v13H6z%22%2F%3E%3Cpath%20d%3D%22M13%203v5h5M9%2013h6M9%2017h6%22%2F%3E%3C%2Fsvg%3E")}
i.ic--flag{--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%22M6%2021V4M6%205h11l-2%203.5L17%2012H6%22%2F%3E%3C%2Fsvg%3E")}
i.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%22m6%2015%205-5M4.5%2017.5%209%2013M13%204l7%207M15.5%206.5%2011%2011M4%2021h9%22%2F%3E%3C%2Fsvg%3E")}
i.ic--handshake{--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%2011%204-4%203%201%202-1%202%201%203-1%204%204-3%203-2-2-2%202-2-1.5L10%2015l-2%202z%22%2F%3E%3C%2Fsvg%3E")}
i.ic--heart{--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%2020S4%2015%204%209.8A4.3%204.3%200%200%201%2012%207a4.3%204.3%200%200%201%208%202.8C20%2015%2012%2020%2012%2020z%22%2F%3E%3C%2Fsvg%3E")}
i.ic--home{--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%22M4%2010.5%2012%204l8%206.5V20H4z%22%2F%3E%3Cpath%20d%3D%22M9.5%2020v-6h5v6%22%2F%3E%3C%2Fsvg%3E")}
i.ic--key{--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%227.5%22%20cy%3D%2212%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22M11%2012h9M17%2012v3M20%2012v2.5%22%2F%3E%3C%2Fsvg%3E")}
i.ic--lock{--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%225%22%20y%3D%2210.5%22%20width%3D%2214%22%20height%3D%2210%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8.5%2010.5V8a3.5%203.5%200%200%201%207%200v2.5%22%2F%3E%3C%2Fsvg%3E")}
i.ic--message{--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%22M4%205h16v11H9l-5%204z%22%2F%3E%3C%2Fsvg%3E")}
i.ic--search{--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%2211%22%20cy%3D%2211%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22m16%2016%204.5%204.5%22%2F%3E%3C%2Fsvg%3E")}
i.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.5%205%206.2v5.1c0%204.3%202.9%207.9%207%209.2%204.1-1.3%207-4.9%207-9.2V6.2z%22%2F%3E%3C%2Fsvg%3E")}
i.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%221.5%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%22.8%22%2F%3E%3C%2Fsvg%3E")}
i.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%22%20r%3D%223.2%22%2F%3E%3Cpath%20d%3D%22M3.5%2020a5.5%205.5%200%200%201%2011%200M16%205.4a3.2%203.2%200%200%201%200%205.2M17.5%2014.6a5.5%205.5%200%200%201%203%205.4%22%2F%3E%3C%2Fsvg%3E")}
i.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%221.5%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%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M16.5%2014.5h1.5%22%2F%3E%3C%2Fsvg%3E")}

/* Бегущая строка получила .container: ширина трека ограничена, поэтому стандартные -50% от его коробки
   дают рывок на стыке. Скрипт в ch_footer считает реальный период (две одинаковые строки) и кладёт его
   в --ticker-shift; без переменной остаётся прежний -50%. */
.ticker__track.container{animation-name:ticker-scroll-container}
@keyframes ticker-scroll-container{
  from{transform:translateX(0)}
  to{transform:translateX(var(--ticker-shift,-50%))}
}