/* pbn-enhance.css — дополнения к style.css макета cleancity-ok.ru под токен-движок BablO$.
   Статичная часть: сид страниц (bin/pbn/cleancity-ok_2_pages.php) копирует этот файл в
   public/sites/cleancity-ok-ru/assets/css/pbn-enhance.css и дописывает в конец маски иконок i[data-ic="<ключ>"].
   Только переменные и классы макета; своих классов нет — кроме служебных классов движка (.bf-msg, .bf-ok, .bf-err,
   .pdo-pagenav, .pdo-pagebtn, .active) и атрибутов-крючков разметки (data-ic, data-prose). */

/* Иконки строк MIGX и страниц услуг (карточки и блок услуги, плашки героя, «наши преимущества», «на чём мы строим
   работу»): значения экранируются, SVG туда нельзя. В строке — ключ: <i data-ic="<ключ>" style="width;height"> без класса
   (у icon() макета класса нет), форма — маской i[data-ic="<ключ>"]{--ic:url("data:image/svg+xml,…")} из того же SVG,
   что рисует icon() макета (маски дописывает сид страниц), цвет — currentColor обёртки, как у svg макета
   (stroke="currentColor"). display:block — как svg в сбросе макета (svg {display:block}) */
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}
/* ключ не задан — без маски <i> залился бы сплошным квадратом цвета иконки */
i[data-ic=""]{display:none}
/* у макета акцентный цвет иконке плашки героя даёт правило .hero__highlight svg — у маски тот же цвет */
.hero__highlight i[data-ic]{color:var(--color-accent)}

/* Условные блоки: пустое значение — блока нет (надзаголовок и лид героя, лиды секций и H1-секций, дата записи, коротко
   и цена услуги, «что входит», плашки героя, примечание к ценам, подписи карточек). В макете всё заполнено — пустыми
   их делает только админка; токены в разметке стоят вплотную к тегам, иначе :empty не сработал бы */
.hero__eyebrow:empty,.hero__lead:empty,.hero__highlights:empty,.section-lead:empty,.eyebrow:empty,.text-secondary:empty,
.form-note:empty,.service-detail__price:empty,.service-detail__list:empty,.service-card__text:empty,.gallery-card__meta:empty,
.team-card__role:empty,.review-card__date:empty{display:none}
/* пустой набор строк — секции нет, а не заголовок над пустой сеткой (команда, отзывы, галерея, услуги, шаги…) */
section:has(> .container > :is(.grid-3,.steps,.gallery-grid,.values-grid,.team-grid,.reviews-grid,.advantages__grid,.why-us):empty){display:none}
section:has(.price-table tbody:empty){display:none}
/* цвет карточки отзыва — колонка tone (teal / terracotta); не задан — первый цвет макета, а не белый текст на белом */
.review-card:not(.review-card--teal):not(.review-card--terracotta){background:var(--color-teal)}

/* «Текст» страницы ([[*content]] — текст живой главной и воркфлоу генерации) — колонка текста privacy.php
   (div.text-secondary flex-колонкой с шагом 20px, крючок [data-prose]). Пустой «Текст» даёт пустой [data-prose] —
   отдельной секции «Текста» нет; у текстовой страницы и записи в колонке ещё и H1 — их секцию правило не трогает
   (:only-child) */
section:has(> .container > [data-prose]:only-child:empty){display:none}
/* сброс макета снимает маркеры и отступы списков (ul, ol {list-style:none;padding:0}) и подчёркивание ссылок
   (a {text-decoration:none}), а h2 у него крупный (clamp до 2.5rem) — в перенесённых и сгенерированных текстах нужны
   списки, ссылки, подзаголовки, картинки, видео, таблицы и цитаты. Подзаголовки — как h2.h3 политики макета */
