/* pbn-enhance.css — дополнения к style.css макета hotel-leningradskaya.ru под токен-движок BablO$.
   Статичная часть: сид страниц (bin/pbn/hotel-leningradskaya_2_pages.php) копирует этот файл в
   public/sites/hotel-leningradskaya-ru/assets/css/pbn-enhance.css и дописывает в конец маски иконок
   i.ic[data-ic="<ключ>"]{--ic:url("data:image/svg+xml,…")}. Только переменные и классы макета; своих классов нет —
   кроме служебных классов движка (.bf-form, .bf-msg, .bf-ok, .pdo-*) и атрибутов схемы (data-ic, data-rating,
   data-phone, data-prose). */

/* Иконки в строках MIGX (оснащение номеров, дополнительные сервисы, службы на «Контактах»): значения MIGX
   экранируются, SVG туда нельзя. В строке — ключ icon() макета в data-ic, форма — маской из того же SVG (маски
   дописывает сид страниц), цвет — currentColor обёртки (.amenity .ic, .tile .ic, .extra .ic — var(--ink)). Класс — .ic,
   тот же, что у <svg> icon() макета, поэтому его правила (flex, отступы) действуют; display:block — как у svg по
   сбросу макета (img, svg, iframe {display:block}) */
i.ic[data-ic]{display:block;flex-shrink:0;background-color:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* Условные блоки макета (if в его PHP): пустое значение — блока нет. Лид под H1 (page-hero.php: if ($phLead !== ''))
   и лиды/примечания секций у страниц, где их не заполнили */
.lead:empty,.table-note:empty,.muted:empty,.meta:empty{display:none}

/* Звёзды hl_stars() макета: закрашено $rating из пяти, остальные — .ic--dim (color: var(--line)). В строке MIGX цикла
   нет: чанк рисует пять звёзд, лишние гасит тем же цветом по data-rating. Пустая оценка — звёзд нет */
.stars[data-rating="0"] .ic,
.stars[data-rating="1"] .ic:nth-child(n+2),
.stars[data-rating="2"] .ic:nth-child(n+3),
.stars[data-rating="3"] .ic:nth-child(n+4),
.stars[data-rating="4"] .ic:nth-child(n+5){color:var(--line)}
.stars[data-rating=""]{display:none}

/* Карточка услуги: телефон стойки приёма — только у услуг с флагом phone (if (!empty($servItem['phone'])) макета);
   ссылку чанк рисует всегда, флаг строки кладёт в data-phone */
.service-card__price[data-phone=""] > a{display:none}

/* Текст страницы (поле «Текст»): где у макета нет своего абзаца под текст — секция .prose[data-prose] перед полосой
   CTA. Пустой текст — секции нет. Картинки, видео и таблицы из перенесённых текстов — в размерах колонки, в тонах
   макета (.data-table, .article-figure) */
.section:has(> .container > [data-prose]:empty){display:none}
.prose img{max-width:100%;height:auto;margin:0 0 20px}
.prose iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;margin:0 0 20px}
.prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-family:var(--sans);font-size:14px}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 16px 12px 0;border-bottom:1px solid var(--line)}
.prose th{font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.prose blockquote{border-left:1px solid var(--accent);padding-left:28px;margin:32px 0;font-style:italic;font-weight:300;font-size:20px;line-height:1.5}
@media (max-width: 760px){.prose table{display:block;overflow-x:auto}}

/* Листание новостей — движок (&paginate): кнопки дописываются ВНУТРЬ сетки карточек .cols-3. Вместо nav.pagination
   макета (news.php: страницы ссылками ?page=N) — та же линейка: разделитель сверху, квадратные номера, текущая — рамкой */
.cols-3 > .pdo-pagenav{grid-column:1 / -1}
.pdo-pagenav{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;border-top:1px solid var(--line);padding-top:24px;margin:16px 0 0!important}
.pdo-pagenav .pdo-pagebtn{min-width:34px;height:34px;display:inline-flex!important;align-items:center;justify-content:center;padding:0 8px!important;border:1px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--ink-muted)!important;font-family:var(--sans);font-size:13px;cursor:pointer;transition:border-color 250ms var(--ease),color 250ms var(--ease)}
.pdo-pagenav .pdo-pagebtn:hover{color:var(--ink)!important;border-color:var(--line)!important}
.pdo-pagenav .pdo-pagebtn.active{color:var(--ink)!important;border-color:var(--ink)!important}
.pdo-pagenav .pdo-pagebtn[disabled]{opacity:.35;cursor:default}

/* Формы движка ([[form?]]): ответ [[+msg]] стоит перед p.form-note — тоном .form-note, ошибка — цветом .field__error.
   Экран успеха макета (.form-success сразу за формой, hidden) показывал демо-обработчик main.js без отправки; в копии
   main.js сид страниц вырезает из обработчика ветку «успеха» (plan.md §0; проверка полей макета остаётся), экран
   показывает CSS по успеху движка (.bf-ok): форма прячется, блок успеха — виден, как в макете. Форма без блока успеха
   (подписка) — остаётся с сообщением движка. */
