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

/* Иконки в строках pdoResources и MIGX (услуги в мегаменю и сайдбаре, преимущества и причины главной, «Гарантируем
   результат» услуги): значения экранируются, SVG туда не положить. В строке — ключ icon() макета: <i data-ic="<ключ>">
   без класса (у svg макета класса нет), форма — маской из того же SVG, размер — style как width/height у svg.
   display:block и flex:none — как svg {display:block; flex:none} сброса макета; цвет — currentColor обёртки
   (.mega-dropdown__icon, ссылка сайдбара, .advantage-item__icon), как stroke="currentColor" у svg */
i[data-ic]{display:block;flex:none;background-color:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* Условные блоки макета (if ($pageLead), if (!empty($it['short'])) …): токен стоит вплотную к тегам, пустое
   значение — пустой элемент, его нет. Бейдж и цена карточки пусты у подстраниц услуг (живые страницы) */
.promo-banner__lead:empty,.hero__lead:empty,.hero__content .eyebrow:empty,.intro-text:empty,.price-block .eyebrow:empty,
.service-card__badge:empty,.service-card__price:empty,.service-card__body p:empty,.article-card__excerpt:empty,.lede:empty{display:none}

/* «Текст» страницы ([[*content]]: живой текст и воркфлоу генерации) — секция .article-body статьи макета на услуге и
   на главной; пустой «Текст» — секции нет, иначе пустая полоса с отступами section/.site-section */
section:has(> .article-body:empty),.site-section:has(> .container > .article-body:empty){display:none}

/* Блоки без строк (return в секциях макета при пустом наборе): подстраницы услуги (сетку .card-grid движок не рисует
   без детей — секции с заголовком нет), блок таблиц цен без таблиц, «Сопутствующие услуги» без ссылок */
.related-grid:not(:has(.card-grid)),.price-block:not(:has(.price-table)),.site-section:has(> .text-links-list:empty){display:none}

/* Тексты из админки (живые страницы, генерация) в .article-body и .intro-text: у макета сброшены маркеры списков
   (ul, ol {list-style:none}), оформлены только абзацы, h2 и ul статьи — нужны нумерованные списки, списки текстовых
   страниц, h3, ссылки (a {color:inherit} макета их прятал), картинки, видео и таблицы (живые прайсы) — в стиле
   .price-table макета */
.intro-text{display:flex;flex-direction:column;gap:16px}
.intro-text p + p{margin-top:0}
.intro-text h2,.intro-text h3,.article-body h3{margin-top:12px}
.intro-text ul li{position:relative;padding-left:22px;color:var(--text-secondary);margin-bottom:8px;font-size:17px}
.intro-text ul li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--text)}
.intro-text ol,.article-body ol{padding-left:1.4em;list-style:decimal}
.intro-text ol li,.article-body ol li{color:var(--text-secondary);margin-bottom:8px;padding-left:4px}
:is(.intro-text,.article-body) :is(p,li,td) a{text-decoration:underline;text-underline-offset:2px}
:is(.intro-text,.article-body) :is(p,li,td) a:hover{color:var(--text-secondary)}
:is(.intro-text,.article-body) img{border-radius:var(--radius-card)}
:is(.intro-text,.article-body) iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:var(--radius-card)}
:is(.intro-text,.article-body) table:not(.price-table table){display:block;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-card)}
:is(.intro-text,.article-body) table:not(.price-table table) :is(th,td){padding:13px 16px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--divider);color:var(--text-secondary)}
:is(.intro-text,.article-body) table:not(.price-table table) thead th{background:var(--bg-raised);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
:is(.intro-text,.article-body) table:not(.price-table table) tbody tr:last-child :is(th,td){border-bottom:0}
/* .intro-text у «Политики» и текстовых страниц сам задаёт колонку flex и gap в style="" макета — правило выше его не ломает */

/* Ответ формы движка ([[+msg]]): у макета — плашка .modal__success (акцентный фон, жирный текст), её и повторяем;
   ошибка — светлой плашкой с рамкой. Скрытое состояние держит [hidden]{display:none!important} из style.css.
   В подвале форма — строка flex (.footer-lead__form): ответ — на всю ширину под полем и кнопкой */
.bf-msg{display:flex;align-items:center;gap:10px;padding:16px;background:var(--accent);border-radius:var(--radius-btn);color:var(--accent-text);font-weight:600}
.bf-msg.bf-err{background:var(--bg-raised);border:1px solid var(--border);color:var(--text)}
.content-form .bf-msg{margin-bottom:16px}
.footer-lead__form .bf-msg{flex:1 0 100%}

/* Листание лент (&paginate движка вместо ?page= и nav.pagination макета): вид .pagination — по центру, отступ 48px,
   квадраты 40px с рамкой --border, текущая — тёмная. Кнопки движка — с инлайн-стилями, поэтому !important */
.pdo-pagenav{justify-content:center!important;gap:8px!important;margin:48px 0 0!important}
.pdo-pagenav .pdo-pagebtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0!important;border:1px solid var(--border)!important;border-radius:var(--radius-btn)!important;background:transparent!important;color:var(--text)!important;font-family:var(--font-sans);font-size:14px;cursor:pointer}
.pdo-pagenav .pdo-pagebtn:hover{background:rgba(23,20,15,.06)!important}
.pdo-pagenav .pdo-pagebtn.active{background:var(--text)!important;border-color:var(--text)!important;color:var(--bg)!important}
.pdo-pagenav .pdo-pagebtn[disabled]{opacity:.4;cursor:default;background:transparent!important}