[data-prose] h2{font-size:1.25rem;font-weight:600;color:var(--color-text)}
[data-prose] h3,[data-prose] h4,[data-prose] h5,[data-prose] h6{font-size:1.05rem;font-weight:600;color:var(--color-text)}
[data-prose] ul,[data-prose] ol{padding-left:1.4em}
[data-prose] ul{list-style:disc}
[data-prose] ol{list-style:decimal}
[data-prose] li+li{margin-top:6px}
[data-prose] li::marker{color:var(--color-accent)}
[data-prose] strong,[data-prose] b{font-weight:600;color:var(--color-text)}
[data-prose] a:not(.btn){color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}
[data-prose] a:not(.btn):hover,[data-prose] a:not(.btn):focus-visible{color:var(--color-accent-dark)}
[data-prose] img{height:auto;border-radius:var(--radius-sm)}
[data-prose] iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:var(--radius-sm)}
[data-prose] table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.95rem}
[data-prose] th,[data-prose] td{border:1px solid var(--color-border);padding:10px 14px;text-align:left;vertical-align:top}
[data-prose] th{background:var(--color-bg-tint);font-weight:600;color:var(--color-text)}
[data-prose] blockquote{margin:0;padding:12px 20px;border-left:3px solid var(--color-accent);background:var(--color-bg-tint);color:var(--color-text)}
[data-prose] hr{margin:0;border:0;border-top:1px solid var(--color-border)}

/* Заголовок карточки записи — ссылка (a {color:inherit} макета), наведение — акцент, как у .service-card__link */
.service-card__title a:hover,.service-card__title a:focus-visible{color:var(--color-accent)}

/* Ответ формы заявки ([[+msg]] движка первым в form.request-form — там, куда демо-обработчик макета вставлял
   .form-success): вид .form-success макета — флекс-строка на сером фоне, галочка check-circle icon() макета акцентом
   (маска); ошибка — акцентная черта слева. Скрытое состояние держит [hidden]{display:none!important} из style.css */
.request-form .bf-msg{display:flex;align-items:center;gap:10px;background:var(--color-bg-tint);border-radius:var(--radius-sm);padding:16px 20px;color:var(--color-text);margin-bottom:20px}
.request-form .bf-msg.bf-ok::before{content:"";flex:0 0 20px;width:20px;height:20px;background-color:var(--color-accent);-webkit-mask: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%229%22%2F%3E%3Cpath%20d%3D%22m7.5%2012.5%203%203%206-6.5%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask: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%229%22%2F%3E%3Cpath%20d%3D%22m7.5%2012.5%203%203%206-6.5%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.request-form .bf-msg.bf-err{border-left:3px solid var(--color-accent)}

/* Листание ленты записей: навигация движка встаёт внутрь сетки .grid-3 после карточек — строкой во всю ширину; вид кнопок —
   .btn-outline макета (белая пилюля с рамкой), текущая страница — как .btn-primary. Кнопки движка — с инлайн-стилями,
   поэтому !important */
.grid-3 > .pdo-pagenav{grid-column:1/-1}
.pdo-pagenav{gap:10px!important;margin:8px 0 0!important}
.pdo-pagenav .pdo-pagebtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 16px!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-pill)!important;background:var(--color-white)!important;color:var(--color-text)!important;font-family:var(--font-body);font-size:.9rem;font-weight:600;line-height:1;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}
.pdo-pagenav .pdo-pagebtn:hover,.pdo-pagenav .pdo-pagebtn:focus-visible{border-color:var(--color-dark)!important}
.pdo-pagenav .pdo-pagebtn.active{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:var(--color-white)!important}
.pdo-pagenav .pdo-pagebtn[disabled],.pdo-pagenav .pdo-pagebtn[disabled]:hover{opacity:.6;cursor:not-allowed;border-color:var(--color-border)!important}

/* Маски иконок i[data-ic="<ключ>"] — все ключи icon() макета; дописывает bin/pbn/cleancity-ok_2_pages.php при
   каждом прогоне. Этот файл перезаписывается целиком: правьте статичную часть в bin/pbn/data/cleancity-ok/pbn-enhance.css */