.bf-msg{font-family:var(--sans);font-size:13px;color:var(--ink);margin:0}
.bf-msg.bf-err{color:#8C4A3C}
.bf-form:has(.bf-ok):has(+ .form-success){display:none}
.bf-form:has(.bf-ok) + .form-success[hidden]{display:block!important}

/* Маски иконок i.ic[data-ic="<ключ>"] по icon() макета — дописывает bin/pbn/hotel-leningradskaya_2_pages.php при каждом прогоне.
   Файл перезаписывается целиком: статичную часть правьте в bin/pbn/data/hotel-leningradskaya/pbn-enhance.css */
i.ic[data-ic="ac"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%227%22%2F%3E%3Cpath%20d%3D%22M6.5%208.5h11M7%2016c1.4%200%201.4%202.5%202.8%202.5M14%2016c1.4%200%201.4%202.5%202.8%202.5%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="bath"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M3.5%2012h17v3a4%204%200%200%201-4%204h-9a4%204%200%200%201-4-4Z%22%2F%3E%3Cpath%20d%3D%22M6.5%2012V6a2%202%200%200%201%204%200%22%2F%3E%3Cpath%20d%3D%22M6.5%2019.5l-1%201.5M17.5%2019.5l1%201.5%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="bed"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M3%2018V7M3%2012h18v6M21%2018v-6a3%203%200%200%200-3-3h-7v3%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2210.5%22%20r%3D%221.8%22%2F%3E%3C%2Fsvg%3E")}
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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%223%22%20y%3D%227.5%22%20width%3D%2218%22%20height%3D%2212%22%2F%3E%3Cpath%20d%3D%22M9%207.5V5.5h6v2M3%2012.5h18%22%2F%3E%3C%2Fsvg%3E")}
i.ic[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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225.5%22%20width%3D%2217%22%20height%3D%2215%22%2F%3E%3Cpath%20d%3D%22M3.5%2010h17M8%203.5v4M16%203.5v4%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="card"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%223%22%20y%3D%225.5%22%20width%3D%2218%22%20height%3D%2213%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M6.5%2014.5h4%22%2F%3E%3C%2Fsvg%3E")}
i.ic[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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.25%22%2F%3E%3Cpath%20d%3D%22M12%207.2V12l3.2%202%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="coffee"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M4%209h13v6a4%204%200%200%201-4%204H8a4%204%200%200%201-4-4Z%22%2F%3E%3Cpath%20d%3D%22M17%2010.5h1.8a2.2%202.2%200%200%201%200%204.5H17%22%2F%3E%3Cpath%20d%3D%22M7.5%203v2.5M11%203v2.5%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M6%203.5h8l4%204v13H6Z%22%2F%3E%3Cpath%20d%3D%22M14%203.5v4h4M9%2012h6M9%2015.5h6%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="minibar"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M7%203.5h10l-1%206H8ZM12%209.5v8M8.5%2020.5h7%22%2F%3E%3C%2Fsvg%3E")}
i.ic[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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M6.2%204h3l1.4%203.6-2%201.4a11%2011%200%200%200%205.4%205.4l1.4-2L19%2013.8v3a1.6%201.6%200%200%201-1.8%201.6C10.6%2017.7%205.3%2012.4%204.6%205.8A1.6%201.6%200%200%201%206.2%204Z%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="safe"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%223.5%22%20y%3D%224.5%22%20width%3D%2217%22%20height%3D%2215%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.4%22%2F%3E%3Cpath%20d%3D%22M12%208.6V12%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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M12%203.5l7%202.6v5.5c0%204-2.9%207.2-7%209-4.1-1.8-7-5-7-9V6.1Z%22%2F%3E%3Cpath%20d%3D%22M9%2012.2l2.2%202.2%204-4.2%22%2F%3E%3C%2Fsvg%3E")}
i.ic[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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M12%203.5l1.9%205.6%205.6%201.9-5.6%201.9L12%2018.5l-1.9-5.6-5.6-1.9%205.6-1.9Z%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="sun"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%202.5v2.4M12%2019.1v2.4M2.5%2012h2.4M19.1%2012h2.4M5.3%205.3l1.7%201.7M17%2017l1.7%201.7M18.7%205.3L17%207M7%2017l-1.7%201.7%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="tv"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2212%22%2F%3E%3Cpath%20d%3D%22M8.5%2021h7%22%2F%3E%3C%2Fsvg%3E")}
i.ic[data-ic="wifi"]{--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.25%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%3E%3Cpath%20d%3D%22M2.5%209.2a14%2014%200%200%201%2019%200%22%2F%3E%3Cpath%20d%3D%22M6%2012.6a9%209%200%200%201%2012%200%22%2F%3E%3Cpath%20d%3D%22M9.4%2016a4.2%204.2%200%200%201%205.2%200%22%2F%3E%3Cpath%20d%3D%22M12%2019.4h.01%22%2F%3E%3C%2Fsvg%3E")}
