/* Оформление текстов из визуального редактора и инфоблоков в разделах /info/, /company/, /help/, /customer/ (этап 2, 22.10.2026).
   Опись: классы и теги в файлах страниц и в DETAIL_TEXT/PREVIEW_TEXT инфоблоков 5–10, 15, 16, 29, 30, 32, 33, 42, 44, 49.
   Область действия: текст компонента (.hx-prose) и статичный текст страницы в каркасе (.hx-flow). Разметку компонентов hx-* не трогает:
   блоки описаны их собственными классами из данных, общая типографика вложенных тегов — только внутри «текстовых» обёрток из данных.
   Переменные — из hx-ui.css. Без !important: встроенные style="" в данных остаются сильнее (см. отчёт описи). */

/* ---------- 1. Типографика вложенного текста ----------
   В статичных страницах текст лежит не прямо в .hx-flow, а внутри обёрток прежних шаблонов
   (.detail_text, .text-with-img, .pdn-doc, blockquote, div без класса, noindex и т. п.). Им — те же правила, что у .hx-prose. */
.hx-flow :is(.detail_text,.preview_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex) :is(h2,h3,h4,h5),
.hx-flow>:is(div:not([class]):not([id^=comp_]),section,noindex) :is(h2,h3,h4,h5){color:var(--hx-ink);font-weight:700;letter-spacing:-.01em}
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html) h2,
.hx-flow>:is(div:not([class]):not([id^=comp_]),section,noindex) h2{margin:1.8em 0 .6em;font-size:clamp(22px,1.8vw,32px);line-height:1.15}
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html) h3,
.hx-flow>:is(div:not([class]):not([id^=comp_]),section,noindex) h3{margin:1.5em 0 .5em;font-size:clamp(18px,1.3vw,22px);line-height:1.25}
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex) :is(h4,h5),
.hx-flow>:is(div:not([class]):not([id^=comp_]),section,noindex) :is(h4,h5){margin:1.3em 0 .4em;font-size:1em;line-height:1.3}
.hx-flow :is(.detail_text,.preview_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex,blockquote) p,
.hx-flow>:is(div:not([class]):not([id^=comp_]),section) p{margin:0 0 1em}
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex,blockquote) :is(ul,ol),
.hx-flow>:is(div:not([class]):not([id^=comp_]),section) :is(ul,ol){margin:0 0 1.1em;padding-left:1.3em}
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex,blockquote) li,
.hx-flow>:is(div:not([class]):not([id^=comp_]),section) li{margin:.35em 0}
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex,blockquote) ul>li::marker,
.hx-flow>:is(div:not([class]):not([id^=comp_]),section) ul>li::marker{color:var(--hx-ochre)}
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex,blockquote) ol>li::marker,
.hx-flow>:is(div:not([class]):not([id^=comp_]),section) ol>li::marker{color:var(--hx-navy);font-weight:700}
.hx-flow :is(.detail_text,.preview_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,noindex,blockquote) a:not([class]),
.hx-flow>:is(div:not([class]):not([id^=comp_]),section,noindex,h2,h3,h4,h5,blockquote) a:not([class]){color:var(--hx-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.hx-flow>h5{margin:1.3em 0 .4em;font-size:1em;font-weight:700}
.hx-flow>:is(div:not([class]):not([id^=comp_]),section,noindex,h2,h3,h4,h5){max-width:var(--hx-measure)}

/* старые теги оформления: шрифт и размер берём свои, цвет из атрибута оставляем */
:is(.hx-prose,.hx-flow) font{font-family:inherit;font-size:inherit}
:is(.hx-prose,.hx-flow) :is(b,strong){font-weight:700}
:is(.hx-prose,.hx-flow) :is(p,div,td).MsoNormal{margin:0 0 1em}
:is(.hx-prose,.hx-flow) sup{line-height:0}
:is(.hx-prose,.hx-flow) .highlight{font-weight:600;background:linear-gradient(transparent 62%,var(--hx-paper2) 62%)}

/* ссылки-кнопки нового вида внутри текста: .hx-prose a не должен перекрашивать .hx-btn (иначе синий текст на синем) */
:is(.hx-prose,.hx-flow) a.hx-btn{color:#fff;text-decoration:none}
:is(.hx-prose,.hx-flow) a.hx-btn--line,:is(.hx-prose,.hx-flow) a.hx-btn--ghost{color:var(--hx-navy)}
:is(.hx-prose,.hx-flow) a.hx-btn--line:hover{color:#fff}

/* ---------- 2. Картинки, видео, вставки ---------- */
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.plasters-article,.help-page-text,.text-info,.rooms-html,.oformlenie-html) img,
.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section) img{max-width:100%;height:auto}
/* картинка в абзаце по центру (align="center" / text-align:center в данных): блочная, но по центру */
:is(.hx-prose,.hx-flow) :is([align=center],[style*="text-align: center"],[style*="text-align:center"])>img,
:is(.hx-prose,.hx-flow) :is([align=center],[style*="text-align: center"],[style*="text-align:center"])>a>img{margin-inline:auto}
/* фото по клику (a.fancy, a.fancybox: прежде jQuery fancybox): рамка-контур, как .hx-photo; открывается файл картинки */
:is(.hx-prose,.hx-flow) :is(a.fancy,a.fancybox,a.facy){display:inline-block;max-width:100%;cursor:zoom-in;text-decoration:none;vertical-align:top}
:is(.hx-prose,.hx-flow) :is(a.fancy,a.fancybox,a.facy)>img,
:is(.hx-prose,.hx-flow) :is(.img-responsive,.img-resposive,.img-resonsive,.img-instr,.img_design_studio_big,.img_idea_mob){display:block;max-width:100%;height:auto;margin:1em 0 1.4em;box-shadow:8px 8px 0 -1px #fff,8px 8px 0 0 var(--hx-frame);transition:transform .3s,box-shadow .3s}
:is(.hx-prose,.hx-flow) :is(a.fancy,a.fancybox,a.facy):hover>img{transform:translate(-3px,-3px);box-shadow:11px 11px 0 -1px #fff,11px 11px 0 0 var(--hx-ochre)}
:is(.hx-prose,.hx-flow) .img-instr{width:100%;max-width:600px}
:is(.hx-prose,.hx-flow) :is(.img-responsive,.img-resposive,.img-resonsive,.img_design_studio_big,.img_idea_mob){width:100%}
/* две фотографии в одном абзаце (отзывы участников, фрески): рядом по две */
:is(.hx-prose,.hx-flow) :is(p,div):has(>a.fancy~a.fancy)>a.fancy,
:is(.hx-prose,.hx-flow) a.image_block_2{width:calc(50% - 12px);margin:0 4px 16px}
:is(.hx-prose,.hx-flow) :is(p,div):has(>a.fancy~a.fancy)>a.fancy>img,
:is(.hx-prose,.hx-flow) a.image_block_2>img{width:100%;margin:0}
:is(.hx-prose,.hx-flow) .img_design_studio_right_mini{float:right;max-width:42%;margin:4px 0 16px 24px}
:is(.hx-prose,.hx-flow) .oplata-img{width:100%;max-width:300px;margin:8px 0 16px}
:is(.hx-prose,.hx-flow) .logos-exb{display:inline-block;max-width:100%;vertical-align:top}
:is(.hx-prose,.hx-flow) .risunok_txt{margin:-.4em 0 2em;text-align:center;font-size:13px;color:var(--hx-mute)}
/* видео: ролики YouTube/VK/Rutube в iframe и файлы mp4 — на всю ширину колонки 16:9 */
.hx-prose iframe,.hx-flow>iframe,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section) iframe,.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.plasters-article,.help-page-text,.text-info) iframe{display:block;width:100%;max-width:var(--hx-measure);height:auto;aspect-ratio:16/9;margin:1.4em 0;border:0;background:var(--hx-paper)}
.hx-prose video,.hx-flow>video,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section) video,.hx-flow :is(.detail_text,.text-with-img,.plasters-article,.help-page-text,.text-info) video{display:block;width:100%;height:auto;max-width:100%;margin:1.4em 0;background:#000}
.hx-prose video[height="700"],.hx-flow video[height="700"]{max-width:420px;aspect-ratio:auto}

/* ---------- 3. Таблицы ---------- */
/* таблицы данных (есть заголовки th или класс colored_table/table): вид .hx-table */
:is(.hx-prose,.hx-flow) table:is(.colored_table,.table,.table_news,.medalists_table,.MsoNormalTable),
:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) table:has(th){border-collapse:collapse;font-size:var(--hx-sm)}
:is(.hx-prose,.hx-flow) table:is(.colored_table,.table) :is(td,th),
:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) table:has(th) :is(td,th){padding:12px 14px;border:0;border-bottom:1px solid var(--hx-line);text-align:left;vertical-align:middle;color:var(--hx-ink)}
:is(.hx-prose,.hx-flow) table:is(.colored_table,.table) thead :is(td,th),
:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) table:has(th) th{border-bottom:1.5px solid var(--hx-ink);font-weight:700;background:none}
:is(.hx-prose,.hx-flow) table:is(.colored_table,.table) thead tr{background:none;color:var(--hx-ink)}
:is(.hx-prose,.hx-flow) table:is(.colored_table,.table) tbody tr:hover{background:#faf8f5}
:is(.hx-prose,.hx-flow) .colored_table[align=center],:is(.hx-prose,.hx-flow) .colored_table[style*="margin-left:auto"]{margin-inline:auto}
/* сравнительная таблица с галочками и крестиками (td.ok / td.no с картинками galka/iks) */
:is(.hx-prose,.hx-flow) .colored-table-cont{max-width:100%;margin:1.6em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
:is(.hx-prose,.hx-flow) .colored-table-cont>table{display:table;width:100%;min-width:520px;margin:0}
:is(.hx-prose,.hx-flow) table :is(td.ok,td.no){height:auto;text-align:center;vertical-align:middle;width:1%;white-space:nowrap}
:is(.hx-prose,.hx-flow) :is(td.ok,td.no) img{display:inline-block;width:26px;height:auto;margin:0;box-shadow:none}
:is(.hx-prose,.hx-flow) td.ok{background:color-mix(in srgb,var(--hx-ok) 6%,#fff)}
:is(.hx-prose,.hx-flow) .colored_table thead :is(td,th):not(:first-child){text-align:center}
/* таблицы-раскладки фото (без th, с картинками внутри): без линий, только отступы */
.hx-flow>table:not(:has(th)):not(.colored_table):not(.table) td,:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) table:not(:has(th)):not(.colored_table):not(.table) td{border:0;padding:6px;vertical-align:top}
.hx-flow>table:not(:has(th)):not(.colored_table):not(.table):not(:has(img)) td,:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) table:not(:has(th)):not(.colored_table):not(.table):not(:has(img)) td{border-bottom:1px solid var(--hx-line);padding:10px 12px}
:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) table[border="1"] td{border:1px solid var(--hx-line)}
:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) td[bgcolor]{color:var(--hx-ink)}
:is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) td img{margin:0 auto}
/* вложенные таблицы (внутри обёрток статичных страниц) прокручиваются сами, как прямые потомки .hx-flow */
.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html) table:not(.colored-table-cont>table),
.hx-flow>:is(div:not([class]):not([id^=comp_]),section) table{display:block;max-width:100%;margin:1.4em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* таблицы Политики и Согласия (.pdn-table с min-width:900px во встроенном style) */
:is(.hx-prose,.hx-flow) .pdn-table{max-width:100%}

/* ---------- 4. Врезки ---------- */
/* blockquote в инструкциях — условия работ и важные оговорки */
.hx-flow blockquote,.hx-prose blockquote{margin:1.4em 0;padding:16px 20px;max-width:var(--hx-measure);border:0;border-left:3px solid var(--hx-ochre);background:var(--hx-paper);color:var(--hx-ink);font-size:1em}
.hx-flow blockquote>:last-child,.hx-prose blockquote>:last-child{margin-bottom:0}
/* «Внимание» и «Важно» в инструкциях ib49 (.attention, .warning) */
:is(.hx-prose,.hx-flow) :is(.attention,.warning){margin:1.4em 0;padding:16px 20px;max-width:var(--hx-measure);border-left:3px solid var(--hx-ochre);background:var(--hx-paper);color:var(--hx-ink)}
:is(.hx-prose,.hx-flow) .warning{border-left-color:var(--hx-err);background:color-mix(in srgb,var(--hx-err) 6%,#fff)}
:is(.hx-prose,.hx-flow) :is(.attention,.warning)>:last-child{margin-bottom:0}
:is(.hx-prose,.hx-flow) .bg_gray{margin:1.4em 0;padding:16px 20px;background:var(--hx-paper)}
:is(.hx-prose,.hx-flow) .bg_gray p{font-style:normal}
:is(.hx-prose,.hx-flow) :is(hr.long,div.text-delimiter){height:0;margin:2.2em 0;border:0;border-top:1px solid var(--hx-line);max-width:var(--hx-measure)}
:is(.hx-prose,.hx-flow) div.long{max-width:var(--hx-measure)}

/* ---------- 5. Кнопки-ссылки из прежнего шаблона: span.button внутри ссылки, .button у ссылки, ссылка внутри span.button ---------- */
:is(.hx-prose,.hx-flow) .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border:1.5px solid var(--hx-navy);border-radius:var(--hx-pill);
  background:var(--hx-navy);color:#fff;font:700 15px/1.2 Onest,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
:is(.hx-prose,.hx-flow) .button a,:is(.hx-prose,.hx-flow) a:has(>.button){color:inherit;text-decoration:none}
:is(.hx-prose,.hx-flow) a:has(>.button){display:inline-block}
:is(.hx-prose,.hx-flow) .button:hover,:is(.hx-prose,.hx-flow) a:hover>.button{background:var(--hx-navy2);border-color:var(--hx-navy2);color:#fff}
:is(.hx-prose,.hx-flow) .button:is(.transparent,.grey_br){background:#fff;color:var(--hx-navy)}
:is(.hx-prose,.hx-flow) .button:is(.transparent,.grey_br) a{color:var(--hx-navy)}
:is(.hx-prose,.hx-flow) .button:is(.transparent,.grey_br):hover,:is(.hx-prose,.hx-flow) a:hover>.button:is(.transparent,.grey_br){background:var(--hx-navy);color:#fff}
:is(.hx-prose,.hx-flow) .button:is(.transparent,.grey_br):hover a{color:#fff}
:is(.hx-prose,.hx-flow) .button.type_block{display:flex;width:100%}
:is(.hx-prose,.hx-flow) .button.vbig_btn{min-height:56px;padding:0 32px;font-size:16px}
:is(.hx-prose,.hx-flow) .wides{margin:20px 0 0}
:is(.hx-prose,.hx-flow) :is(.more-button,.idea-links){display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
:is(.hx-prose,.hx-flow) .idea-links{justify-content:flex-start}
:is(.hx-prose,.hx-flow) .bold{font-weight:600}

/* ---------- 6. Статичные страницы, повторяющие карточку статьи (help/podgotovka-poverkhnostey/*) ---------- */
:is(.hx-prose,.hx-flow) .news_detail_wrapp{max-width:var(--hx-measure)}
/* «Содержание» — как оглавление .hx-toc */
:is(.hx-prose,.hx-flow) .nav-title-menu{margin:0 0 28px;padding:16px 0 4px;border-top:1.5px solid var(--hx-ink)}
:is(.hx-prose,.hx-flow) .nav-title-menu-title{display:block;margin:0 0 8px;font:600 13px/1.2 Onest,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--hx-navy)}
:is(.hx-prose,.hx-flow) .nav-title-menu ul{margin:0;padding:0 0 0 1.2em}
:is(.hx-prose,.hx-flow) .nav-title-menu li{margin:6px 0}
:is(.hx-prose,.hx-flow) .nav-title-menu a{color:var(--hx-txt);text-decoration:none}
:is(.hx-prose,.hx-flow) .nav-title-menu a:hover{color:var(--hx-navy)}
/* вводный абзац */
:is(.hx-prose,.hx-flow) .margin.preview_text{margin:0 0 24px;font-size:1.1em;line-height:1.55;color:var(--hx-txt)}
/* «Жидкие обои, используемые в статье» */
:is(.hx-prose,.hx-flow) .top_blocks{margin:8px 0 18px}
:is(.hx-prose,.hx-flow) .top_blocks .title_block{display:block;font-size:var(--hx-h3);line-height:1.2;font-weight:700;color:var(--hx-ink)}
/* баннер «Вы подготовили поверхность? → Прочитать инструкцию» */
:is(.hx-prose,.hx-flow) .grid:has(>.text_banner_img){display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);max-width:var(--hx-measure);margin:1.4em 0;padding:clamp(18px,2vw,32px);background:var(--hx-paper)}
:is(.hx-prose,.hx-flow) .text_banner_img{flex:none;width:clamp(110px,14vw,200px);margin:0}
:is(.hx-prose,.hx-flow) .text_banner_img img{display:block;width:100%;height:auto;margin:0}
:is(.hx-prose,.hx-flow) .text_banner_text{flex:1;min-width:0;font-size:1em;color:var(--hx-ink)}
:is(.hx-prose,.hx-flow) .text_banner_text .wides{max-width:280px}
/* список инструкций-карточек внутри статичной страницы (articles-list lists_block: картинка + название) */
:is(.hx-prose,.hx-flow) .articles-list.lists_block{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:clamp(22px,2.4vw,36px) clamp(16px,1.8vw,28px);margin:1.6em 0 2em}
:is(.hx-prose,.hx-flow) .articles-list.lists_block>.item_block{margin:0;padding:0;border:0}
:is(.hx-prose,.hx-flow) .articles-list.lists_block .wrapper_inner_block{display:flex;flex-direction:column;gap:12px;height:100%}
:is(.hx-prose,.hx-flow) .articles-list.lists_block :is(.left-data,.right-data){float:none;width:auto;margin:0;padding:0}
:is(.hx-prose,.hx-flow) .articles-list.lists_block .left-data a{display:grid;place-items:center;aspect-ratio:1/1;padding:14px;background:var(--hx-paper);box-shadow:8px 8px 0 -1px #fff,8px 8px 0 0 var(--hx-frame);transition:transform .3s,box-shadow .3s}
:is(.hx-prose,.hx-flow) .articles-list.lists_block .left-data a:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 -1px #fff,11px 11px 0 0 var(--hx-ochre)}
:is(.hx-prose,.hx-flow) .articles-list.lists_block .left-data img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;margin:0;object-fit:contain}
:is(.hx-prose,.hx-flow) .articles-list.lists_block .item-title a{color:var(--hx-ink);font-weight:700;line-height:1.3;text-decoration:none}
:is(.hx-prose,.hx-flow) .articles-list.lists_block .item-title a:hover{color:var(--hx-navy)}
:is(.hx-prose,.hx-flow) .articles-list.lists_block .preview-text{margin:6px 0 0;font-size:var(--hx-sm);color:var(--hx-txt)}
:is(.hx-prose,.hx-flow) .articles-list.lists_block :is(.clear,.clearfix:empty){display:none}

/* ---------- 7. Подборки ссылок-картинок и фото ---------- */
/* «Другие статьи по теме» (.link-block): карточки картинка + подпись */
:is(.hx-prose,.hx-flow) .link-block{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2vw,32px) clamp(14px,1.6vw,24px);margin:1.6em 0 2em}
:is(.hx-prose,.hx-flow) .link-block:has(.link-block-item_double){grid-template-columns:repeat(2,minmax(0,1fr))}
:is(.hx-prose,.hx-flow) .link-block:has(.link-block-item_trio){grid-template-columns:repeat(3,minmax(0,1fr))}
:is(.hx-prose,.hx-flow) .link-block-item{width:auto;min-width:0}
:is(.hx-prose,.hx-flow) .link-block-item a{display:flex;flex-direction:column;gap:12px;padding:0;color:var(--hx-ink);text-align:left;text-decoration:none}
:is(.hx-prose,.hx-flow) .link-block-item img{display:block;width:100%;height:auto;margin:0;box-shadow:8px 8px 0 -1px #fff,8px 8px 0 0 var(--hx-frame);transition:transform .3s,box-shadow .3s}
:is(.hx-prose,.hx-flow) .link-block-item a:hover img{transform:translate(-3px,-3px);box-shadow:11px 11px 0 -1px #fff,11px 11px 0 0 var(--hx-ochre)}
:is(.hx-prose,.hx-flow) .link-block-item a p{margin:0;font-weight:600;line-height:1.3;color:var(--hx-ink)}
:is(.hx-prose,.hx-flow) .link-block-item a:hover p{color:var(--hx-navy)}
/* фото фактур в инструкциях и новостях (.block__tekstura_news) — по два в ряд */
:is(.hx-prose,.hx-flow) .block__tekstura_news{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.8vw,28px);max-width:var(--hx-measure);margin:1.4em 0 1.8em}
:is(.hx-prose,.hx-flow) .block__tekstura_news_item{width:auto;padding:0}
:is(.hx-prose,.hx-flow) .block__tekstura_news_item a{display:block}
:is(.hx-prose,.hx-flow) .block__tekstura_news_item img{width:100%;margin:0}
/* фото работ участников (#works_uch) */
:is(.hx-prose,.hx-flow) #works_uch img{margin:0}

/* ---------- 8. Дизайн-студия (инфоблок 32): материалы, текст + фото, галереи ---------- */
:is(.hx-prose,.hx-flow) .materials{display:flex;flex-wrap:wrap;gap:20px 32px;margin:1.4em 0 1.8em}
:is(.hx-prose,.hx-flow) :is(.materials__used,.materials__similar){display:block;padding:0;min-width:0}
:is(.hx-prose,.hx-flow) .materials.square .materials__similar,:is(.hx-prose,.hx-flow) .materials.square .materials__used{flex:1 1 100%}
:is(.hx-prose,.hx-flow) .materials__used-title{margin:0 0 12px;font:600 12px/1.2 Onest,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--hx-navy)}
:is(.hx-prose,.hx-flow) :is(.materials__used,.materials__similar)>div:not(.materials__used-title){display:flex;flex-wrap:wrap;gap:16px}
:is(.hx-prose,.hx-flow) .materials.square :is(.materials__used,.materials__similar)>div:not(.materials__used-title){display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:20px 16px}
:is(.hx-prose,.hx-flow) .materials-item{display:flex;flex-direction:column;align-items:center;gap:8px;width:96px;max-width:none;margin:0;text-align:center}
:is(.hx-prose,.hx-flow) .materials.square .materials-item{width:auto;align-items:stretch;text-align:left}
:is(.hx-prose,.hx-flow) .materials-item a.circle{display:block;width:80px;height:80px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1.5px var(--hx-line)}
:is(.hx-prose,.hx-flow) .materials-item a.circle:hover{box-shadow:0 0 0 2px var(--hx-navy)}
:is(.hx-prose,.hx-flow) .materials-item a.circle img{display:block;width:100%;height:100%;margin:0;object-fit:cover}
:is(.hx-prose,.hx-flow) .materials-item a.square{display:block;overflow:hidden}
:is(.hx-prose,.hx-flow) .materials-item a.square img{display:block;width:100%;aspect-ratio:1/1;height:auto;margin:0;object-fit:cover;box-shadow:6px 6px 0 -1px #fff,6px 6px 0 0 var(--hx-frame)}
:is(.hx-prose,.hx-flow) .materials-item a.name{color:var(--hx-ink);font-size:13px;font-weight:600;line-height:1.3;text-decoration:none}
:is(.hx-prose,.hx-flow) .materials-item a.name:hover{color:var(--hx-navy)}
/* текст и фото рядом (#NewBlockArticles .style-item.left-text / .right-text) */
:is(.hx-prose,.hx-flow) .style-item{display:flex;gap:clamp(18px,2.4vw,40px);align-items:flex-start;margin:1.4em 0 2em}
:is(.hx-prose,.hx-flow) .style-item.right-text{flex-direction:row-reverse}
:is(.hx-prose,.hx-flow) .style-item>.text-info{flex:1 1 50%;min-width:0;padding:0}
:is(.hx-prose,.hx-flow) .style-item>.image-wraper{flex:1 1 50%;min-width:0;width:auto;margin:0}
:is(.hx-prose,.hx-flow) .image-wraper a{float:none;display:block;margin:0 0 16px}
:is(.hx-prose,.hx-flow) .image-wraper img{width:100%;margin:0}
:is(.hx-prose,.hx-flow) .image-wraper span{display:block;margin:-6px 0 16px;font-size:13px;color:var(--hx-mute)}
/* «Дизайн-проект / Фото готового объекта»: две колонки */
:is(.hx-prose,.hx-flow) :is(.silk-list-html,.module-gallery-headers){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px clamp(16px,1.8vw,28px);margin:1em 0 1.6em;padding:0;list-style:none}
:is(.hx-prose,.hx-flow) :is(.silk-list-html,.module-gallery-headers)>li{width:auto;max-width:none;margin:0}
:is(.hx-prose,.hx-flow) .module-gallery-headers h4{margin:0}
:is(.hx-prose,.hx-flow) .silk-list-html a.fancy{display:block}
:is(.hx-prose,.hx-flow) .silk-list-html img{width:100%;margin:0}
:is(.hx-prose,.hx-flow) li.no-dot{list-style:none}
:is(.hx-prose,.hx-flow) .module-gallery-list:not(.silk-list-html){display:flex;flex-wrap:wrap;gap:16px;margin:1em 0;padding:0;list-style:none}

/* ---------- 9. Страницы «Покупателям»: рассрочка ---------- */
:is(.hx-prose,.hx-flow) .installment-work{display:flex;flex-wrap:wrap;gap:20px clamp(16px,2vw,32px);max-width:var(--hx-measure);margin:1.4em 0 2em}
:is(.hx-prose,.hx-flow) .installment-work-item{display:flex;flex-direction:column;align-items:center;gap:10px;width:140px}
:is(.hx-prose,.hx-flow) .installment-work-item-img{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--hx-paper)}
:is(.hx-prose,.hx-flow) .installment-work-item-img img{display:block;width:56px;height:auto;margin:0}
:is(.hx-prose,.hx-flow) .installment-work-item-text{text-align:center;font-size:var(--hx-sm);color:var(--hx-ink)}
:is(.hx-prose,.hx-flow) .installment-work-item-text p{margin:0}

/* ---------- 10. Телефон и узкие экраны ---------- */
@media (max-width:767px){
  :is(.hx-prose,.hx-flow) .link-block,
  :is(.hx-prose,.hx-flow) .link-block:has(.link-block-item_trio){grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.hx-prose,.hx-flow) .link-block:has(.link-block-item_double){grid-template-columns:minmax(0,1fr)}
  :is(.hx-prose,.hx-flow) .grid:has(>.text_banner_img){flex-direction:column;align-items:flex-start}
  :is(.hx-prose,.hx-flow) .style-item,:is(.hx-prose,.hx-flow) .style-item.right-text{flex-direction:column}
  :is(.hx-prose,.hx-flow) .img_design_studio_right_mini{float:none;max-width:100%;margin:1em 0}
  :is(.hx-prose,.hx-flow) .articles-list.lists_block{grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.hx-prose,.hx-flow) .installment-work-item{width:calc(50% - 10px)}
  :is(.hx-prose,.hx-flow) .button{min-height:44px;padding:0 20px;font-size:14px}
  :is(.hx-prose,.hx-flow) table:is(.colored_table,.table) :is(td,th),
  :is(.hx-prose,.hx-flow>:is(p,div:not([class]):not([id^=comp_]),section,noindex,table,blockquote),.hx-flow :is(.detail_text,.text-with-img,.text_banner_text,.pdn-doc,.plasters-article,.help-page-text,div.long,.text-info,.rooms-html,.oformlenie-html,.colored-table-cont)) table:has(th) :is(td,th){padding:10px}
  /* таблицы данных без обёртки — прокрутка внутри себя, страница не уезжает */
  :is(.hx-prose,.hx-flow) table:is(.colored_table,.table,.table_news):not(.colored-table-cont>table){display:block;max-width:100%;overflow-x:auto}
  :is(.hx-prose,.hx-flow) nobr{white-space:normal}
}
@media (max-width:480px){
  :is(.hx-prose,.hx-flow) .block__tekstura_news{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  :is(.hx-prose,.hx-flow) :is(a.fancy,a.fancybox,a.facy):hover>img,
  :is(.hx-prose,.hx-flow) .link-block-item a:hover img,
  :is(.hx-prose,.hx-flow) .articles-list.lists_block .left-data a:hover{transform:none}
}

/* документы о персональных данных (/company/privacy/, /company/consent/): прежде стили были внутри страниц */
.pdn-doc{max-width:var(--hx-measure)}
.pdn-doc h3{margin:1.6em 0 .6em;font-size:clamp(18px,1.3vw,22px);line-height:1.25;font-weight:700}
.pdn-doc ul{margin:0 0 1em;padding-left:1.3em}
.pdn-doc li{margin:.35em 0}
.pdn-doc li::marker{color:var(--hx-ochre)}
.pdn-table{overflow-x:auto;margin:1.2em 0;-webkit-overflow-scrolling:touch}
.pdn-table table{border-collapse:collapse;min-width:900px;font-size:var(--hx-sm)}
.pdn-table th,.pdn-table td{padding:10px 12px;border-bottom:1px solid var(--hx-line);vertical-align:top;text-align:left}
.pdn-table th{border-bottom:1.5px solid var(--hx-ink);font-weight:700;background:none}

/* палитра проекта в статье (классы color-*) */
.color-palette{display:flex;flex-wrap:wrap;gap:12px;margin:1.2em 0}
.color-palette .color-box{width:72px;height:72px;box-shadow:5px 5px 0 -1px #fff,5px 5px 0 0 var(--hx-frame)}
.color-box.color-green{background:#3f6b4f}
.color-box.color-blue{background:#2f4f7a}
.color-box.color-brown{background:#7a5536}