i[data-ic="phone"]{--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.6%2010.8c1.4%202.8%203.8%205.1%206.6%206.6l2.2-2.2c.3-.3.7-.4%201-.2%201.1.4%202.3.6%203.6.6.6%200%201%20.4%201%201v3.6c0%20.6-.4%201-1%201C10.6%2021.2%202.8%2013.4%202.8%204c0-.6.4-1%201-1H7.4c.6%200%201%20.4%201%201%200%201.3.2%202.5.6%203.6.1.4%200%20.8-.2%201.1L6.6%2010.8Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="mail"]{--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%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3.5%206%208.5%207%208.5-7%22%2F%3E%3C%2Fsvg%3E")}
i[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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021.5s7-6.3%207-11.8a7%207%200%201%200-14%200c0%205.5%207%2011.8%207%2011.8Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.7%22%20r%3D%222.6%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%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3.5%202%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012.5%209.5%2018%2020%206%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="check-circle"]{--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%229%22%2F%3E%3Cpath%20d%3D%22m7.5%2012.5%203%203%206-6.5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="arrow-right"]{--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%2012h16%22%2F%3E%3Cpath%20d%3D%22m14%206%206%206-6%206%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="chevron-down"]{--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%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="close"]{--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%206l12%2012M18%206%206%2018%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.3%205.9.9-4.3%204.1%201%205.8L12%2016.7l-5.2%202.9%201-5.8-4.3-4.1%205.9-.9L12%203.5Z%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%206.5v5.2c0%204.6-3%207.4-7%209-4-1.6-7-4.4-7-9V6.5L12%203.5Z%22%2F%3E%3Cpath%20d%3D%22m9%2012%202.2%202.2L15.5%209.5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="leaf"]{--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%22M20%204.5C11%204.5%205%2010.5%205%2017.5c0%20.5%200%201%20.1%201.4M20%204.5c0%209-6%2015-13%2015-.5%200-1%200-1.4-.1%22%2F%3E%3Cpath%20d%3D%22M20%204.5c-2%204-9%206-13.9%2012.9%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.2%22%2F%3E%3Cpath%20d%3D%22M2.8%2019c0-3.4%202.6-5.7%205.7-5.7s5.7%202.3%205.7%205.7%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%229%22%20r%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M15.6%2013.5c2.7.2%204.7%202.3%204.7%205.2%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="contract"]{--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%203.5h10a1%201%200%200%201%201%201V19l-3-1.8L12%2019l-3-1.8L6%2019V4.5a1%201%200%200%201%201-1Z%22%2F%3E%3Cpath%20d%3D%22M9%208h6M9%2011.5h6%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="sparkle"]{--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%203v4M12%2017v4M4.5%2012h4M15.5%2012h4M6.5%206.5l2.6%202.6M14.9%2014.9l2.6%202.6M17.5%206.5l-2.6%202.6M9.1%2014.9l-2.6%202.6%22%2F%3E%3C%2Fsvg%3E")}
i[data-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.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011.5%2012%204l8%207.5%22%2F%3E%3Cpath%20d%3D%22M6%2010v9.5h12V10%22%2F%3E%3Cpath%20d%3D%22M10%2019.5V14h4v5.5%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="window"]{--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%224%22%20y%3D%223.5%22%20width%3D%2216%22%20height%3D%2217%22%20rx%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M12%203.5v17M4%2012h16%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="carpet"]{--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%224.5%22%20width%3D%2217%22%20height%3D%2215%22%20rx%3D%221.5%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M9.5%2010.5h5M9.5%2012.5h5%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%22M10%203.5h3v3h-3z%22%2F%3E%3Cpath%20d%3D%22M9%206.5h5l1.5%203v10.5a1%201%200%200%201-1%201h-6a1%201%200%200%201-1-1V9.5l1.5-3Z%22%2F%3E%3Cpath%20d%3D%22M16%205.5l2-1M16%208l2.3-.5M15.5%2010.5l2.3.5%22%20%2F%3E%3C%2Fsvg%3E")}
i[data-ic="droplet"]{--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.5s6%206.8%206%2011a6%206%200%201%201-12%200c0-4.2%206-11%206-11Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="burger"]{--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%207h16M4%2012h16M4%2017h16%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%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.5a8.5%208.5%200%200%200-7.3%2012.8L3.5%2020.5l4.4-1.2A8.5%208.5%200%201%200%2012%203.5Z%22%2F%3E%3Cpath%20d%3D%22M8.7%208.6c.2-.5.5-.5.8-.5h.6c.2%200%20.4%200%20.6.4.2.5.7%201.6.7%201.7.1.1.1.3%200%20.4-.1.2-.1.3-.3.4-.1.2-.3.3-.4.5-.1.1-.3.3-.1.6.2.3.8%201.3%201.7%202.1%201.2%201%202.1%201.4%202.5%201.5.2.1.4.1.5-.1.2-.2.7-.8.9-1%20.2-.2.3-.2.5-.1.2.1%201.5.7%201.7.8.2.1.4.2.4.3%200%20.2%200%20.9-.3%201.3-.4.5-1.4.9-1.9.9-.5%200-1.1%200-3.5-1.5-2.5-1.6-3.4-3.4-3.5-3.5-.1-.1-.9-1.2-.9-2.3%200-1.1.6-1.6.8-1.8Z%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%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%2012.3%2019.8%205.6c.7-.3%201.4.3%201.1%201.1L18%2019.4c-.2.7-.9.9-1.5.5l-3.9-2.9-2%201.9c-.2.2-.4.3-.7.3l.3-3.9%207.1-6.4c.3-.3-.1-.4-.4-.2l-8.8%205.5-3.7-1.2c-.8-.2-.8-.8.2-1.2Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="quote"]{--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%22M8.5%208.5c-2.5.5-4%202.5-4%205.2%200%202%201.3%203.3%203%203.3%201.6%200%202.8-1.2%202.8-2.8%200-1.5-1-2.6-2.4-2.7.3-1.3%201.4-2.2%202.6-2.5l-2-.5Z%22%2F%3E%3Cpath%20d%3D%22M16.7%208.5c-2.5.5-4%202.5-4%205.2%200%202%201.3%203.3%203%203.3%201.6%200%202.8-1.2%202.8-2.8%200-1.5-1-2.6-2.4-2.7.3-1.3%201.4-2.2%202.6-2.5l-2-.5Z%22%2F%3E%3C%2Fsvg%3E")}
i[data-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.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%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%225%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221.5%22%2F%3E%3C%2Fsvg%3E")}
i[data-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.6%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%221.5%22%2F%3E%3Cpath%20d%3D%22M3.5%209.5h17M8%203v4M16%203v4%22%2F%3E%3C%2Fsvg%3E")}
i[data-ic="send"]{--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%2012.5%2020%204l-4.5%2016-4-6.5-7.5-1Z%22%2F%3E%3C%2Fsvg%3E")}

.lead-dialog{border:0;border-radius:16px;padding:0;width:min(520px,calc(100% - 32px));max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.lead-dialog::backdrop{background:rgba(8,12,20,.6)}
.lead-dialog__box{position:relative;padding:28px}
.lead-dialog__close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.lead-dialog__title{margin:0 0 14px;font-size:1.35rem}
.lead-dialog__form{display:grid;gap:12px}
.lead-dialog__form .field{margin:0}
.lead-dialog__form .btn{width:100%}

/* «Примеры наших работ» и фото блока услуги: у макета фото галереи портретные 4/5, из-за чего карточки выходили
   выше секции, а фото услуги 4/3 растягивало колонку. В админке теперь альбомные кадры (галерея 800×600,
   услуга 900×600) — пропорции держим здесь, чтобы разметка не расходилась с шириной/высотой в чанках. */
.gallery-card img{aspect-ratio:4/3;height:auto}
.service-detail__media img{aspect-ratio:3/2;height:auto}
/* диалог заявки на узком экране: поля не должны упираться в край */
@media (max-width:480px){.lead-dialog__box{padding:24px 18px}.lead-dialog__title{font-size:1.15rem}}
