/* Genesis: исправления вёрстки по макету Figma «Стеновые панели» (10.10.2026).
   Подключается после site.css и runtime.css. Разделы:
   1. Макет целиком на любой ширине (масштаб холста, см. fit.js в inc/fixes.php)
   2. Фото без transform: matrix (иначе не масштабируются)
   3. Рамки «внутрь» 1 px вместо 2 px
   4. Точечные правки */

/* Шрифт Manrope в WOFF2 (40 КБ вместо TTF 165 КБ), правило объявлено позже правила site.css и заменяет его */
@font-face { font-family: Manrope; src: url("assets/fonts/Manrope-Variable.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }

/* 1. Компьютерный макет 1920 от 1024 px, планшетный 744 от 600 до 1023, телефонный 375/376 до 599 */
@media (min-width:1024px) and (max-width:1439px) {
  .viewport.desktop { display: block; }
  .viewport.tablet { display: none; }
}
main > .viewport > .fig-node,
dialog[data-overlay="menu"] > .viewport > .fig-node {
  zoom: var(--gz, 1);
  margin-left: var(--gx, 0px);
  flex-shrink: 0;
}
main > .viewport.desktop > .fig-node, dialog[data-overlay="menu"] > .viewport.desktop > .fig-node { width: 1920px !important; }
main > .viewport.tablet > .fig-node, dialog[data-overlay="menu"] > .viewport.tablet > .fig-node { width: 744px !important; }
main > .viewport.mobile > .fig-node, dialog[data-overlay="menu"] > .viewport.mobile > .fig-node { width: var(--gm, 375px) !important; }
main > .viewport, dialog[data-overlay="menu"] > .viewport { overflow-x: clip; }

/* 2. Фото без transform: matrix (только img.source-image) */
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sb08a4292b8e0{transform:none;width:1920.0000px;height:1280.0000px;left:0.0000px;top:-148.8420px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sa6c2dbfb1f38{transform:none;width:692.0000px;height:692.0000px;left:0.4154px;top:-119.3825px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s74ad4545db5c{transform:none;width:692.0000px;height:616.2066px;left:0.0000px;top:-92.6604px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s81d35e572e2a{transform:none;width:1400.0000px;height:558.0381px;left:0.0000px;top:-112.5191px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s0406acd2cfc3{transform:none;width:1090.0127px;height:522.3341px;left:-85.4365px;top:-44.3341px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s2a9abf56540a{transform:none;width:245.8928px;height:462.8789px;left:0.3706px;top:-0.0216px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s4e7d5c4b02de{transform:none;width:408.0000px;height:545.4745px;left:0.0000px;top:-135.7389px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).se86ab498bdb7{transform:none;width:408.0000px;height:555.7507px;left:0.0000px;top:-54.0883px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s7731d1a6a859{transform:none;width:1389.0000px;height:926.0000px;left:-102.5111px;top:0.0000px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s4cc03973efd7{transform:none;width:457.3274px;height:478.5000px;left:-37.7522px;top:-78.5000px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s0d83dc74c4d6{transform:none;width:324.0000px;height:492.9653px;left:0.0000px;top:-74.1283px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sb5bdb8ac335d{transform:none;width:1317.3302px;height:525.0861px;left:-269.9761px;top:-128.0000px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s3093f44052ca{transform:none;width:1190.8403px;height:532.5857px;left:-121.8625px;top:-49.5857px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s74a4dd4ec0ff{transform:none;width:223.0387px;height:419.8575px;left:-12.0267px;top:29.9995px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s49e24d85ea9f{transform:none;width:1308.0000px;height:774.0346px;left:-349.8990px;top:-0.0001px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).se9a5a7b9ffb7{transform:none;width:335.0000px;height:431.3446px;left:0.0000px;top:-64.8623px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sfe5a2415dcad{transform:none;width:1096.3409px;height:390.3867px;left:-357.0917px;top:0.0000px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sf7dc0772e659{transform:none;width:639.1880px;height:390.0308px;left:-138.0996px;top:-37.0309px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sfc8526ac570e{transform:none;width:1334.3853px;height:498.0000px;left:-802.8090px;top:0.2415px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sb515e1cb4aa4{transform:none;width:295.0000px;height:355.8369px;left:0.0000px;top:-88.5484px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s00fa04cded36{transform:none;width:245.8928px;height:462.8789px;left:0.3706px;top:-0.0218px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s480e92ba7f71{transform:none;width:178.8438px;height:336.3507px;left:-3.8438px;top:30.6919px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sdc60b1ff46e8{transform:none;width:582.5196px;height:582.5196px;left:0.4804px;top:-132.5454px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s1af35b7d3897{transform:none;width:534.6697px;height:534.6697px;left:-172.0000px;top:0.0000px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s5b8368fee5c7{transform:none;width:413.8955px;height:453.0708px;left:0.3414px;top:-103.0909px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s6601506bdb8e{transform:scaleX(-1);transform-origin:50% 50%;width:411.8053px;height:410.9066px;left:-94.0811px;top:47.8498px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s0678e69a94f7{transform:none;width:1870.0000px;height:2804.9999px;left:0.0000px;top:-1287.6067px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s9086a4c9e8c7{transform:none;width:918.8760px;height:571.1707px;left:-94.4537px;top:-37.1707px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).saf7613a10f10{transform:none;width:692.0000px;height:692.0000px;left:0.0000px;top:-49.1512px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).saa66499f1ad3{transform:none;width:632.5329px;height:393.1806px;left:-186.9086px;top:-27.1806px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).sa26d25737381{transform:none;width:245.8927px;height:462.8789px;left:-5.5119px;top:-13.0218px}
:is(.fig-node,.source-line,.fig-inline,.node-paint,.image-paint,.source-image).s23a85822e406{transform:none;width:567.9086px;height:376.7162px;left:-186.9086px;top:-27.1806px}

/* 3. Рамки «внутрь» без удвоения */
img.node-paint[src$="/18d6fecbf87463f0be7e.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/32a8c773bbe65d7a6366.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/33b14ad3c28aacae0c26.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/367c80ab13e6e89b1b12.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/4232424fbe4c74db9bcf.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/45970ae359a1fd1d3d9a.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/45b759b004b69b3f3618.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/46f74a1dd2d092405b03.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/5625917888bfac49d41c.svg"]{clip-path:inset(1px 1px 1px 1px)}
/* карточки товаров в заполненной корзине (планшет, телефон): в прошлый подбор не попали, корзина снималась пустой */
img.node-paint[src$="/206e49d2e9c0e1ccb50f.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/d218e64ee916e964c297.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/5776439c506b90a8f574.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/6476d3c83326fbff16e0.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/68ba02967347f60c7bf5.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/808f5a82f3a513cdb868.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/85eba9f1735bc0ef9b67.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/8d862b6a0f6de629ed72.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/93a21c07dcdf8fbab4ac.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/a249aee2206df7061c51.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/a909fd02b40ed858680f.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/aeb676e6ff5bfb351b81.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/b0c96600aa292606dee4.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/b436c24296291d022e30.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/bc8f2a4e7fc728e5f3a5.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/bf23f4f4d197401ecc09.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/c85f34a5e611ef7d11e0.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/e0138625c835d1a8a652.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/e3c31a4cdf8f331b6640.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/e536a8aaa383837b954b.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/f32fccb4bb99d2811786.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/561fd9b09b3cd7bb460d.svg"]{clip-path:inset(1px 1px 1px 1px)}
img.node-paint[src$="/bab99351f262470057c5.svg"]{clip-path:inset(1px 1px 1px 1px)}

/* 4. Точечные правки */
/* Иконка «Большой ассортимент в наличии»: маска клипа рисовалась чёрным квадратом поверх иконки */
[data-source-node="2258:589"] { display: none !important; }
[data-source-node="2258:588"] { overflow: hidden; }
/* Счётчик количества (корзина, товар): у кнопок не было значков минус и плюс */
/* черты 1,5 px: Figma размывает их на две строки пикселей по 75 %, браузер прижимает к двум полным строкам - даём покрытие прозрачностью */
[data-source-node="2654:2548"] { background: rgba(77,77,82,.75); }
[data-source-node="2654:2551"] { background: linear-gradient(rgba(77,77,82,.75), rgba(77,77,82,.75)) center / 100% 2px no-repeat, linear-gradient(rgba(77,77,82,.75), rgba(77,77,82,.75)) center / 2px 100% no-repeat; }
/* Сноска про Instagram в подвале: в макете выровнена по ширине */
:is([data-source-node="2486:760"], [data-source-node="2736:4175"]) > .source-line { right: 0; white-space: pre-wrap; text-align: justify; text-align-last: justify; }
:is([data-source-node="2486:760"], [data-source-node="2736:4175"]) > .source-line:last-child { text-align-last: auto; }
/* в макете слова с неразрывным пробелом («по реализации», «и Instagram») не растягиваются: site.js собирает их в неделимые группы */
.genesis-nbsp-group { display: inline-block; white-space: pre; }
/* линии у «ДОМ» в логотипе - клинья тоньше пикселя (у внешнего края 0,26-0,34 px, у слова 0,78-1,1 px) на дробной высоте: Figma рисует
   их покрытием по строкам пикселей, браузер растягивал SVG в сплошную линию. Рисуем две строки с покрытием, снятым с рендера макета
   (gen_logo_lines.py; у правой линии элемент отражён, градиент тот же). Шапки: 2016 - компьютер, 2492:88x - планшет, 2492:95x - телефон;
   подвалы: 2471 - компьютер, 2736 - планшет, 2853 - телефон. */
:is([data-source-node="2016:5"], [data-source-node="2016:6"], [data-source-node="2492:885"], [data-source-node="2492:886"], [data-source-node="2492:956"], [data-source-node="2492:957"], [data-source-node="2471:719"], [data-source-node="2471:720"], [data-source-node="2736:4147"], [data-source-node="2736:4148"], [data-source-node="2853:8318"], [data-source-node="2853:8319"]) > img.node-paint { visibility: hidden; }
:is([data-source-node="2016:5"], [data-source-node="2016:6"]) { height: 2px !important; background: linear-gradient(to right, rgba(169,130,65,0.25), rgba(169,130,65,0.63)) top / 100% 1px no-repeat, linear-gradient(to right, rgba(169,130,65,0.0), rgba(169,130,65,0.13)) bottom / 100% 1px no-repeat; }  /* 1920: y 84.28, строки 84 (0.25, 0.63), 85 (0.0, 0.13) */
:is([data-source-node="2471:719"], [data-source-node="2471:720"]) { height: 2px !important; background: linear-gradient(to right, rgba(246,246,247,0.12), rgba(246,246,247,0.5)) top / 100% 1px no-repeat, linear-gradient(to right, rgba(246,246,247,0.25), rgba(246,246,247,0.5)) bottom / 100% 1px no-repeat; }  /* 1920: y 7538.42, строки 7538 (0.12, 0.5), 7539 (0.25, 0.5) */
:is([data-source-node="2492:885"], [data-source-node="2492:886"]) { height: 2px !important; background: linear-gradient(to right, rgba(169,130,65,0.25), rgba(169,130,65,0.63)) top / 100% 1px no-repeat, linear-gradient(to right, rgba(169,130,65,0.0), rgba(169,130,65,0.13)) bottom / 100% 1px no-repeat; }  /* 744: y 84.28, строки 84 (0.25, 0.63), 85 (0.0, 0.13) */
:is([data-source-node="2736:4147"], [data-source-node="2736:4148"]) { height: 2px !important; background: linear-gradient(to right, rgba(246,246,247,0.37), rgba(246,246,247,1.0)) top / 100% 1px no-repeat, linear-gradient(to right, rgba(246,246,247,0.0), rgba(246,246,247,0.0)) bottom / 100% 1px no-repeat; }  /* 744: y 7929.94, строки 7930 (0.37, 1.0), 7931 (0.0, 0.0) */
:is([data-source-node="2492:956"], [data-source-node="2492:957"]) { height: 2px !important; margin-top: -1px; background: linear-gradient(to right, rgba(169,130,65,0.0), rgba(169,130,65,0.25)) top / 100% 1px no-repeat, linear-gradient(to right, rgba(169,130,65,0.26), rgba(169,130,65,0.5)) bottom / 100% 1px no-repeat; }  /* 375: y 77.70, строки 77 (0.0, 0.25), 78 (0.26, 0.5) */
:is([data-source-node="2853:8318"], [data-source-node="2853:8319"]) { height: 2px !important; background: linear-gradient(to right, rgba(246,246,247,0.12), rgba(246,246,247,0.5)) top / 100% 1px no-repeat, linear-gradient(to right, rgba(246,246,247,0.25), rgba(246,246,247,0.5)) bottom / 100% 1px no-repeat; }  /* 375: y 8288.48, строки 8288 (0.12, 0.5), 8289 (0.25, 0.5) */
/* Иконка меню (две полоски 1,5 px с зазором 5 px): SVG растеризовался сжатым, полоски рисуем стилем точно по макету */
[data-source-node="99:71"]:has(> img.node-paint[src$="/695f652f6e3281c106b4.svg"]) { --burger: #29452f; }
/* полоски 1,5 px на дробной высоте: в макете у каждой одна полная строка и одна полутоновая; рисуем строки явно (компьютер y ,48, планшет ,5, телефон целая) */
[data-source-node="99:71"]:has(> img.node-paint[src$="/695f652f6e3281c106b4.svg"])::before { content: ""; position: absolute; left: 0; right: 0; top: -.48px; height: 9px; pointer-events: none; --half: color-mix(in srgb, var(--burger) 50%, transparent); background: linear-gradient(var(--half) 0 1px, var(--burger) 1px 2px, transparent 2px 7px, var(--burger) 7px 8px, var(--half) 8px 9px); }
[data-source-node="2492:880"] [data-source-node="99:71"]:has(> img.node-paint[src$="/695f652f6e3281c106b4.svg"])::before { top: -.5px; }
[data-source-node="2492:951"] [data-source-node="99:71"]:has(> img.node-paint[src$="/695f652f6e3281c106b4.svg"])::before { top: 0; height: 8px; background: linear-gradient(var(--burger) 0 1px, var(--half) 1px 2px, transparent 2px 6px, var(--half) 6px 7px, var(--burger) 7px 8px); }
img.node-paint[src$="/695f652f6e3281c106b4.svg"] { visibility: hidden; }
/* полоски белые при наведении и нажатии на «Каталог» и кнопку меню; :has, чтобы перевесить правило выше (0,3,1) */
@media (hover: hover) { :is([data-component="263:585"], [data-component="263:602"]):hover [data-source-node="99:71"]:has(> img.node-paint) { --burger: #fff; } }
:is([data-component="263:585"], [data-component="263:602"]):active [data-source-node="99:71"]:has(> img.node-paint) { --burger: #fff; }
/* Подчёркивания ссылок из макета толщиной 0,4 px: браузер рисует минимум 1 px полного цвета, передаём покрытие прозрачностью */
.source-decoration { height: 1px !important; opacity: .4; }
/* Кнопки корзины: центрированная рамка выступает на 0,5 px и срезалась обрезкой содержимого (у кнопки и у мобильного блока кнопок) */
.fig-node.s96c0c6eb1d32 { overflow: clip !important; overflow-clip-margin: 1px; }
/* поле счётчика в мобильной корзине: блок «Количество и сумма» в макете обрезает внешнюю половину центрированной рамки -
   видна внутренняя строка полутоном (#BEBEC0 на 50 %) со всех сторон; рисуем её внутренней тенью вместо подложки */
[data-source-node="2911:10921"] [data-source-node="2654:2852"] > img.node-paint { visibility: hidden; }
[data-source-node="2911:10921"] [data-source-node="2654:2852"] { border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(190,190,192,.5), 1px 0 0 0 rgba(190,190,192,.5); }  /* справа блок не обрезает: вторая половина рамки снаружи */
.fig-node.s27340a6932df { overflow: clip !important; overflow-clip-margin: 1px; }
/* кнопки внизу мобильной корзины: в макете блок обрезает внешнюю половину центрированной рамки, поэтому стороны бледные (50 %),
   а между кнопками мягкая линия в две строки. Рисуем это контуром и тенью вместо подложки (рамка фокуса с клавиатуры остаётся) */
.s27340a6932df > :is([data-source-node="2911:10954"], [data-source-node="2911:10965"]) > img.node-paint { visibility: hidden; }
.s27340a6932df > :is([data-source-node="2911:10954"], [data-source-node="2911:10965"]):not(:focus-visible) { outline: 1px solid rgba(41,69,47,.5); outline-offset: -1px; }
.s27340a6932df > [data-source-node="2911:10954"] { box-shadow: 0 1px 0 rgba(41,69,47,.5); }
.s27340a6932df > [data-source-node="2911:10965"] { box-shadow: 0 -1px 0 rgba(41,69,47,.5); }
.s27340a6932df > :is([data-source-node="2911:10954"], [data-source-node="2911:10965"]):is(:hover, :active) { outline-color: transparent; }
/* Суммы в «Ваш заказ»: поле из макета рассчитано на «26 400 ₽», более короткая сумма должна стоять у правого края, как в макете */
[data-summary-amount="true"] { text-align: right !important; }
/* Корзина и оформление: высота страницы по содержимому (у пустой корзины под подвалом оставалась серая полоса) */
body:is([data-page="cart"], [data-page="checkout"]) main > .viewport > .fig-node { height: auto !important; min-height: 0 !important; }
/* Сортировка в каталоге на телефоне: в макете одна строка с многоточием, а не перенос посреди слова */
[data-sort-caption][data-sort-single] > .source-line { left: 0; right: 0; overflow: hidden; text-overflow: ellipsis; }
/* Название товара в карточках на планшете и телефоне: в макете обрезка многоточием по высоте блока (2 строки),
   конвертер выводил третью строку, и она залезала под кнопку «В корзину» */
[data-source-node="2790:4367"] > .source-line:nth-child(n+3) { display: none; }
[data-source-node="2790:4367"][data-runtime-text="true"] { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
/* Товар без цены в корзине и оформлении: «Цена по запросу» / «По запросу» в одну строку (поле макета рассчитано на «8 800 ₽» и текст рвался по буквам) */
[data-price-request="dash"] { text-align: right !important; }
[data-price-request="true"] { white-space: nowrap !important; overflow-wrap: normal !important; width: max-content !important; min-width: 0 !important; flex-shrink: 0 !important; }
/* «Заказ оформлен»: строка «Заказ № … сохранён. Оплата ожидается…» добавлялась под кнопкой и растягивала окно макета; оставляем её только экранному диктору */
.runtime-receipt-status { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
[aria-modal="true"][tabindex="-1"]:focus { outline: none; }
/* Поле телефона в формах партнёров: у конвертера в стиле два цвета подряд (белый, затем зелёный); в макете цвет как у поля имени */
:is(.fig-node.s887380b25c60, .fig-node.se6419dc329b0, .fig-node.sfea12e2e2b59) { color: rgba(70,52,22,1) !important; }


/* Отредактированные в админке тексты выводятся потоком: выравнивание как в макете (по центру, справа), слова не рвутся посередине */
[data-cms-edited="true"], [data-runtime-text="true"]:not(input, select, textarea) { overflow-wrap: break-word !important; }
:is([data-source-node="2081:397"], [data-source-node="2225:159"], [data-source-node="2339:234"], [data-source-node="2339:235"], [data-source-node="2454:290"], [data-source-node="2454:291"], [data-source-node="2503:1119"], [data-source-node="2503:1120"], [data-source-node="2525:1174"], [data-source-node="2525:1217"], [data-source-node="2654:2855"], [data-source-node="2654:3584"], [data-source-node="2654:3627"], [data-source-node="2670:4165"], [data-source-node="2670:4166"], [data-source-node="2735:3615"], [data-source-node="2735:3616"], [data-source-node="2736:3910"], [data-source-node="2736:3911"], [data-source-node="2790:5805"], [data-source-node="2790:5806"], [data-source-node="2790:6294"], [data-source-node="2790:6295"], [data-source-node="2802:5409"], [data-source-node="2802:5798"], [data-source-node="2842:7099"], [data-source-node="2842:7100"], [data-source-node="2853:8672"], [data-source-node="2853:8673"], [data-source-node="2853:9026"], [data-source-node="2853:9027"], [data-source-node="2911:8739"], [data-source-node="2911:8740"], [data-source-node="2911:9340"], [data-source-node="2911:9341"], [data-source-node="2911:9925"], [data-source-node="2911:9926"], [data-source-node="2911:9954"], [data-source-node="2911:9955"], [data-source-node="2974:9646"], [data-source-node="2974:9647"], [data-source-node="2974:9902"], [data-source-node="2974:9903"], [data-source-node="2975:10374"], [data-source-node="2975:10375"]):is([data-cms-edited="true"], [data-runtime-text="true"]) { text-align: center; }
:is([data-source-node="2486:698"], [data-source-node="2736:4176"]):is([data-cms-edited="true"], [data-runtime-text="true"]) { text-align: right; }
:is([data-source-node="2486:760"], [data-source-node="2736:4175"]):is([data-cms-edited="true"], [data-runtime-text="true"]) { text-align: justify; }


/* 5. Состояния кнопок из макета */
[data-component] > img.node-paint, [data-component] .fig-text { transition: opacity .15s ease, color .15s ease; }
button:hover > .node-paint { filter: none; }
@media (hover: hover) {
  [data-component="2036:313"]:hover { background-color: #e0ae59; box-shadow: inset 0 0 0 2px #a98241; }
  [data-component="2036:313"]:hover > img.node-paint { opacity: 0; }
  [data-component="2036:313"]:hover .fig-text { color: #ffffff !important; }
  [data-component="2036:313"]:hover .fig-node img.node-paint { filter: brightness(0) invert(1); }
  [data-component="2036:321"]:hover { background-color: #e0ae59; box-shadow: none; }
  [data-component="2036:321"]:hover > img.node-paint { opacity: 0; }
  [data-component="2036:329"]:hover { background-color: #e0ae59; box-shadow: none; }
  [data-component="2036:329"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:345"]:hover { background-color: #dcdcdd; box-shadow: none; }
  [data-component="2098:345"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:365"]:hover .fig-text { color: #dcdcdd !important; }
  [data-component="2098:441"]:hover { background-color: transparent; box-shadow: inset 0 0 0 2px #f6f6f7; }
  [data-component="2098:441"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:441"]:hover .fig-text { color: #f6f6f7 !important; }
  [data-component="2098:449"]:hover { background-color: #dcdcdd; box-shadow: none; }
  [data-component="2098:449"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:457"]:hover { background-color: #dcdcdd; box-shadow: none; }
  [data-component="2098:457"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:513"]:hover { background-color: #dcdcdd; box-shadow: none; }
  [data-component="2098:513"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:517"]:hover { background-color: transparent; box-shadow: inset 0 0 0 2px #f6f6f7; }
  [data-component="2098:517"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:521"]:hover { background-color: transparent; box-shadow: inset 0 0 0 2px #f6f6f7; }
  [data-component="2098:521"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:525"]:hover { background-color: transparent; box-shadow: inset 0 0 0 2px #f6f6f7; }
  [data-component="2098:525"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:529"]:hover { background-color: #dcdcdd; box-shadow: none; }
  [data-component="2098:529"]:hover > img.node-paint { opacity: 0; }
  [data-component="2098:533"]:hover { background-color: #dcdcdd; box-shadow: none; }
  [data-component="2098:533"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:546"]:hover { background-color: #456f4e; box-shadow: inset 0 0 0 2px #29452f; }
  [data-component="263:546"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:549"]:hover { background-color: #456f4e; box-shadow: none; }
  [data-component="263:549"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:557"]:hover { background-color: #456f4e; box-shadow: none; }
  [data-component="263:557"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:562"]:hover { background-color: #456f4e; box-shadow: inset 0 0 0 2px #29452f; }
  [data-component="263:562"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:562"]:hover .fig-text { color: #ffffff !important; }
  [data-component="263:562"]:hover .fig-node img.node-paint { filter: brightness(0) invert(1); }
  [data-component="263:564"]:hover .fig-text { color: #456f4e !important; }
  [data-component="263:584"]:hover { background-color: #456f4e; box-shadow: inset 0 0 0 2px #29452f; }
  [data-component="263:584"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:584"]:hover .fig-text { color: #ffffff !important; }
  [data-component="263:584"]:hover .fig-node img.node-paint { filter: brightness(0) invert(1); }
  [data-component="263:585"]:hover { background-color: #456f4e; box-shadow: inset 0 0 0 2px #29452f; }
  [data-component="263:585"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:585"]:hover .fig-text { color: #ffffff !important; }
  [data-component="263:585"]:hover .fig-node img.node-paint { filter: brightness(0) invert(1); }
  [data-component="263:598"]:hover { background-color: #456f4e; box-shadow: none; }
  [data-component="263:598"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:602"]:hover { background-color: #456f4e; box-shadow: inset 0 0 0 2px #29452f; }
  [data-component="263:602"]:hover > img.node-paint { opacity: 0; }
  [data-component="263:604"]:hover .fig-text { color: #456f4e !important; }
}
[data-component="2036:313"]:active { background-color: #a98241; box-shadow: none; }
[data-component="2036:313"]:active > img.node-paint { opacity: 0; }
[data-component="2036:313"]:active .fig-text { color: #ffffff !important; }
[data-component="2036:313"]:active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component="2036:321"]:active { background-color: #a98241; box-shadow: inset 0 0 0 2px #e0ae59; }
[data-component="2036:321"]:active > img.node-paint { opacity: 0; }
[data-component="2036:329"]:active { background-color: #a98241; box-shadow: inset 0 0 0 2px #e0ae59; }
[data-component="2036:329"]:active > img.node-paint { opacity: 0; }
[data-component="2098:345"]:active { background-color: #1d1d1f; box-shadow: inset 0 0 0 2px #4d4d52; }
[data-component="2098:345"]:active > img.node-paint { opacity: 0; }
[data-component="2098:345"]:active .fig-text { color: #ffffff !important; }
[data-component="2098:345"]:active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component="2098:365"]:active .fig-text { color: #456f4e !important; }
[data-component="2098:441"]:active { background-color: #dcdcdd; box-shadow: none; }
[data-component="2098:441"]:active > img.node-paint { opacity: 0; }
[data-component="2098:441"]:active .fig-text { color: #343438 !important; }
[data-component="2098:449"]:active { background-color: #1d1d1f; box-shadow: inset 0 0 0 2px #4d4d52; }
[data-component="2098:449"]:active > img.node-paint { opacity: 0; }
[data-component="2098:449"]:active .fig-text { color: #ffffff !important; }
[data-component="2098:449"]:active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component="2098:457"]:active { background-color: #1d1d1f; box-shadow: inset 0 0 0 2px #4d4d52; }
[data-component="2098:457"]:active > img.node-paint { opacity: 0; }
[data-component="2098:457"]:active .fig-text { color: #ffffff !important; }
[data-component="2098:457"]:active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component="2098:513"]:active { background-color: #1d1d1f; box-shadow: inset 0 0 0 2px #4d4d52; }
[data-component="2098:513"]:active > img.node-paint { opacity: 0; }
[data-component="2098:517"]:active { background-color: #dcdcdd; box-shadow: none; }
[data-component="2098:517"]:active > img.node-paint { opacity: 0; }
[data-component="2098:521"]:active { background-color: #dcdcdd; box-shadow: none; }
[data-component="2098:521"]:active > img.node-paint { opacity: 0; }
[data-component="2098:525"]:active { background-color: #dcdcdd; box-shadow: none; }
[data-component="2098:525"]:active > img.node-paint { opacity: 0; }
[data-component="2098:529"]:active { background-color: #1d1d1f; box-shadow: inset 0 0 0 2px #4d4d52; }
[data-component="2098:529"]:active > img.node-paint { opacity: 0; }
[data-component="2098:533"]:active { background-color: #1d1d1f; box-shadow: inset 0 0 0 2px #4d4d52; }
[data-component="2098:533"]:active > img.node-paint { opacity: 0; }
[data-component="263:546"]:active { background-color: #29452f; box-shadow: none; }
[data-component="263:546"]:active > img.node-paint { opacity: 0; }
[data-component="263:549"]:active { background-color: #29452f; box-shadow: inset 0 0 0 2px #456f4e; }
[data-component="263:549"]:active > img.node-paint { opacity: 0; }
[data-component="263:557"]:active { background-color: #29452f; box-shadow: inset 0 0 0 2px #456f4e; }
[data-component="263:557"]:active > img.node-paint { opacity: 0; }
[data-component="263:562"]:active { background-color: #29452f; box-shadow: none; }
[data-component="263:562"]:active > img.node-paint { opacity: 0; }
[data-component="263:562"]:active .fig-text { color: #ffffff !important; }
[data-component="263:562"]:active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component="263:564"]:active .fig-text { color: #142518 !important; }
[data-component="263:584"]:active { background-color: #29452f; box-shadow: none; }
[data-component="263:584"]:active > img.node-paint { opacity: 0; }
[data-component="263:584"]:active .fig-text { color: #ffffff !important; }
[data-component="263:584"]:active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component="263:585"]:active { background-color: #29452f; box-shadow: none; }
[data-component="263:585"]:active > img.node-paint { opacity: 0; }
[data-component="263:585"]:active .fig-text { color: #ffffff !important; }
[data-component="263:585"]:active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component="263:598"]:active { background-color: #29452f; box-shadow: inset 0 0 0 2px #456f4e; }
[data-component="263:598"]:active > img.node-paint { opacity: 0; }
[data-component="263:602"]:active { background-color: #29452f; box-shadow: none; }
[data-component="263:602"]:active > img.node-paint { opacity: 0; }
[data-component="263:604"]:active .fig-text { color: #142518 !important; }
:is([data-component="2036:313"], [data-component="2036:321"], [data-component="2036:329"], [data-component="2098:345"], [data-component="2098:365"], [data-component="2098:441"], [data-component="2098:449"], [data-component="2098:457"], [data-component="2098:513"], [data-component="2098:517"], [data-component="2098:521"], [data-component="2098:525"], [data-component="2098:529"], [data-component="2098:533"], [data-component="263:546"], [data-component="263:549"], [data-component="263:557"], [data-component="263:562"], [data-component="263:564"], [data-component="263:584"], [data-component="263:585"], [data-component="263:598"], [data-component="263:602"], [data-component="263:604"]):is([disabled], [aria-disabled="true"]) { opacity: .3; cursor: default; }
/* 5а. Правки владельца 11.10 поверх раздела 5. Кнопки-контуры, которые при наведении заливаются (набор 263:608 Secondary и
   «Показать ещё» 2036:313), без обводки варианта Hover. Иконки кнопок без подписи (поиск, корзина, меню, «Позвонить», вопросы, стрелки
   каруселей) белые при наведении и нажатии, как в вариантах 263:594 / 263:539; у белых кнопок связи и «Закрыть» белые при нажатии. */
@media (hover: hover) {
  :is([data-component="263:546"], [data-component="263:562"], [data-component="263:584"], [data-component="263:585"], [data-component="263:602"], [data-component="2036:313"]):hover { box-shadow: none; }
  :is([data-component="263:546"], [data-component="263:602"]):hover .fig-node img.node-paint { filter: brightness(0) invert(1); }
}
:is([data-component="263:546"], [data-component="263:602"], [data-component="2098:513"], [data-component="2098:529"], [data-component="2098:533"]):active .fig-node img.node-paint { filter: brightness(0) invert(1); }
[data-component] .fig-node img.node-paint { transition: filter .15s ease; }
/* окно меню: фокус на само окно, а не на первую кнопку (в макете у «Каталог» и логотипа нет рамки фокуса) */
dialog[data-overlay="menu"]:focus { outline: none; }

/* 6. Строки текста на 1 px выше макета. У стилей 16/22.72, 20/24, 32/38.4, 42/50.4, 24/28.8, 17/23.8 и крупных заголовков браузер
   округляет дробную базовую линию вверх, Figma рисует её на 0,5-0,7 px ниже; у остальных стилей совпадение точное.
   Классы строк подобраны замером всех текстовых слоёв (text_shift.py: сдвиг -1,00 у этих классов и 0,00 у остальных),
   четыре подписи на фото с тем же классом стоят точно и исключены. */
:is(.source-line.sd19bcca32566, .source-line.sde4457161c26, .source-line.s0053fe37045c, .source-line.s01a2b3d837be, .source-line.s0383e8a82464, .source-line.s0ac51d998474, .source-line.s0bc038e5bc3a, .source-line.s0db9eaba6d4d, .source-line.s10c62e1f0990, .source-line.s122ef391d2ec, .source-line.s13b9cdc4628e, .source-line.s169f3409aff3, .source-line.s18a806b3c25e, .source-line.s1b30ac25afe7, .source-line.s1bcc858a3a30, .source-line.s1c738f9d77b9, .source-line.s1f96164eb436, .source-line.s250a0f91a641, .source-line.s2793810f9a72, .source-line.s279be49f8a76, .source-line.s2df1786bb0a9, .source-line.s34a534a5b18d, .source-line.s3c4dc2f2c278, .source-line.s3f53a61dd7ee, .source-line.s4087de613c29, .source-line.s497cc1ed7654, .source-line.s4c11e3899a40, .source-line.s4ca4152bab9b, .source-line.s51e759d0400c, .source-line.s561450ddb4b3, .source-line.s57e20aef7445, .source-line.s58e07f172759, .source-line.s6027a705a368, .source-line.s65c51b2bd505, .source-line.s65fbc5ac50fc, .source-line.s677096f0da89, .source-line.s68b9387f1f87, .source-line.s6d4d98dd0150, .source-line.s6e1fac5f5cf8, .source-line.s7e27b2ddc866, .source-line.s822522f05006, .source-line.s86a9d3d29b5b, .source-line.s87deaf32d073, .source-line.s8d11d01528e3, .source-line.s904dbe160c9f, .source-line.s92b211551bbd, .source-line.s9b31f4979f17, .source-line.s9e55b9186209, .source-line.sa0485b46cfda, .source-line.sa10edf07fa85, .source-line.sa8b28e8dad27, .source-line.sa8b3c3866165, .source-line.sac6380d3e6eb, .source-line.sb8b38196e28f, .source-line.sbc21ca1264f1, .source-line.sbd7953df1244, .source-line.sc0ef5fafc851, .source-line.sc10bfecb8f0e, .source-line.sc47e5ab82da1, .source-line.sc7ad18459783, .source-line.sc928f77a2f5b, .source-line.scbd0067d31e4, .source-line.scbeb6437a2a3, .source-line.scebad0ed96f5, .source-line.sceca7fd1ab1a, .source-line.sd12548a7ecf5, .source-line.sd2637eff44a6, .source-line.sd6430a8cfe83, .source-line.sd75394cd5aa6, .source-line.sdf7c8c901817, .source-line.sdfe8c385f2ea, .source-line.se004a7d8ed85, .source-line.se0dbdd9e09dd, .source-line.se22986805c35, .source-line.se80448db3596, .source-line.seb0d7d246d05, .source-line.sec96f46a2d55, .source-line.sef4757f66b6f, .source-line.sf027977b1c0e, .source-line.sf2106cc6eefe, .source-line.sf22d8b2018f7, .source-line.sf23b52835b07, .source-line.sf604b4bd2481, .source-line.sf78f70b1ce02, .source-line.sf855db16db88, .source-line.sf8d6eae845e5, .source-line.sfbf2ccb6f924, .source-line.sfc3ee186360d, .source-line.sfe2fed1eb257, .source-line.sff173bba25b6) { translate: 0 1px; }
:is([data-node="2196:749/2185:655/2185:656/2185:657"], [data-node="2670:4591/2670:4567/2670:4568/2670:4569"], [data-source-node="2576:1157"]) > .source-line.sd19bcca32566 { translate: none; }  /* «Мебель из Китая» на главной, «Столы», подписи на фото в «О компании» */

/* окно консультации: заголовок планшета и 4-я строка заголовка телефона (в окно замер страниц не попадал), а также значения
   полей того же стиля 16/22.72 - «Добрый день» в сообщении и комментарии, «Иванов Иван» в имени; замер consult_shift.py */
dialog[data-overlay="consultation"] :is(.source-line.sd4ac02e679c3, .source-line.s616328979dee, .source-line.se3964944fd33, .source-line.s114a2386c3d6) { translate: 0 1px; }  /* эти классы есть и на страницах, там строки стоят точно */
/* поля 16/22.72: на компьютере (и в окне на планшете) значение выше на 1 px, на планшете и телефоне в странице - точно;
   сообщение и комментарий выше на 1 px во всех раскладках, кроме формы партнёров на «Мебели» (field_shift.py) */
:is([data-variant="desktop"], dialog[data-overlay="consultation"] [data-variant="tablet"]) input[data-field]:is(.s0f76c5ea3630, .s152821b5b4cf, .s1ddf78ea2b2e, .s2c71500d1c83, .s5edcb36e431e, .s5f68f2ed5247, .s736c47be3e3f, .s89bff22c60c9, .sa4cfe0a42dc0, .sd3a2703c485a, .sf0fa72a76a9a, .sf64dc75db111) { translate: 0 1px; }
textarea[data-field]:is(.s1f0a0550b388, .s4b91d14410d7, .sc0d5e7a9b157) { translate: 0 1px; }

/* 7. Отрисовка как в Figma.
   Текст: Figma сглаживает буквы оттенками серого, Chrome в Windows - цветной субпиксельной окантовкой (ClearType). Отдельный слой
   у корня сцены переводит текст на серое сглаживание; замер: отличий от макета в 4 раза меньше. */
main > .viewport > .fig-node, dialog[data-overlay] > .viewport > .fig-node { will-change: opacity; }
/* тексты на сплошной плашке или затемнении фото Chrome всё равно рисует цветными: свой прозрачный слой (замер по всем страницам) */
:is([data-node="2842:6718"], [data-node="2503:1120"], [data-node="2503:1122"], [data-node="2503:1123"], [data-node="2790:5803"], [data-node="2790:5805"], [data-node="2790:5806"], [data-node="2790:5807"], [data-node="2790:6292"], [data-node="2790:6294"], [data-node="2790:6295"], [data-node="2790:6296"]) { will-change: opacity; }
/* Рамки с центрированной обводкой: подложка с запасом 1 px по осям, где узел стоит на целом пикселе (inc/fixes.php: -px*.svg и классы np-*) */
img.node-paint:is(.np-xy, .np-x) { left: calc(var(--paint-left) - 1px); width: calc(100% + var(--paint-w) + 2px); }
img.node-paint:is(.np-xy, .np-y) { top: calc(var(--paint-top) - 1px); height: calc(100% + var(--paint-h) + 2px); }
/* 8. Карточки категорий и направлений на компьютере: главная (4 панели + «Мебель из Китая»), «Панели» (4), «Мебель на заказ» (6),
   «О компании» (2). Наведение как у карточки «Стулья» в макете: набор «catalog point large» 2670:4627, вариант Property 1=Variant2
   (2670:4628), прототип ON_HOVER -> SWAP_STATE, DISSOLVE 0,3 с, OUT_CUBIC (= ease-out). Плашка 20 % -> 70 % белого, заголовок
   #ffffff -> #343438, описание #eeeeee -> #4d4d52, стрелка «buttons negative color» (рамка и стрелка белые) -> «buttons primary color»
   Default (рамка 1 px и стрелка #29452f); фото не меняется и не затемняется. Слой hover-overlay (Rectangle 16) генератор ставил
   последним, поверх плашки и текста: на главной и «Панелях» чёрный 35 % поверх потемневшего текста, в «О компании» - фото «Стеновых
   панелей» с 40 % чёрного (у «Мебели» - чужое фото). Карточка «Стулья» в покое как остальные. */
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) > [data-node$="/hover-overlay"] { display: none !important; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) > :is([data-source-node="2142:543"], [data-source-node="2185:655"], [data-source-node="2576:1155"], [data-source-node="2670:4567"], [data-source-node="2670:4630"]) { background-color: rgba(255, 255, 255, .2); transition: background-color .3s ease-out; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) > :is([data-source-node="2142:543"], [data-source-node="2185:655"], [data-source-node="2576:1155"], [data-source-node="2670:4567"], [data-source-node="2670:4630"]) > img.node-paint { opacity: 0; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) :is([data-source-node="2142:543"], [data-source-node="2185:655"], [data-source-node="2576:1155"], [data-source-node="2670:4567"], [data-source-node="2670:4630"]) :is([data-source-node="2138:535"], [data-source-node="2185:657"], [data-source-node="2576:1157"], [data-source-node="2670:4569"], [data-source-node="2670:4632"]) { color: #ffffff; transition: color .3s ease-out; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) :is([data-source-node="2142:543"], [data-source-node="2185:655"], [data-source-node="2576:1155"], [data-source-node="2670:4567"], [data-source-node="2670:4630"]) :is([data-source-node="2130:487"], [data-source-node="2185:658"], [data-source-node="2670:4570"], [data-source-node="2670:4633"]) { color: #eeeeee; transition: color .3s ease-out; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) { box-shadow: inset 0 0 0 1px rgba(41, 69, 47, 0); transition: background-color .3s ease-out, box-shadow .3s ease-out; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) > img.node-paint { transition: opacity .3s ease-out; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) [data-source-node="99:35"] > img.node-paint { transition: opacity .3s ease-out; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) [data-source-node="99:35"]::after { content: ""; position: absolute; inset: 0; background-color: #29452f; opacity: 0; transition: opacity .3s ease-out, background-color .3s ease-out; pointer-events: none;
  -webkit-mask: url("assets/source/60fd148562caa2add611.svg") 0 0 / 100% 100% no-repeat; mask: url("assets/source/60fd148562caa2add611.svg") 0 0 / 100% 100% no-repeat; }
/* «Стулья» (2670:4597) в покое: белая рамка и белая стрелка, как у «buttons negative color» Small */
[data-component="2670:4628"] [data-component="263:602"] > img.node-paint { content: url("assets/source/a2ce8a6195f626cb6e56.svg"); }
[data-component="2670:4628"] [data-component="263:602"] > img.node-paint.np-xy { content: url("assets/opt/a2ce8a6195f626cb6e56-pxxy.svg"); }
[data-component="2670:4628"] [data-component="263:602"] [data-source-node="99:35"] > img.node-paint { opacity: 0; }
[data-component="2670:4628"] [data-component="263:602"] [data-source-node="99:35"]::after { background-color: #ffffff; opacity: 1; }
/* наведение и фокус (как у генератора: :hover и :focus-within) */
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) > :is([data-source-node="2142:543"], [data-source-node="2185:655"], [data-source-node="2576:1155"], [data-source-node="2670:4567"], [data-source-node="2670:4630"]) { background-color: rgba(255, 255, 255, .7); }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-source-node="2142:543"], [data-source-node="2185:655"], [data-source-node="2576:1155"], [data-source-node="2670:4567"], [data-source-node="2670:4630"]) :is([data-source-node="2138:535"], [data-source-node="2185:657"], [data-source-node="2576:1157"], [data-source-node="2670:4569"], [data-source-node="2670:4632"]) { color: #343438; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-source-node="2142:543"], [data-source-node="2185:655"], [data-source-node="2576:1155"], [data-source-node="2670:4567"], [data-source-node="2670:4630"]) :is([data-source-node="2130:487"], [data-source-node="2185:658"], [data-source-node="2670:4570"], [data-source-node="2670:4633"]) { color: #4d4d52; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) { background-color: transparent; box-shadow: inset 0 0 0 1px #29452f; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) > img.node-paint { opacity: 0; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) [data-source-node="99:35"] > img.node-paint { opacity: 0; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]) [data-source-node="99:35"]::after { background-color: #29452f; opacity: 1; }
/* сама стрелка под курсором: «buttons primary color», State=Hover (263:538, 263:539, 263:594) и Active (263:541, 263:542, 263:572) */
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]):hover { background-color: #456f4e; box-shadow: inset 0 0 0 2px #29452f; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]):hover [data-source-node="99:35"]::after { background-color: #ffffff; }
:is([data-component="2147:563"], [data-component="2196:748"], [data-component="2576:1173"], [data-component="2670:4590"], [data-component="2670:4628"]):is(:hover, :focus-within) :is([data-component="2098:525"], [data-component="2098:521"], [data-component="2098:517"], [data-component="263:602"]):hover:active { background-color: #29452f; box-shadow: inset 0 0 0 2px rgba(41, 69, 47, 0); }
/* 9. Меню каталога: пункты «menu buttons» (набор 2806:7285). Close 2806:7283 - обычный вид, open 2806:7284 - вид при наведении
   (в макете у close прототип ON_HOVER -> SWAP_STATE open, DISSOLVE 0,3 с, OUT_CUBIC). В кадрах меню «Бамбуковые панели»
   (2806:7286, 2842:6904, 2853:9064) стоит в open как пример наведения, поэтому в бою он был выделен всегда.
   Open: текст с отступом 16 px, стрелка у правого края, снизу линия 1 px #BEBEC0 по центру кромки на всю ширину колонки.
   Строка пункта всегда на всю ширину колонки: зона наведения не меняется, курсор не «соскальзывает». */
dialog[data-overlay="menu"] a:is([data-component="2806:7283"], [data-component="2806:7284"]) {
  align-self: stretch; width: auto; justify-content: flex-start; gap: 8px; padding-left: 0;
  transition: padding-left .3s cubic-bezier(0, 0, .58, 1);
}
/* у open прозрачная нижняя рамка 1 px (линию рисовал SVG): переводим её в отступ - высота строки 32, текст и стрелка на тех же
   местах (контент 23 px + top .5px у классов sea5c3578bcbe/sacea3b22d56c = как у close), а линия считается от нижней кромки */
dialog[data-overlay="menu"] a[data-component="2806:7284"] { border-bottom-width: 0; padding-bottom: 9px; }
dialog[data-overlay="menu"] a[data-component="2806:7284"] > img.node-paint { display: none; }
/* линия: 1 px по центру кромки Figma рисует двумя строками по 50 % - так и рисуем (2 px с прозрачностью .5) */
dialog[data-overlay="menu"] a:is([data-component="2806:7283"], [data-component="2806:7284"])::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #bebec0; opacity: 0; pointer-events: none;
  transition: opacity .3s cubic-bezier(0, 0, .58, 1);
}
@media (hover: hover) {
  dialog[data-overlay="menu"] a:is([data-component="2806:7283"], [data-component="2806:7284"]):hover { justify-content: space-between; padding-left: 16px; }
  dialog[data-overlay="menu"] a:is([data-component="2806:7283"], [data-component="2806:7284"]):hover::after { opacity: .5; }
  dialog[data-overlay="menu"] a:is([data-component="2806:7283"], [data-component="2806:7284"]):hover > [data-name="arrow right"] { animation: genesis-menu-arrow .3s cubic-bezier(0, 0, .58, 1); }
}
/* с клавиатуры - тот же вид, что при наведении */
dialog[data-overlay="menu"] a:is([data-component="2806:7283"], [data-component="2806:7284"]):focus-visible { justify-content: space-between; padding-left: 16px; }
dialog[data-overlay="menu"] a:is([data-component="2806:7283"], [data-component="2806:7284"]):focus-visible::after { opacity: .5; }
@keyframes genesis-menu-arrow { from { opacity: 0; } }

/* фото пунктов меню: слой с новым фото поверх прежнего (под затемнением 10 %), наплыв 0,3 с, OUT_CUBIC (site.js setupMenuPhotos) */
dialog[data-overlay="menu"] img.menu-photo-layer { opacity: 0; transition: opacity .3s cubic-bezier(0, 0, .58, 1); }
dialog[data-overlay="menu"] img.menu-photo-layer.is-shown { opacity: 1; }
/* 10. Формы (замечания владельца 5 и 10, 11.10)
   8.1 Поля ввода на всю ширину. Конвертер дал полю ширину образца текста из Figma: «Иванов» 56 px, «Иван» 38 px, «город» 46 px,
   телефон 142 px, «Контактное лицо» 97 px (все формы и окно заявки, на трёх раскладках). Введённый текст прокручивался в узкой полосе,
   курсор ставился только щелчком по образцу. Поле занимает весь блок «text» рамки; левый край и строка те же. */
[data-field-wrapper] .fig-node[data-name="text"]:has(> :is(input:not([type="file"]), textarea)[data-field]) { flex-grow: 1; flex-basis: 0; min-width: 0; }
[data-field-wrapper] .fig-node[data-name="text"] > :is(input:not([type="file"]), textarea).fig-node[data-field] { grid-column: 1 / -1; align-self: stretch; justify-self: stretch; width: 100%; min-width: 0; }
/* 8.2 «Комментарий к заказу», «Сообщение»: поле на всю высоту рамки (было 23 px, одна строка) и с переносом строк
   (класс fig-text даёт white-space: pre, длинная строка уходила вбок). В сетке поле занимает строку 2 и добавочную строку 1fr. */
[data-field-wrapper] .fig-node[data-name="content"]:has(> .fig-node[data-name="text"] > textarea[data-field]) { align-items: stretch; }
[data-field-wrapper] .fig-node[data-name="text"]:has(> textarea[data-field]) { height: auto; align-self: stretch; grid-auto-rows: 1fr; }
[data-field-wrapper] .fig-node[data-name="text"] > textarea.fig-node[data-field] { grid-row: 2 / 4; flex: 1 1 auto; align-self: stretch; height: auto; min-height: 23px; white-space: pre-wrap; overflow-wrap: break-word; }
/* 8.4 «Тип сотрудничества» (главная, «О компании»): свой список вместо системного (site.js setupPartnerSelects). Системный список
   брал цвет поля из макета (#fff) и показывал пункты белым по белому. Вид - раскрытое поле, как «Удобный способ связи» в окне заявки
   (Figma 2842:6798, x-modal): пункты Manrope 600 16/22,4, разрядка 0,32 px, между пунктами 12 px, отступ слева 26 px (16 рамки + 10 блока
   text), снизу 20 px; цвета формы партнёров: текст #463416 (как «Иванов Иван»), подложка поля белая 80 % по #fcefdf = #fefcf9. */
.runtime-partner-toggle { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.runtime-partner-toggle:focus-visible { outline: 2px solid #a98241; outline-offset: 2px; }
[data-field-wrapper="partnershipType"][data-open="true"] { z-index: 3; }
[data-field-wrapper="partnershipType"] [data-partner-has-value="true"] { height: auto !important; }
.runtime-partner-value { display: block; flex-shrink: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.runtime-partner-list { position: absolute; left: 0; right: 0; top: calc(100% - 8px); z-index: 6; display: flex; flex-direction: column; gap: 12px; padding: 12px 26px 20px; border-radius: 0 0 8px 8px; background: #fefcf9; box-shadow: 0 12px 24px rgba(70, 52, 22, .12); }
.runtime-partner-list > button { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; font: 600 16px/22.4px Manrope, Arial, sans-serif; letter-spacing: .32px; color: #463416; text-align: left; cursor: pointer; }
.runtime-partner-list > button:is(:hover, [aria-selected="true"]) { color: #a98241; }
.runtime-partner-list > button:focus-visible { outline: none; color: #a98241; text-decoration: underline; text-underline-offset: 3px; }
.viewport.mobile .runtime-partner-list { gap: 10px; padding: 10px 26px 16px; }
.viewport.mobile .runtime-partner-list > button { font-size: 14px; line-height: 19.6px; letter-spacing: .28px; }
/* 8.5 Оформление заказа: «Оплата картой через сайт пока недоступна» - под способами оплаты (блок «Оплата»), статус отправки - под кнопкой
   «Оформить заказ» (site.js updatePaymentNotice, formStatus). Раньше оба вставали в конец формы; на компьютере форма 2719:2988 - строка
   из двух колонок, и блок с flex: 0 0 100 % становился третьей колонкой правее «Ваш заказ» (x = 1628 из 1920), остальное обрезалось. */
form[data-form="checkout"] :is([data-payment-notice], [data-form-status]) { flex: none; align-self: stretch; width: auto; margin: 0; border-radius: 8px; }
/* 11. Вопросы - аккордеон, карусели (site.js: setupFaq, faqToggle, carouselSlide).
   Вопрос: варианты 2462:614 Default (96 px, «+» 101:353) и 2462:622 open (138 px, «×» 101:383), смена по клику DISSOLVE 300 мс,
   OUT_CUBIC [0,0,.58,1]. Колонка вопроса не ниже кнопки (48 px): закрытый вопрос стоит по центру, как align-items:center у Default,
   при раскрытии плавно поднимается к верху, как у open. Ответ раскрывается сеткой 0fr -> 1fr, отступ 20 px = gap «Frame 22». */
[data-faq] { --faq-ease: cubic-bezier(0, 0, .58, 1); align-items: flex-start !important; height: auto !important; cursor: pointer; }
[data-faq-column] { height: auto !important; min-height: 48px; row-gap: 0 !important; }
[data-faq-question] { margin-block: auto; flex: 0 0 auto !important; }  /* строки вопроса стоят абсолютно, а класс телефона даёт flex: 1 0 0 - в колонке это обнуляло высоту вопроса при раскрытии */
.runtime-faq-panel { display: grid; grid-template-rows: 0fr; align-self: stretch; width: 100%; cursor: auto; transition: grid-template-rows .3s var(--faq-ease); }
[data-faq][data-faq-open="true"] .runtime-faq-panel { grid-template-rows: 1fr; }
.runtime-faq-inner { min-height: 0; overflow: hidden; opacity: 0; visibility: hidden; transition: opacity .3s var(--faq-ease), visibility 0s linear .3s; }
[data-faq][data-faq-open="true"] .runtime-faq-inner { opacity: 1; visibility: visible; transition: opacity .3s var(--faq-ease), visibility 0s; }
.runtime-faq-inner > .fig-node { display: block; margin-top: 20px; }
.runtime-faq-inner > [data-runtime-text="true"] { white-space: pre-line !important; }
[data-faq-icon] { transition: opacity .3s var(--faq-ease); }
[data-faq-icon] + [data-faq-icon] { position: absolute !important; left: 12px; top: 12px; }
[data-faq][data-faq-open="true"] [data-faq-icon="plus"], [data-faq][data-faq-open="false"] [data-faq-icon="close"] { opacity: 0; }
/* холст главной растёт и уменьшается вместе с вопросами: без упора min-height 7611 px под подвалом не остаётся полосы фона */
main > .viewport > .fig-node:has([data-faq])[data-dynamic-layout="true"] { min-height: 0 !important; }
/* карусель: на время сдвига ряд обрезает уходящую карточку своими краями (сверху и снизу запас под тени и рамки фокуса) */
[data-carousel-moving="clip"] { clip-path: inset(-40px 0 -40px 0); }

/* отзывы на планшете и телефоне: стрелок в макете нет, остальные отзывы листаются пальцем; ряд до правого края экрана,
   чтобы следующая карточка выглядывала, как в макете (телефон: 367-375 px) */
.viewport.tablet [data-node="2736:3859"], .viewport.mobile [data-node="2853:9000"] { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.viewport.tablet [data-node="2736:3859"]::-webkit-scrollbar, .viewport.mobile [data-node="2853:9000"]::-webkit-scrollbar { display: none; }
.viewport.tablet [data-node="2736:3859"] { width: calc(100% - 40px) !important; padding-right: 40px; }
.viewport.mobile [data-node="2853:9000"] { width: calc(100% + 20px) !important; padding-right: 20px; }
:is([data-node="2736:3859"], [data-node="2853:9000"]) > .fig-node { scroll-snap-align: start; }
/* 12. Каталог и карточки товара (замечания владельца 11.10: п. 8а-8г, 9в) */

/* 8а/8б. Фильтры каталога на компьютере (2646:1944): высота блоков по содержимому. У вкладки «Мебель» 6 категорий вместо 4,
   «Показать все» раскрывает цвета в том же белом блоке (раньше список вылезал за блок «Цвет» снизу: высота 333 px была зашита).
   Значения по содержимому совпадают с макетом: 243 / 120 / 333 / 736. Подложки - SVG с preserveAspectRatio="none", тянутся. */
body[data-page="catalog"] :is([data-node="2646:1944"], [data-node="2646:1925"], [data-node="2646:1926"], [data-node="2646:1945"], [data-node="2646:1924"], [data-node="2646:1929"], [data-node="2646:1948"]) { height: auto !important; }
body[data-page="catalog"] [data-node="2646:1944"] [data-name="points"] { width: 100% !important; }
/* подпись флажка кликабельна по всей ширине: у слотов ширина была под слово из макета («Белый» - 81 px) */
body[data-page="catalog"] [data-node="2646:1944"] label[data-control-group] { width: 100% !important; }
/* раскрытый фильтр на планшете и телефоне (шаблон 2790:4753, высота 234): высота по числу пунктов */
.runtime-source-filter-options > .fig-node, .runtime-source-filter-options [data-name="points"] { height: auto !important; }
.runtime-filter-empty { margin: 0; font-size: 16px; line-height: 1.4; color: #4d4d52; }
/* «Показать все» раскрыто: стрелка вверх, подпись «Свернуть» */
[data-action="colors-more"][aria-expanded="true"] > [data-name="star"] { transform: rotate(-90deg); }

/* 8г. «Показать ещё» после перестройки сетки (фильтр, вкладка, переход по ?category=...): последней строкой и по центру,
   шириной 338 px, как в макете (2652:2064 - средняя колонка, 2790:4407 - по центру). Раньше кнопка вставала первой строкой на всю ширину. */
[data-runtime-grid="true"] > [data-action="catalog-more"] { order: 1; justify-self: center; width: 338px !important; max-width: 100%; }
[data-runtime-grid="true"] > :is([data-empty-results], [data-empty-action]) { order: 1; }
.runtime-empty-action { grid-column: 1 / -1 !important; justify-self: start; margin: 0 0 24px; padding: 15px 28px; border-radius: 8px; background: #29452f; color: #fff; font: 600 16px/22.4px Manrope, Arial, sans-serif; letter-spacing: .32px; cursor: pointer; }
.runtime-empty-action:hover { background: #223a28; }
/* страница по высоте содержимого: после фильтра под подвалом не остаётся серой полосы (как у корзины) */
body[data-page="catalog"] main > .viewport > .fig-node[data-dynamic-layout="true"] { min-height: 0 !important; }

/* 8в/9в. Карточка товара на компьютере всегда в состоянии макета «Property=desktop, State=hover» (2642:1824): фото 330, низ 165,
   кнопки «В корзину» и «Подробнее» видны всегда. Так выглядела только первая карточка каталога; у остальных (State=default 2642:1822,
   каталог и «Похожие товары») кнопки появлялись при наведении, фото прыгало на 50 px, ряд кнопок стоял абсолютом шириной 100 %
   и вылезал за правый край карточки на 16 px, плашка «нет в наличии» (top 331) уходила под низ фото. */
[data-component="2642:1822"] > [data-source-node="2636:1810"] { height: 330px !important; }
[data-component="2642:1822"] > [data-source-node="2636:1810"] > [data-source-node="2646:2022"] { top: auto !important; bottom: 16px; }
[data-component="2642:1822"] > [data-source-node="2636:1819"] { height: 165px !important; }
[data-component="2642:1822"] > [data-source-node="2636:1819"] > img.node-paint { content: url("assets/source/8d4313b915ee722d390d.svg"); }
[data-component="2642:1822"] > [data-source-node="2636:1819"] > [data-source-node="2646:1982"] { display: flex !important; position: relative !important; left: auto !important; top: auto !important; width: 100% !important; }
/* одинаковый перенос названия: в макете у «Латте» и «Розовый» строка рвётся после «стеновая», у остальных после «панель».
   Строки макета сливаются в поток шириной 306 px, не больше двух строк; сдвиг -1 px раздела 6 переносится на блок (у inline он не работает) */
:is([data-source-node="2636:1816"], [data-source-node="2642:1830"]):not([data-runtime-text]) { white-space: normal !important; overflow: hidden; translate: 0 1px; }  /* строки в потоке встают на 2 px выше абсолютных: +1 px даёт место макета (замер по первой строке) */
:is([data-source-node="2636:1816"], [data-source-node="2642:1830"]):not([data-runtime-text]) > .source-line { position: static !important; display: inline !important; white-space: pre-wrap !important; translate: none !important; }
/* плашка «специальная цена» (опечатку правит inc/fixes.php): текст на букву длиннее поля макета - плашка по ширине текста */
[data-badge="special"], [data-badge="special"] > .fig-text { width: auto !important; }
[data-badge="special"] > .fig-text > .source-line { position: static !important; }
/* 13. Цена по запросу на странице товара (замечание 9а) */
/* Карточка товара без цены: «Цена по запросу» на месте суммы одной строкой, кеглем суммы из макета
   (Amount 2654:2483 / 2790:5229 / 2851:23060: Manrope 700 24/28.8, 22/26.4, 20/24, #343438), пустое «₽/м²» убираем.
   Поле суммы в макете 66/61/55 px под «8 800»: текст рвался на 4 строки «Цена / по / запр / осу» */
[data-primary-product][data-price=""] :is([data-node="2654:2520"], [data-node="2790:5228"], [data-node="2851:23059"]) { width: max-content !important; max-width: 100%; }
[data-primary-product][data-price=""] :is([data-node="2654:2483"], [data-node="2790:5229"], [data-node="2851:23060"]) { width: max-content !important; max-width: 100%; white-space: nowrap !important; overflow-wrap: normal !important; flex-shrink: 0 !important; }
[data-primary-product][data-price=""] :is([data-node="2654:2484"], [data-node="2790:5230"], [data-node="2851:23061"]) { display: none !important; }
/* 14. Замечания 11 и 12 (11.10): курсор у нажимаемого, хлебные крошки */
/* 14.1 Рука у всего, что нажимается. site.css давал её только button, a, select и .native-choice (квадрат 24×24 галочки);
   :where - нулевой вес, поэтому disabled (runtime.css стр. 71, fixes.css стр. 291) и cursor: wait у занятой формы остаются */
:where(label[data-widget="checkbox"], label[data-widget="radio"], label:has(> input:is([type="checkbox"], [type="radio"])),
  [role="button"], [role="option"], [data-action], [data-gallery-select], [data-gallery-next], [data-filter-popup-close],
  [data-filter-dropdown], [data-field-wrapper="catalogSort"], [data-field-wrapper="partnershipType"],
  input:is([type="checkbox"], [type="radio"], [type="file"], [type="submit"], [type="button"])) { cursor: pointer; }
:where([data-filter-options]) { cursor: default; }
:where(button:disabled, [aria-disabled="true"], label:has(input:disabled)) { cursor: default; }
/* 14.2 Сортировка каталога (2636:1803, 2790:4387, 2851:22596): невидимый select на всё поле 250×54 (телефон 335×48),
   а не только на подпись 169×17. Опорой для select становится поле-сетка, строки подписи держатся за [data-sort-caption] */
[data-field-wrapper="catalogSort"] > [data-sort-wrapper] { position: static !important; }
[data-field-wrapper="catalogSort"] > [data-sort-wrapper] > [data-sort-caption] { position: relative; display: block; width: 100%; height: 100%; }
/* 14.3 Хлебные крошки одним видом - по компоненту UI KIT «bread clumbs» 2512:1538: ссылки #4D4D52 50 % с подчёркиванием
   (0,4 px в макете - 1 px прозрачностью 40 %, как .source-decoration), разделитель #4D4D52 50 %, текущий уровень #343438;
   на фото «Панелей» и «Мебели» ссылки и разделитель #BEBEC0 50 %, текущий #FFFFFF. Разметку ставит inc/fixes.php */
.fig-node[data-crumbs] { flex-wrap: wrap; row-gap: 4px; height: auto !important; min-height: 23px; }
.fig-node[data-crumbs] > a.fig-node[data-crumb-link] { color: #4D4D52; opacity: .5; }
.fig-node[data-crumbs] > a.fig-node[data-crumb-link] .fig-inline { color: inherit; }
.fig-node[data-crumbs] > a.fig-node[data-crumb-link] > .source-decoration { display: none; }
.fig-node[data-crumbs] > a.fig-node[data-crumb-link]::after { content: ""; position: absolute; left: 0; right: 0; top: 19px; height: 1px; background: currentColor; opacity: .4; pointer-events: none; }
.fig-node[data-crumbs] > .fig-node[data-crumb-sep] { color: #4D4D52; opacity: .5; }
.fig-node[data-crumbs] > .fig-node[aria-current="page"] { color: #343438; opacity: 1; }
.fig-node[data-crumbs="dark"] > a.fig-node[data-crumb-link], .fig-node[data-crumbs="dark"] > .fig-node[data-crumb-sep] { color: #BEBEC0; }
.fig-node[data-crumbs="dark"] > .fig-node[aria-current="page"] { color: #FFFFFF; }
/* наведение и нажатие: в наборе крошек состояний нет, берём текстовые кнопки макета (263:590 / 263:575, на фото 2098:389) */
@media (hover: hover) {
  .fig-node[data-crumbs] > a.fig-node[data-crumb-link]:hover { color: #456F4E; opacity: 1; }
  .fig-node[data-crumbs="dark"] > a.fig-node[data-crumb-link]:hover { color: #FFFFFF; }
}
.fig-node[data-crumbs] > a.fig-node[data-crumb-link]:active { color: #142518; opacity: 1; }
.fig-node[data-crumbs="dark"] > a.fig-node[data-crumb-link]:active { color: #DCDCDD; }
/* телефон «Оформления»: крошки 16 px в две строки вместо строки 12 px (+33 px) - форма 2911:11362 по содержимому */
[data-node="2911:11362"] { height: auto !important; }
/* 15. Плавность не зависит от системной настройки «уменьшить движение» (владелец 11.10: карусели и вопросы должны переключаться плавно);
   правило конвертера в site.css, гасившее все переходы, снято */
/* 16. Квадратики и кружки выбора (владелец 13.10: «тонкие с утолщением по углам», кружки «странно ведут себя при наведении»).
   В исходниках Figma обводка 1 px по центру края (-0.5..+0.5), а картинка 0..24 срезала внешнюю половину: тонкие стороны,
   целые скругления. При наведении стили подменяли картинку файлом, который начинал грузиться только в этот момент:
   кружок пропадал, потом появлялся крупнее (24 px в рамке 26 px). Теперь картинки выбора (скрипт), наведение и ошибка -
   варианты -pxxy (холст -1..25) в рамке на 1 px шире, как у подогнанных node-paint np-xy, и встроены (data:), без загрузки. */
.runtime-choice-image { inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); }
[data-widget="checkbox"]:hover:has(input:not(:checked)) [data-name="checkbox"] > :is(img.node-paint.np-xy, .runtime-choice-image) { content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48L2RlZnM+PGcgZGF0YS1ub2RlLWlkPSIxODc6MTIwIiBvcGFjaXR5PSIxIj48ZyBmaWxsPSIjZTJmYWU2IiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNMCA0LjAwMDAwMDQ4IEMwIDEuNzkwODYxNDkgMS43OTA4NjExMyAwIDQgMCBMMjAgMCBDMjIuMjA5MTM4OSAwIDI0IDEuNzkwODYxMTMgMjQgNCBMMjQgMjAgQzI0IDIyLjIwOTEzODkgMjIuMjA5MTM4OSAyNCAyMCAyNCBMNC4wMDAwMDA0OCAyNCBDMS43OTA4NjE0OSAyNCAwIDIyLjIwOTEzODkgMCAyMCBMMCA0LjAwMDAwMDQ4IFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48ZyBmaWxsPSIjMTQyNTE4IiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNNCAwIEw0IDAuNSBMMjAgMC41IEwyMCAwIEwyMCAtMC41IEw0IC0wLjUgTDQgMCBaIE0yNCA0IEwyMy41IDQgTDIzLjUgMjAgTDI0IDIwIEwyNC41IDIwIEwyNC41IDQgTDI0IDQgWiBNMjAgMjQgTDIwIDIzLjUgTDQuMDAwMDAwNDggMjMuNSBMNC4wMDAwMDA0OCAyNCBMNC4wMDAwMDA0OCAyNC41IEwyMCAyNC41IEwyMCAyNCBaIE0wIDIwIEwwLjUgMjAgTDAuNSA0LjAwMDAwMDQ4IEwwIDQuMDAwMDAwNDggTC0wLjUgNC4wMDAwMDA0OCBMLTAuNSAyMCBMMCAyMCBaIE00LjAwMDAwMDQ4IDI0IEw0LjAwMDAwMDQ4IDIzLjUgQzIuMDY3MDAzOTcgMjMuNSAwLjUgMjEuOTMyOTk2NyAwLjUgMjAgTDAgMjAgTC0wLjUgMjAgQy0wLjUgMjIuNDg1MjgxIDEuNTE0NzE5MjUgMjQuNSA0LjAwMDAwMDQ4IDI0LjUgTDQuMDAwMDAwNDggMjQgWiBNMjQgMjAgTDIzLjUgMjAgQzIzLjUgMjEuOTMyOTk2NyAyMS45MzI5OTY3IDIzLjUgMjAgMjMuNSBMMjAgMjQgTDIwIDI0LjUgQzIyLjQ4NTI4MSAyNC41IDI0LjUgMjIuNDg1MjgxIDI0LjUgMjAgTDI0IDIwIFogTTIwIDAgTDIwIDAuNSBDMjEuOTMyOTk2NyAwLjUgMjMuNSAyLjA2NzAwMzczIDIzLjUgNCBMMjQgNCBMMjQuNSA0IEMyNC41IDEuNTE0NzE4NzcgMjIuNDg1MjgxIC0wLjUgMjAgLTAuNSBMMjAgMCBaIE00IDAgTDQgLTAuNSBDMS41MTQ3MTg3NyAtMC41IC0wLjUgMS41MTQ3MTkyNSAtMC41IDQuMDAwMDAwNDggTDAgNC4wMDAwMDA0OCBMMC41IDQuMDAwMDAwNDggQzAuNSAyLjA2NzAwMzk3IDIuMDY3MDAzNzMgMC41IDQgMC41IEw0IDAgWiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvZz48L3N2Zz4="); }
[data-widget="checkbox"]:has(input[aria-invalid="true"]) [data-name="checkbox"] > :is(img.node-paint.np-xy, .runtime-choice-image) { content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48L2RlZnM+PGcgZGF0YS1ub2RlLWlkPSIxODc6MTI0IiBvcGFjaXR5PSIxIj48ZyBmaWxsPSIjZmZmMGYwIiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNMCA0LjAwMDAwMDQ4IEMwIDEuNzkwODYxNDkgMS43OTA4NjExMyAwIDQgMCBMMjAgMCBDMjIuMjA5MTM4OSAwIDI0IDEuNzkwODYxMTMgMjQgNCBMMjQgMjAgQzI0IDIyLjIwOTEzODkgMjIuMjA5MTM4OSAyNCAyMCAyNCBMNC4wMDAwMDA0OCAyNCBDMS43OTA4NjE0OSAyNCAwIDIyLjIwOTEzODkgMCAyMCBMMCA0LjAwMDAwMDQ4IFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48ZyBmaWxsPSIjYzkwMTA2IiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNNCAwIEw0IDAuNSBMMjAgMC41IEwyMCAwIEwyMCAtMC41IEw0IC0wLjUgTDQgMCBaIE0yNCA0IEwyMy41IDQgTDIzLjUgMjAgTDI0IDIwIEwyNC41IDIwIEwyNC41IDQgTDI0IDQgWiBNMjAgMjQgTDIwIDIzLjUgTDQuMDAwMDAwNDggMjMuNSBMNC4wMDAwMDA0OCAyNCBMNC4wMDAwMDA0OCAyNC41IEwyMCAyNC41IEwyMCAyNCBaIE0wIDIwIEwwLjUgMjAgTDAuNSA0LjAwMDAwMDQ4IEwwIDQuMDAwMDAwNDggTC0wLjUgNC4wMDAwMDA0OCBMLTAuNSAyMCBMMCAyMCBaIE00LjAwMDAwMDQ4IDI0IEw0LjAwMDAwMDQ4IDIzLjUgQzIuMDY3MDAzOTcgMjMuNSAwLjUgMjEuOTMyOTk2NyAwLjUgMjAgTDAgMjAgTC0wLjUgMjAgQy0wLjUgMjIuNDg1MjgxIDEuNTE0NzE5MjUgMjQuNSA0LjAwMDAwMDQ4IDI0LjUgTDQuMDAwMDAwNDggMjQgWiBNMjQgMjAgTDIzLjUgMjAgQzIzLjUgMjEuOTMyOTk2NyAyMS45MzI5OTY3IDIzLjUgMjAgMjMuNSBMMjAgMjQgTDIwIDI0LjUgQzIyLjQ4NTI4MSAyNC41IDI0LjUgMjIuNDg1MjgxIDI0LjUgMjAgTDI0IDIwIFogTTIwIDAgTDIwIDAuNSBDMjEuOTMyOTk2NyAwLjUgMjMuNSAyLjA2NzAwMzczIDIzLjUgNCBMMjQgNCBMMjQuNSA0IEMyNC41IDEuNTE0NzE4NzcgMjIuNDg1MjgxIC0wLjUgMjAgLTAuNSBMMjAgMCBaIE00IDAgTDQgLTAuNSBDMS41MTQ3MTg3NyAtMC41IC0wLjUgMS41MTQ3MTkyNSAtMC41IDQuMDAwMDAwNDggTDAgNC4wMDAwMDA0OCBMMC41IDQuMDAwMDAwNDggQzAuNSAyLjA2NzAwMzk3IDIuMDY3MDAzNzMgMC41IDQgMC41IEw0IDAgWiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvZz48L3N2Zz4="); }
[data-widget="radio"]:hover:has(input:not(:checked)) [data-name="radio"] > :is(img.node-paint.np-xy, .runtime-choice-image) { content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48L2RlZnM+PGcgZGF0YS1ub2RlLWlkPSIxODQ6MTI2IiBvcGFjaXR5PSIxIj48ZyBmaWxsPSIjZTJmYWU2IiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNMCAxMiBDMCA1LjM3MjU4MzM5IDUuMzcyNTgzMzkgMCAxMiAwIEwxMiAwIEMxOC42Mjc0MTY2IDAgMjQgNS4zNzI1ODMzOSAyNCAxMiBMMjQgMTIgQzI0IDE4LjYyNzQxNjYgMTguNjI3NDE2NiAyNCAxMiAyNCBMMTIgMjQgQzUuMzcyNTgzMzkgMjQgMCAxOC42Mjc0MTY2IDAgMTIgTDAgMTIgWiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjxnIGZpbGw9IiMxNDI1MTgiIG9wYWNpdHk9IjEiPjxwYXRoIGQ9Ik0wIDEyIE0yNCAxMiBNMjQgMTIgTTAgMTIgTTEyIDAgTTI0IDEyIE0xMiAyNCBNMCAxMiBNMTIgMjQgTDEyIDIzLjUgQzUuNjQ4NzI1NTEgMjMuNSAwLjUgMTguMzUxMjc0NSAwLjUgMTIgTDAgMTIgTC0wLjUgMTIgQy0wLjUgMTguOTAzNTU4NyA1LjA5NjQ0MDc5IDI0LjUgMTIgMjQuNSBMMTIgMjQgWiBNMjQgMTIgTDIzLjUgMTIgQzIzLjUgMTguMzUxMjc0NSAxOC4zNTEyNzQ1IDIzLjUgMTIgMjMuNSBMMTIgMjQgTDEyIDI0LjUgQzE4LjkwMzU1ODcgMjQuNSAyNC41IDE4LjkwMzU1ODcgMjQuNSAxMiBMMjQgMTIgWiBNMTIgMCBMMTIgMC41IEMxOC4zNTEyNzQ1IDAuNSAyMy41IDUuNjQ4NzI1NTEgMjMuNSAxMiBMMjQgMTIgTDI0LjUgMTIgQzI0LjUgNS4wOTY0NDA3OSAxOC45MDM1NTg3IC0wLjUgMTIgLTAuNSBMMTIgMCBaIE0xMiAwIEwxMiAtMC41IEM1LjA5NjQ0MDc5IC0wLjUgLTAuNSA1LjA5NjQ0MDc5IC0wLjUgMTIgTDAgMTIgTDAuNSAxMiBDMC41IDUuNjQ4NzI1NTEgNS42NDg3MjU1MSAwLjUgMTIgMC41IEwxMiAwIFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L2c+PC9zdmc+"); }
[data-widget="radio"]:has(input[aria-invalid="true"]) [data-name="radio"] > :is(img.node-paint.np-xy, .runtime-choice-image) { content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48L2RlZnM+PGcgZGF0YS1ub2RlLWlkPSIxODQ6MTI3IiBvcGFjaXR5PSIxIj48ZyBmaWxsPSIjZmVmMWVmIiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNMCAxMiBDMCA1LjM3MjU4MzM5IDUuMzcyNTgzMzkgMCAxMiAwIEwxMiAwIEMxOC42Mjc0MTY2IDAgMjQgNS4zNzI1ODMzOSAyNCAxMiBMMjQgMTIgQzI0IDE4LjYyNzQxNjYgMTguNjI3NDE2NiAyNCAxMiAyNCBMMTIgMjQgQzUuMzcyNTgzMzkgMjQgMCAxOC42Mjc0MTY2IDAgMTIgTDAgMTIgWiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjxnIGZpbGw9IiM5ZTMyMGUiIG9wYWNpdHk9IjEiPjxwYXRoIGQ9Ik0wIDEyIE0yNCAxMiBNMjQgMTIgTTAgMTIgTTEyIDAgTTI0IDEyIE0xMiAyNCBNMCAxMiBNMTIgMjQgTDEyIDIzLjUgQzUuNjQ4NzI1NTEgMjMuNSAwLjUgMTguMzUxMjc0NSAwLjUgMTIgTDAgMTIgTC0wLjUgMTIgQy0wLjUgMTguOTAzNTU4NyA1LjA5NjQ0MDc5IDI0LjUgMTIgMjQuNSBMMTIgMjQgWiBNMjQgMTIgTDIzLjUgMTIgQzIzLjUgMTguMzUxMjc0NSAxOC4zNTEyNzQ1IDIzLjUgMTIgMjMuNSBMMTIgMjQgTDEyIDI0LjUgQzE4LjkwMzU1ODcgMjQuNSAyNC41IDE4LjkwMzU1ODcgMjQuNSAxMiBMMjQgMTIgWiBNMTIgMCBMMTIgMC41IEMxOC4zNTEyNzQ1IDAuNSAyMy41IDUuNjQ4NzI1NTEgMjMuNSAxMiBMMjQgMTIgTDI0LjUgMTIgQzI0LjUgNS4wOTY0NDA3OSAxOC45MDM1NTg3IC0wLjUgMTIgLTAuNSBMMTIgMCBaIE0xMiAwIEwxMiAtMC41IEM1LjA5NjQ0MDc5IC0wLjUgLTAuNSA1LjA5NjQ0MDc5IC0wLjUgMTIgTDAgMTIgTDAuNSAxMiBDMC41IDUuNjQ4NzI1NTEgNS42NDg3MjU1MSAwLjUgMTIgMC41IEwxMiAwIFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L2c+PC9zdmc+"); }
/* 16.1 Квадратик или кружок, отмеченный в макете по умолчанию («Бамбуковые панели», «Самовывоз»), собран блоком «отмечено»
   с обрезкой по краям (overflow: hidden, скругление): после снятия отметки он срезал внешнюю половину рамки картинки выбора,
   и квадратик выглядел по-старому. Блоку с картинкой выбора разрешено не обрезать её. */
[data-name="checkbox"]:has(> .runtime-choice-image), [data-name="radio"]:has(> .runtime-choice-image) { overflow: visible !important; }
/* 17. Галочка согласия в оформлении заказа (владелец 13.10) вместо текста «Нажимая на кнопку…»: квадратик тот же, что в фильтре. */
.fig-node[data-genesis-consent-host] { height: auto !important; white-space: normal !important; overflow: visible !important; }
.genesis-consent { position: relative; display: flex; align-items: flex-start; gap: 8px; cursor: pointer; text-align: left; }
.genesis-consent__input { position: absolute; left: 0; top: 0; width: 24px; height: 24px; margin: 0; opacity: 0; cursor: pointer; }
.genesis-consent__box { position: relative; flex: 0 0 24px; height: 24px; }
.genesis-consent__box::before { content: ""; position: absolute; inset: -1px; background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48L2RlZnM+PGcgZGF0YS1ub2RlLWlkPSIyNjQ2OjE5MTEvMTg0OjExOCIgb3BhY2l0eT0iMSI+PGcgZmlsbD0iI2JlYmVjMCIgb3BhY2l0eT0iMSI+PHBhdGggZD0iTTQgMCBMNCAwLjUgTDIwIDAuNSBMMjAgMCBMMjAgLTAuNSBMNCAtMC41IEw0IDAgWiBNMjQgNCBMMjMuNSA0IEwyMy41IDIwIEwyNCAyMCBMMjQuNSAyMCBMMjQuNSA0IEwyNCA0IFogTTIwIDI0IEwyMCAyMy41IEw0LjAwMDAwMDQ4IDIzLjUgTDQuMDAwMDAwNDggMjQgTDQuMDAwMDAwNDggMjQuNSBMMjAgMjQuNSBMMjAgMjQgWiBNMCAyMCBMMC41IDIwIEwwLjUgNC4wMDAwMDA0OCBMMCA0LjAwMDAwMDQ4IEwtMC41IDQuMDAwMDAwNDggTC0wLjUgMjAgTDAgMjAgWiBNNC4wMDAwMDA0OCAyNCBMNC4wMDAwMDA0OCAyMy41IEMyLjA2NzAwMzk3IDIzLjUgMC41IDIxLjkzMjk5NjcgMC41IDIwIEwwIDIwIEwtMC41IDIwIEMtMC41IDIyLjQ4NTI4MSAxLjUxNDcxOTI1IDI0LjUgNC4wMDAwMDA0OCAyNC41IEw0LjAwMDAwMDQ4IDI0IFogTTI0IDIwIEwyMy41IDIwIEMyMy41IDIxLjkzMjk5NjcgMjEuOTMyOTk2NyAyMy41IDIwIDIzLjUgTDIwIDI0IEwyMCAyNC41IEMyMi40ODUyODEgMjQuNSAyNC41IDIyLjQ4NTI4MSAyNC41IDIwIEwyNCAyMCBaIE0yMCAwIEwyMCAwLjUgQzIxLjkzMjk5NjcgMC41IDIzLjUgMi4wNjcwMDM3MyAyMy41IDQgTDI0IDQgTDI0LjUgNCBDMjQuNSAxLjUxNDcxODc3IDIyLjQ4NTI4MSAtMC41IDIwIC0wLjUgTDIwIDAgWiBNNCAwIEw0IC0wLjUgQzEuNTE0NzE4NzcgLTAuNSAtMC41IDEuNTE0NzE5MjUgLTAuNSA0LjAwMDAwMDQ4IEwwIDQuMDAwMDAwNDggTDAuNSA0LjAwMDAwMDQ4IEMwLjUgMi4wNjcwMDM5NyAyLjA2NzAwMzczIDAuNSA0IDAuNSBMNCAwIFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L2c+PC9zdmc+") 0 0 / 100% 100% no-repeat; }
.genesis-consent:hover .genesis-consent__input:not(:checked) + .genesis-consent__box::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48L2RlZnM+PGcgZGF0YS1ub2RlLWlkPSIxODc6MTIwIiBvcGFjaXR5PSIxIj48ZyBmaWxsPSIjZTJmYWU2IiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNMCA0LjAwMDAwMDQ4IEMwIDEuNzkwODYxNDkgMS43OTA4NjExMyAwIDQgMCBMMjAgMCBDMjIuMjA5MTM4OSAwIDI0IDEuNzkwODYxMTMgMjQgNCBMMjQgMjAgQzI0IDIyLjIwOTEzODkgMjIuMjA5MTM4OSAyNCAyMCAyNCBMNC4wMDAwMDA0OCAyNCBDMS43OTA4NjE0OSAyNCAwIDIyLjIwOTEzODkgMCAyMCBMMCA0LjAwMDAwMDQ4IFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48ZyBmaWxsPSIjMTQyNTE4IiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNNCAwIEw0IDAuNSBMMjAgMC41IEwyMCAwIEwyMCAtMC41IEw0IC0wLjUgTDQgMCBaIE0yNCA0IEwyMy41IDQgTDIzLjUgMjAgTDI0IDIwIEwyNC41IDIwIEwyNC41IDQgTDI0IDQgWiBNMjAgMjQgTDIwIDIzLjUgTDQuMDAwMDAwNDggMjMuNSBMNC4wMDAwMDA0OCAyNCBMNC4wMDAwMDA0OCAyNC41IEwyMCAyNC41IEwyMCAyNCBaIE0wIDIwIEwwLjUgMjAgTDAuNSA0LjAwMDAwMDQ4IEwwIDQuMDAwMDAwNDggTC0wLjUgNC4wMDAwMDA0OCBMLTAuNSAyMCBMMCAyMCBaIE00LjAwMDAwMDQ4IDI0IEw0LjAwMDAwMDQ4IDIzLjUgQzIuMDY3MDAzOTcgMjMuNSAwLjUgMjEuOTMyOTk2NyAwLjUgMjAgTDAgMjAgTC0wLjUgMjAgQy0wLjUgMjIuNDg1MjgxIDEuNTE0NzE5MjUgMjQuNSA0LjAwMDAwMDQ4IDI0LjUgTDQuMDAwMDAwNDggMjQgWiBNMjQgMjAgTDIzLjUgMjAgQzIzLjUgMjEuOTMyOTk2NyAyMS45MzI5OTY3IDIzLjUgMjAgMjMuNSBMMjAgMjQgTDIwIDI0LjUgQzIyLjQ4NTI4MSAyNC41IDI0LjUgMjIuNDg1MjgxIDI0LjUgMjAgTDI0IDIwIFogTTIwIDAgTDIwIDAuNSBDMjEuOTMyOTk2NyAwLjUgMjMuNSAyLjA2NzAwMzczIDIzLjUgNCBMMjQgNCBMMjQuNSA0IEMyNC41IDEuNTE0NzE4NzcgMjIuNDg1MjgxIC0wLjUgMjAgLTAuNSBMMjAgMCBaIE00IDAgTDQgLTAuNSBDMS41MTQ3MTg3NyAtMC41IC0wLjUgMS41MTQ3MTkyNSAtMC41IDQuMDAwMDAwNDggTDAgNC4wMDAwMDA0OCBMMC41IDQuMDAwMDAwNDggQzAuNSAyLjA2NzAwMzk3IDIuMDY3MDAzNzMgMC41IDQgMC41IEw0IDAgWiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvZz48L3N2Zz4="); }
.genesis-consent__input:user-invalid + .genesis-consent__box::before, .genesis-consent__input[aria-invalid="true"]:not(:checked) + .genesis-consent__box::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48L2RlZnM+PGcgZGF0YS1ub2RlLWlkPSIxODc6MTI0IiBvcGFjaXR5PSIxIj48ZyBmaWxsPSIjZmZmMGYwIiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNMCA0LjAwMDAwMDQ4IEMwIDEuNzkwODYxNDkgMS43OTA4NjExMyAwIDQgMCBMMjAgMCBDMjIuMjA5MTM4OSAwIDI0IDEuNzkwODYxMTMgMjQgNCBMMjQgMjAgQzI0IDIyLjIwOTEzODkgMjIuMjA5MTM4OSAyNCAyMCAyNCBMNC4wMDAwMDA0OCAyNCBDMS43OTA4NjE0OSAyNCAwIDIyLjIwOTEzODkgMCAyMCBMMCA0LjAwMDAwMDQ4IFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48ZyBmaWxsPSIjYzkwMTA2IiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNNCAwIEw0IDAuNSBMMjAgMC41IEwyMCAwIEwyMCAtMC41IEw0IC0wLjUgTDQgMCBaIE0yNCA0IEwyMy41IDQgTDIzLjUgMjAgTDI0IDIwIEwyNC41IDIwIEwyNC41IDQgTDI0IDQgWiBNMjAgMjQgTDIwIDIzLjUgTDQuMDAwMDAwNDggMjMuNSBMNC4wMDAwMDA0OCAyNCBMNC4wMDAwMDA0OCAyNC41IEwyMCAyNC41IEwyMCAyNCBaIE0wIDIwIEwwLjUgMjAgTDAuNSA0LjAwMDAwMDQ4IEwwIDQuMDAwMDAwNDggTC0wLjUgNC4wMDAwMDA0OCBMLTAuNSAyMCBMMCAyMCBaIE00LjAwMDAwMDQ4IDI0IEw0LjAwMDAwMDQ4IDIzLjUgQzIuMDY3MDAzOTcgMjMuNSAwLjUgMjEuOTMyOTk2NyAwLjUgMjAgTDAgMjAgTC0wLjUgMjAgQy0wLjUgMjIuNDg1MjgxIDEuNTE0NzE5MjUgMjQuNSA0LjAwMDAwMDQ4IDI0LjUgTDQuMDAwMDAwNDggMjQgWiBNMjQgMjAgTDIzLjUgMjAgQzIzLjUgMjEuOTMyOTk2NyAyMS45MzI5OTY3IDIzLjUgMjAgMjMuNSBMMjAgMjQgTDIwIDI0LjUgQzIyLjQ4NTI4MSAyNC41IDI0LjUgMjIuNDg1MjgxIDI0LjUgMjAgTDI0IDIwIFogTTIwIDAgTDIwIDAuNSBDMjEuOTMyOTk2NyAwLjUgMjMuNSAyLjA2NzAwMzczIDIzLjUgNCBMMjQgNCBMMjQuNSA0IEMyNC41IDEuNTE0NzE4NzcgMjIuNDg1MjgxIC0wLjUgMjAgLTAuNSBMMjAgMCBaIE00IDAgTDQgLTAuNSBDMS41MTQ3MTg3NyAtMC41IC0wLjUgMS41MTQ3MTkyNSAtMC41IDQuMDAwMDAwNDggTDAgNC4wMDAwMDA0OCBMMC41IDQuMDAwMDAwNDggQzAuNSAyLjA2NzAwMzk3IDIuMDY3MDAzNzMgMC41IDQgMC41IEw0IDAgWiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvZz48L3N2Zz4="); }
.genesis-consent__input:checked + .genesis-consent__box::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9Ii0xIC0xIDI2IDI2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAxIiBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgNC4wMDAwMDA0OCBDMCAxLjc5MDg2MTQ5IDEuNzkwODYxMTMgMCA0IDAgTDIwIDAgQzIyLjIwOTEzODkgMCAyNCAxLjc5MDg2MTEzIDI0IDQgTDI0IDIwIEMyNCAyMi4yMDkxMzg5IDIyLjIwOTEzODkgMjQgMjAgMjQgTDQuMDAwMDAwNDggMjQgQzEuNzkwODYxNDkgMjQgMCAyMi4yMDkxMzg5IDAgMjAgTDAgNC4wMDAwMDA0OCBaIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2NsaXBQYXRoPjwvZGVmcz48ZyBkYXRhLW5vZGUtaWQ9IjI2MzY6MTgxMS8xODQ6MTIwIiBvcGFjaXR5PSIxIj48ZyBmaWxsPSIjMjk0NTJmIiBvcGFjaXR5PSIxIj48cGF0aCBkPSJNMCA0LjAwMDAwMDQ4IEMwIDEuNzkwODYxNDkgMS43OTA4NjExMyAwIDQgMCBMMjAgMCBDMjIuMjA5MTM4OSAwIDI0IDEuNzkwODYxMTMgMjQgNCBMMjQgMjAgQzI0IDIyLjIwOTEzODkgMjIuMjA5MTM4OSAyNCAyMCAyNCBMNC4wMDAwMDA0OCAyNCBDMS43OTA4NjE0OSAyNCAwIDIyLjIwOTEzODkgMCAyMCBMMCA0LjAwMDAwMDQ4IFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDEpIj48ZyBkYXRhLW5vZGUtaWQ9IjI2MzY6MTgxMS8xODQ6MTIwLzE4NDoxMjIiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgNCA0KSIgb3BhY2l0eT0iMSI+PGcgZGF0YS1ub2RlLWlkPSIyNjM2OjE4MTEvMTg0OjEyMC8xODQ6MTIyLzk5OjM3IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDIuMzEzMzA4IDMuOTc4NTg1KSIgb3BhY2l0eT0iMSI+PGcgZmlsbD0iI2ZmZmZmZiIgb3BhY2l0eT0iMSI+PHBhdGggZD0iTTQuMDA1MTMxMjQgNi42MjY2NjA4MiBMMC43MDY2NTk3MzQgMy4zMjQwMTggTDAgNC4wMzE1NzA5MSBMMy42NTE4MDE1OSA3LjY4Nzk5MTE0IEMzLjg0NjkzOTggNy44ODMzNzY2IDQuMTYzMzIyNDUgNy44ODMzNzY2IDQuMzU4NDYwOSA3LjY4Nzk5MTE0IEwxMS4zMzAwODI5IDAuNzA3NTUzNDQ2IEwxMC42MjM0MjI2IDAgTDQuMDA1MTMxMjQgNi42MjY2NjA4MiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg=="); }
.genesis-consent__input:focus-visible + .genesis-consent__box { outline: 2px solid #29452f; outline-offset: 3px; border-radius: 4px; }
.genesis-consent__text { padding-top: 2px; }
.genesis-consent__link { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.genesis-consent__link:hover { color: #29452f; }
.genesis-consent__policy { display: block; margin: 6px 0 0 32px; text-align: left; }
/* 17.1 Галочка с двумя строками выше прежней надписи: блоки над ней (ряд с кнопкой, итоги, карточка «Ваш заказ») - колонки
   с высотой из макета, текст вылезал за низ карточки (компьютер +22 px, телефон обрезался). Высота по содержимому, отступы
   карточки из макета сохраняются (24 / 16 / 16 px); на планшете и телефоне вместе с карточкой опускаются подвал и низ страницы. */
[data-node="2720:3296"], [data-node="2719:3008"] { height: auto !important; }
[data-node="2719:2995"] { height: auto !important; align-self: flex-start; }
[data-node="2802:7100"], [data-node="2802:6739"], [data-node="2802:6730"], [data-node="2802:6728"], [data-node="2802:6723"] { height: auto !important; }
[data-node="2911:11468"], [data-node="2911:11457"], [data-node="2911:11253"] { height: auto !important; }
/* 18. Уведомление о технических cookie (владелец 13.10): внизу слева, белая карточка, кнопка «Понятно» как основные кнопки сайта. */
.genesis-cookie { position: fixed; left: 24px; bottom: 24px; z-index: 2147483000; box-sizing: border-box; max-width: 460px; display: flex; align-items: center; gap: 20px; padding: 20px 24px; background: #fff; color: #4d4d52; border-radius: 16px; box-shadow: 0 12px 40px rgba(20, 37, 24, .18); font: 400 14px/1.45 Manrope, Arial, sans-serif; }
.genesis-cookie[hidden] { display: none; }
.genesis-cookie__text { margin: 0; }
.genesis-cookie__text a { color: #29452f; text-decoration: underline; text-underline-offset: 2px; }
.genesis-cookie__ok { flex: 0 0 auto; padding: 14px 24px; text-align: center; border: 0; border-radius: 8px; background: #29452f; color: #fff; font: 600 14px/1 Manrope, Arial, sans-serif; cursor: pointer; transition: background-color .15s; }
.genesis-cookie__ok:hover { background: #142518; }
.genesis-cookie__ok:focus-visible { outline: 2px solid #29452f; outline-offset: 3px; }
@media (max-width: 600px) { .genesis-cookie { left: 16px; right: 16px; bottom: 16px; max-width: none; flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; } .genesis-cookie__ok { width: 100%; } }
/* 19. Цена (владелец 15.10: у новых панелей «цена поехала» - «9 00 / 0»): поле суммы по числу (только сумма, подставленная заново, без макетных строк .source-line) */
[data-product-card] .fig-text[data-name="8 800"]:not([data-price-request]):not(:has(> .source-line)), [data-primary-product] .fig-text[data-name="Amount"]:not([data-price-request]):not(:has(> .source-line)) { width: max-content !important; white-space: nowrap !important; overflow-wrap: normal !important; }
[data-product-card] [data-name="Frame 72"]:has(> .fig-text[data-name="8 800"]:not([data-price-request]):not(:has(> .source-line))), [data-primary-product] [data-name="Price"]:has(> .fig-text[data-name="Amount"]:not([data-price-request]):not(:has(> .source-line))) { width: max-content !important; }
/* 20. (владелец 15.10) Пустая вторая миниатюра не показывается */
:is([data-node$="2654:3123"], [data-node$="2790:5221"], [data-node$="2851:23051"]):has(img:not([src])) { display: none !important; }
/* 21. (владелец 15.10) Без блока «Монтаж» (высоты карточки по содержимому выставляет site.js fitProductLayout) */
:is([data-node$="2654:3130"], [data-node$="2790:5245"], [data-node$="2851:23105"]) { display: none !important; }