/* Маски иконок i[data-ic="<ключ>"] по icon() макета — дописывает bin/pbn/kuzovnoi-remont-belarus_2_pages.php при каждом
   прогоне. Этот файл перезаписывается целиком: правьте статичную часть в bin/pbn/data/kuzovnoi-remont-belarus/pbn-enhance.css */
i[data-ic="alarm"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204.5v3M8%206l1.4%202.4M16%206l-1.4%202.4%22%2F%3E%3Crect%20x%3D%226.5%22%20y%3D%228.5%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9.5%2020.5h5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="award"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229%22%20r%3D%225%22%2F%3E%3Cpath%20d%3D%22M8.5%2013.3%207%2020.5l5-2.5%205%202.5-1.5-7.2%22%2F%3E%3C%2Fsvg%3E")}
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%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%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%22M12%207.5V12l3%202%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="engine"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%229%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M7%209V6.5h5V9M15.5%2011h5v4h-5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="file"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6.5%203.5h8l4%204v13h-12Z%22%2F%3E%3Cpath%20d%3D%22M14.5%203.5V8h4%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="gauge"]{--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.6%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%22M12%2012%2015.5%208%22%2F%3E%3Cpath%20d%3D%22M8%2015.5h.01M12%2018h.01M16%2015.5h.01%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="gearbox"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M12%202.5v2.4M12%2019.1v2.4M4.6%206.6l1.7%201.7M17.7%2015.7l1.7%201.7M2.5%2012h2.4M19.1%2012h2.4M4.6%2017.4l1.7-1.7M17.7%208.3l1.7-1.7%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="glass"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208.5%208%204.5h11.5L15.5%2012M4%208.5%208%2016.5h11.5l-4-8M4%208.5h15.5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="marker"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-6.1%207-11.6A7%207%200%200%200%205%209.4C5%2014.9%2012%2021%2012%2021Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.4%22%20r%3D%222.4%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="paint-drop"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.5C9%208%206.5%2011.3%206.5%2014.5A5.5%205.5%200%200%200%2012%2020a5.5%205.5%200%200%200%205.5-5.5C17.5%2011.3%2015%208%2012%203.5Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="recycle"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%208%204.5%2012l2.5%204M17%208l2.5%204-2.5%204M9.5%208h5M9.5%2016h5%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%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.5%2019%206v5.5c0%205-3%208-7%209-4-1-7-4-7-9V6Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="spray"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203.5h4M11%203.5v3M6%2021l1-9h8l1%209H6Z%22%2F%3E%3Cpath%20d%3D%22M15%209.5h5M17%207.5v4%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="star"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.5l2.6%205.4%205.9.8-4.3%204.2%201%205.9-5.2-2.8-5.2%202.8%201-5.9-4.3-4.2%205.9-.8Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="swap"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208h13l-3-3M20%2016H7l3%203%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="truck"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3.5%207.5h9v8h-9zM12.5%2011h4l3%202.5v2h-7zM6.5%2018.5a1.7%201.7%200%201%200%200-3.4%201.7%201.7%200%200%200%200%203.4ZM16.5%2018.5a1.7%201.7%200%201%200%200-3.4%201.7%201.7%200%200%200%200%203.4Z%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%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228.5%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M2.5%2019c0-3%202.7-5%206-5s6%202%206%205%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%229%22%20r%3D%222.4%22%2F%3E%3Cpath%20d%3D%22M15.5%2019c.2-2%201.8-3.7%204-3.9%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="wrench"]{--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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.7%206.3a4%204%200%200%200-5.3%204.8L3.5%2017l3.5%203.5%205.9-5.9a4%204%200%200%200%204.8-5.3l-3%203-2.8-2.8Z%22%2F%3E%3C%2Fsvg%3E")}

/* Контакты: отдельная страница */
.page-hero{padding:56px 0 28px;background:#f4efe8}
.page-hero h1{margin:10px 0 12px}
.page-hero__lede{max-width:760px;color:#5d5852}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:38px 0 64px}
.contact-card{background:#fff;border:1px solid #e6dfd5;border-radius:12px;padding:24px}
.contact-card h2{margin:0 0 12px;font-size:20px}
.contact-card p{margin:0 0 8px}
.contact-card .muted{color:#777;font-size:14px}
.contact-card .btn{margin-top:14px}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}

/* Шапка: помещаем 8 пунктов меню между логотипом и действиями */
@media (min-width: 900px) and (max-width: 1439px) {
  .main-bar__row { gap: 14px; }
  .main-nav { margin: 0 6px; }
  .main-nav__link { padding: 9px 5px; font-size: 12px; }
  .main-bar__phone { font-size: 14px; }
  .main-bar__btn { padding: 10px 14px; }
}
@media (min-width: 900px) {
  .main-bar__actions { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; }
}

/* Открытая ширина hero и текстовых колонок */
.hero__content,.read-col{max-width:none}
