/* СОБРАНО автоматически из src/style.src.css, масштаб 110 %.
   Руками не править — правка уйдёт при следующей сборке.
   Сборка: python3 src/build-style.py */
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;background:var(--irm-bg);color:var(--irm-ink);font:18px/1.5 Tahoma,Geneva,Verdana,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input{font:inherit;color:inherit}p{margin:0}svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}svg.fill{fill:currentColor;stroke:none}:focus-visible{outline:2px solid var(--irm-accent);outline-offset:2px;border-radius:var(--irm-r-s)}h1,h2{margin:0;letter-spacing:-.022em;line-height:1.12;text-wrap:balance}h1{font-size:32px}h2{font-size:26px}svg.irm-ms{stroke:none;fill:initial;width:32px;height:32px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:920px){h1{font-size:25px}h2{font-size:22px}}.irm-body .irm-pd{padding-bottom:8px}.irm-body .irm-crumbs a{transition:color .15s}.irm-body .irm-crumbs svg{width:14px;height:14px}.irm-body .irm-pd__top{display:grid;grid-template-columns:minmax(0,470px) minmax(0,1fr) 360px;gap:32px;align-items:start}.irm-body .irm-gal{position:sticky;top:104px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.irm-body .irm-gal__main{position:relative;display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;min-width:0;overflow:hidden;aspect-ratio:1/1.12;padding:32px;border-radius:var(--irm-r-xl);background:var(--irm-tile)}.irm-body .irm-gal__main img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.irm-body .irm-gal__main .irm-sale{inset-inline-start:16px;bottom:16px;font-size:14px;padding:4px 10px}.irm-body .irm-gal__main .irm-fav{top:16px;inset-inline-end:16px;width:44px;height:44px}.irm-body .irm-gal__th{display:flex;gap:8px}.irm-body .irm-gal__th button{width:72px;height:72px;padding:6px;border:0;border-radius:var(--irm-r-m);background:var(--irm-tile);cursor:pointer;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .15s}.irm-body .irm-gal__th button.irm-is-on{box-shadow:inset 0 0 0 2px var(--irm-accent)}.irm-body .irm-gal__th img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.irm-body .irm-chars{display:grid;gap:0;margin:8px 0 0;padding:20px 22px;border-radius:var(--irm-r-l);background:var(--irm-surface);box-shadow:var(--irm-sh-1)}.irm-body .irm-chars h2{font-size:17px;margin-bottom:8px}.irm-body .irm-chars>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:14px}.irm-body .irm-chars>div+div{box-shadow:0 -1px 0 var(--irm-line)}.irm-body .irm-chars dt{color:var(--irm-mut)}.irm-body .irm-chars dd{margin:0;font-weight:500;text-align:end}.irm-body .irm-cfg{display:grid;gap:20px;min-width:0}.irm-body .irm-cfg h1{font-size:30px}.irm-body .irm-pd__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:-10px;font-size:14px;color:var(--irm-mut)}.irm-body .irm-pd__meta .irm-ok{display:inline-flex;align-items:center;gap:4px;color:#23804a;font-weight:600}.irm-body .irm-pd__meta .irm-ok svg{width:16px;height:16px}.irm-body .irm-pd__meta a{display:inline-flex;align-items:center;gap:5px}.irm-body .irm-pd__meta a b{color:var(--irm-ink)}.irm-body .irm-pd__meta .irm-st svg{width:16px;height:16px}fieldset{margin:0;padding:0;border:0;min-width:0}legend{padding:0;margin-bottom:10px;font-size:16px;font-weight:700}legend output{margin-inline-start:8px;font-weight:400;color:var(--irm-mut)}.irm-body .irm-og__h,.irm-body .irm-op{display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;align-items:center}.irm-body .irm-og__h{padding:0 16px 6px 48px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--irm-mut)}.irm-body .irm-og__h span:last-child,.irm-body .irm-op__p{text-align:end;min-width:96px}.irm-body .irm-op{position:relative;padding:13px 16px 13px 48px;border-radius:var(--irm-r-m);background:var(--irm-surface);box-shadow:inset 0 0 0 1.5px var(--irm-line);cursor:pointer;font-variant-numeric:tabular-nums;transition:box-shadow .15s,background-color .15s}.irm-body .irm-op+.irm-op{margin-top:8px}.irm-body .irm-op:hover{box-shadow:inset 0 0 0 1.5px var(--irm-accent)}.irm-body .irm-op:has(:checked){background:var(--irm-accent-soft);box-shadow:inset 0 0 0 2px var(--irm-accent)}.irm-body .irm-op input,.irm-body .irm-rr input{position:absolute;opacity:0}.irm-body .irm-op:before{content:"";position:absolute;inset-inline-start:16px;top:50%;translate:0 -50%;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #b9b4cf;background:#fff;transition:box-shadow .15s}.irm-body .irm-op:has(:checked):before{box-shadow:inset 0 0 0 8px var(--irm-accent)}.irm-body .irm-op:has(:focus-visible){outline:2px solid var(--irm-accent);outline-offset:2px}.irm-body .irm-op__a{font-weight:600}.irm-body .irm-op__b{color:var(--irm-ink-2)}.irm-body .irm-op__p{font-weight:600}[hidden]{display:none!important}.irm-body .irm-vg{padding:20px 22px 22px;border-radius:var(--irm-r-l);background:var(--irm-surface);box-shadow:var(--irm-sh-1)}.irm-body .irm-vg legend{float:left;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 16px;width:100%;margin-bottom:14px;font-size:23px;letter-spacing:-.02em;line-height:1.15}.irm-body .irm-vg legend output{margin:0;font-size:19px;letter-spacing:-.01em;letter-spacing:0;font-weight:600;color:var(--irm-accent)}.irm-body .irm-vg legend+*{clear:both}.irm-body .irm-vg .irm-ch span{background:var(--irm-bg)}.irm-body .irm-vg .irm-ch input:checked+span{background:var(--irm-accent-soft)}.irm-body .irm-vg__l{margin:0 0 8px;font-size:14px;color:var(--irm-mut)}.irm-body .irm-vg__lb{margin-top:12px}.irm-body .irm-chips2{display:flex;flex-wrap:wrap;gap:8px}.irm-body .irm-ch{position:relative;cursor:pointer}.irm-body .irm-ch input{position:absolute;opacity:0}.irm-body .irm-ch span{display:grid;place-items:center;min-height:46px;padding:6px 16px;border-radius:var(--irm-r-m);background:var(--irm-surface);box-shadow:inset 0 0 0 1.5px var(--irm-line);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;text-align:center;transition:box-shadow .15s,background-color .15s,scale .15s var(--irm-ease)}.irm-body .irm-ch small{display:block;margin-top:1px;font-size:14px;font-weight:400;color:var(--irm-mut)}.irm-body .irm-ch--p span{min-height:52px}.irm-body .irm-ch input:checked+span small{color:var(--irm-accent);font-weight:600}.irm-body .irm-ch:hover span{box-shadow:inset 0 0 0 1.5px var(--irm-accent)}.irm-body .irm-ch:active span{scale:.96}.irm-body .irm-ch input:checked+span{background:var(--irm-accent-soft);box-shadow:inset 0 0 0 2px var(--irm-accent)}.irm-body .irm-ch input:focus-visible+span{outline:2px solid var(--irm-accent);outline-offset:2px}legend output{font-variant-numeric:tabular-nums}.irm-body .irm-mts{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.irm-body .irm-mt{position:relative;display:grid;gap:5px;padding:5px 5px 7px;border-radius:var(--irm-r-m);background:var(--irm-surface);box-shadow:inset 0 0 0 1.5px var(--irm-line);cursor:pointer;font-size:14px;line-height:1.2;text-align:center;transition:box-shadow .15s}.irm-body .irm-mt input{position:absolute;opacity:0}.irm-body .irm-mt img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--irm-r-s);outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}.irm-body .irm-mk{display:block;font-size:14px;font-weight:600;color:var(--irm-mut);font-variant-numeric:tabular-nums}.irm-body .irm-mk--dn{color:#23804a}.irm-body .irm-mk--up{color:var(--irm-ink-2)}.irm-body .irm-mt:hover{box-shadow:inset 0 0 0 1.5px var(--irm-accent)}.irm-body .irm-mt:has(:checked){box-shadow:inset 0 0 0 2px var(--irm-accent);background:var(--irm-accent-soft);font-weight:600}.irm-body .irm-mt:has(:focus-visible){outline:2px solid var(--irm-accent);outline-offset:2px}.irm-body .irm-sls{display:grid;gap:10px}.irm-body .irm-sl{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:14px;border-radius:var(--irm-r-l);background:var(--irm-surface);box-shadow:var(--irm-sh-1)}.irm-body .irm-sl img{width:88px;height:88px;object-fit:cover;border-radius:var(--irm-r-m)}.irm-body .irm-sl label{display:block;font-weight:700;margin-bottom:6px}.irm-body .irm-sl select{width:100%;height:44px;padding:0 12px;border:0;border-radius:var(--irm-r-s);background:var(--irm-tile);font-size:15px;cursor:pointer}.irm-body .irm-sl p{margin-top:6px;font-size:14px;line-height:1.4;color:var(--irm-mut);text-wrap:pretty}.irm-body .irm-buy{position:sticky;top:104px}.irm-body .irm-buy__in{display:grid;gap:16px;padding:24px;border-radius:var(--irm-r-xl);background:var(--irm-surface);box-shadow:var(--irm-sh-2)}.irm-body .irm-buy__price{display:flex;align-items:baseline;gap:10px;font-variant-numeric:tabular-nums}.irm-body .irm-buy__price b{font-size:34px;line-height:1;letter-spacing:-.03em;color:var(--irm-sale)}.irm-body .irm-buy__price s{color:var(--irm-mut)}.irm-body .irm-buy__save{margin-top:-10px;font-size:14px;color:var(--irm-sale-ink)}.irm-body .irm-buy__save span{font-weight:700}.irm-body .irm-buy__list{display:grid;gap:6px;margin:0;padding:12px 14px;list-style:none;border-radius:var(--irm-r-m);background:var(--irm-tile);font-size:14px;font-variant-numeric:tabular-nums}.irm-body .irm-buy__list li{display:flex;justify-content:space-between;gap:12px}.irm-body .irm-buy__list b{font-weight:600;white-space:nowrap}.irm-body .irm-bg legend{font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--irm-mut);font-weight:600;margin-bottom:4px}.irm-body .irm-rr{position:relative;display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;cursor:pointer;font-variant-numeric:tabular-nums}.irm-body .irm-rr:before{content:"";flex:none;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #b9b4cf;transition:box-shadow .15s}.irm-body .irm-rr:has([type=checkbox]):before{border-radius:var(--irm-r-s)}.irm-body .irm-rr:has(:checked):before{box-shadow:inset 0 0 0 7px var(--irm-accent)}.irm-body .irm-rr:has([type=checkbox]):before{width:22px;height:22px;border-radius:var(--irm-r-s)}.irm-body .irm-rr:has([type=checkbox]:checked):before{box-shadow:none;background:var(--irm-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/18px no-repeat}.irm-body .irm-rr:has([type=checkbox]:checked){font-weight:600}.irm-body .irm-rr:has([type=checkbox]:checked) b{color:var(--irm-sale)}.irm-body .irm-rr:has([type=checkbox]:not(:checked)){color:var(--irm-mut)}.irm-body .irm-rr i{font-style:normal;font-weight:600;margin-inline-start:4px;padding:1px 7px;border-radius:var(--irm-r-s);background:var(--irm-sale-bg);color:var(--irm-sale-ink);font-size:14px}.irm-body .irm-rr i:empty{display:none}.irm-body .irm-rr b{margin-inline-start:auto;font-weight:600}.irm-body .irm-rr:has(:focus-visible){outline:2px solid var(--irm-accent);outline-offset:2px;border-radius:var(--irm-r-s)}.irm-body .irm-buy .irm-btn{width:100%}.irm-body .irm-buy .irm-btn{min-height:50px;font-size:15px}.irm-body .irm-buy .irm-btn svg{width:20px;height:20px}.irm-body .irm-buy__trust{display:grid;gap:8px;margin:0;padding:14px 0 0;list-style:none;box-shadow:0 -1px 0 var(--irm-line);font-size:14px;color:var(--irm-ink-2)}.irm-body .irm-buy__trust li{display:flex;gap:10px;align-items:center}.irm-body .irm-buy__trust svg{width:20px;height:20px;color:var(--irm-accent)}.irm-body .irm-pd__sec{margin-top:64px}.irm-body .irm-ofm{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.irm-body .irm-ofm a{display:grid;gap:8px;padding:8px 8px 12px;border-radius:var(--irm-r-l);background:var(--irm-surface);box-shadow:var(--irm-sh-1);text-align:center;font-weight:500;font-size:14px;transition:box-shadow .2s var(--irm-ease),translate .2s var(--irm-ease)}.irm-body .irm-ofm a:hover{box-shadow:var(--irm-sh-2);translate:0 -2px;color:var(--irm-accent)}.irm-body .irm-ofm img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--irm-r-m)}.irm-body .irm-bbar{display:none}
@media(max-width:1428px){.irm-body .irm-pd__top{grid-template-columns:minmax(0,1fr) 320px}.irm-body .irm-gal{position:static;grid-column:1/3;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.irm-body .irm-gal__th{grid-row:2}.irm-body .irm-chars{grid-row:1/3;grid-column:2;margin:0}.irm-body .irm-ofm{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:920px){.irm-body .irm-pd__meta a{padding-block:10px}.irm-body .irm-pd__meta{margin-top:-14px;margin-bottom:-6px}.irm-body .irm-vg{padding:16px 16px 18px;border-radius:var(--irm-r-l)}.irm-body .irm-vg legend{font-size:21px}.irm-body .irm-vg .irm-chips2{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.irm-body .irm-vg .irm-chips2::-webkit-scrollbar{display:none}.irm-body .irm-ch{flex:none}.irm-body .irm-pd__top{display:flex;flex-direction:column;gap:12px}.irm-body .irm-gal{display:contents}.irm-body .irm-gal__main{order:1}.irm-body .irm-gal__th{order:2}.irm-body .irm-cfg{order:3}.irm-body .irm-buy{order:4}.irm-body .irm-chars{grid-row:auto;grid-column:auto;margin:8px 0 0;order:5}.irm-body .irm-gal__main{padding:20px;border-radius:var(--irm-r-l);aspect-ratio:1/1}.irm-body .irm-cfg{margin-top:18px;gap:18px}.irm-body .irm-cfg h1{font-size:23px}.irm-body .irm-og__h{padding-inline:44px 12px;font-size:14px}.irm-body .irm-op{padding:12px 12px 12px 44px;gap:8px;font-size:14px}.irm-body .irm-op:before{inset-inline-start:12px}.irm-body .irm-og__h span:last-child,.irm-body .irm-op__p{min-width:78px}.irm-body .irm-mts{display:flex;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.irm-body .irm-mts::-webkit-scrollbar{display:none}.irm-body .irm-mt{flex:none;width:88px}.irm-body .irm-sl{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px}.irm-body .irm-sl img{width:64px;height:64px}.irm-body .irm-sl select{font-size:16px}.irm-body .irm-buy{position:static;margin-top:20px}.irm-body .irm-buy__in{padding:20px;border-radius:var(--irm-r-l);box-shadow:var(--irm-sh-1)}.irm-body .irm-pd__sec{margin-top:44px}.irm-body .irm-ofm{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.irm-body .irm-ofm a{font-size:14px;padding:6px 6px 10px;border-radius:var(--irm-r-l)}.irm-body .irm-bbar{position:fixed;inset-inline:0;bottom:calc(57px + env(safe-area-inset-bottom,0px));z-index:29;display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--irm-line)}.irm-body .irm-bbar>div{display:grid;line-height:1.15;font-variant-numeric:tabular-nums}.irm-body .irm-bbar b{font-size:20px;color:var(--irm-sale);letter-spacing:-.02em}.irm-body .irm-bbar s{font-size:14px;color:var(--irm-mut)}.irm-body .irm-bbar .irm-btn{margin-inline-start:auto;min-height:46px}body{padding-bottom:calc(126px + env(safe-area-inset-bottom,0px))}}.fil6-marble{fill:#645a8f}.fil1-marble{fill:#fff}.fil2-kompleks{fill:#fff}.fil5-cokolya{fill:#f7616c}.fil4-cokolya{fill:#fff}.fil0-cokolya{fill:url(#id0-cokolya)}.fil3-cokolya{fill:url(#id1-cokolya)}.fil0-ogradu{fill:url(#id0-ogradu)}.fil3-cvetniki{fill:#f7616c}.fil0-cvetniki{fill:#fff}.fil4-cvetniki{fill:url(#id1)}.fil1-stoliki{fill:#fff}.fil5-skamejka{fill:url(#id0-skamejka)}.fil4-skamejka{fill:url(#id2-skamejka)}.fil3-skamejka{fill:url(#id3-skamejka)}.fil4-plitka{fill:#fff;fill-rule:nonzero}.fil6-vazy{fill:#fff}.fil4-tablichka{fill:#645a8f}.fil3-tablichka{fill:#fff}.fil1-fotokeramika{fill:#fff}.fil2-bronzovye-bukvy{fill:#fff}.fil8-bronza-na-pamyatnik{fill:#fff}.fil1-akril-na-pamyatnik{fill:#fff}.fil1-krest{fill:#fff}.fil4-lampada{fill:#fff}.fil6-lampada{fill:url(#id2)}.fil5-kolumbariu{fill:#645a8f}.fil3-kolumbariu{fill:#fff}.fil4-nadgrobnaya-plita{fill:#645a8f}.fil1-nadgrobnaya-plita{fill:url(#id0-nadgrobnaya-plita)}.fil3-graver{fill:#f7616c}.fil1-graver{fill:#fff}.fil2-graver,.fil4-graver{fill:#f7616c;fill-rule:nonzero}.fil2-graver{fill:#fff}.fil4-tovar{fill:#645a8f}.fil2-tovar{fill:#fff}.fil4-info{fill:#645a8f}.fil2-info{fill:#fff}/* ——— Поправки к макетной разметке, собранной из данных темы ——— *//* Пояснение рядом с заголовком блока (в макете это отдельная строка). */.irm-body .irm-og__note{display:block;margin:2px 0 10px;font-size:14px;font-weight:400;line-height:1.4;color:var(--irm-mut)}.irm-body .irm-og legend .irm-og__note{margin-inline-start:12px;display:inline}/* Характеристики: строка «признак — значение». */.irm-body .irm-chars>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:14px}.irm-body .irm-chars dt{color:var(--irm-mut)}.irm-body .irm-chars dd{margin:0;font-weight:500;text-align:end}/* Скидки: процент отдельной плашкой, сумма справа. */.irm-body .irm-rr i{margin-inline-start:8px;padding:2px 7px;border-radius:99px;background:var(--irm-sale-bg);
  color:var(--irm-sale-ink);font-size:14px;font-style:normal;font-weight:700}.irm-body .irm-rr b{white-space:nowrap}/* Процент скидки — плашкой с отступом от названия. */.irm-body .irm-rr span i{display:inline-block;margin-inline-start:8px;padding:2px 7px;border-radius:99px;
  background:var(--irm-sale-bg);color:var(--irm-sale-ink);font-size:14px;font-style:normal;font-weight:500;
  vertical-align:1px}.irm-body .irm-rr span i:empty{display:none}/* Мета-строка карточки: значения из макета (.pd__meta). */.irm-body .irm-cfg .irm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:-10px;
  font-size:14px;color:var(--irm-mut)}.irm-body .irm-cfg .irm-meta .irm-meta__ok{display:inline-flex;align-items:center;gap:4px;color:#23804a;font-weight:600}.irm-body .irm-cfg .irm-meta .irm-meta__ok svg{width:16px;height:16px}.irm-body .irm-cfg .irm-meta a{display:inline-flex;align-items:center;gap:5px;color:var(--irm-mut)}.irm-body .irm-cfg .irm-meta a b{color:var(--irm-ink)}.irm-body .irm-cfg .irm-meta .irm-st svg{width:16px;height:16px}.irm-body .irm-cfg .title-container{display:block;margin:0;padding:0;background:transparent;box-shadow:none}.irm-body .irm-cfg .title-container h1{margin:0;font-size:30px;line-height:1.15;letter-spacing:-.022em;color:var(--irm-ink)}.irm-body .irm-cfg .title-container h1{display:block;width:100%}/* Подпись рядом с заголовком блока — мелкая и серая (наследовала 23 px legend). */.irm-body .irm-og legend .irm-og__note{display:inline;margin-inline-start:12px;font-size:14px;font-weight:400;
  letter-spacing:0;color:var(--irm-mut);white-space:nowrap}/* Картинка-пример в блоках оформления не должна выходить за карточку. */.irm-body .irm-sl img{flex:none;width:96px;height:auto;max-width:96px;border-radius:var(--irm-r-m);object-fit:cover}.irm-body .irm-sl{display:flex;gap:14px;align-items:flex-start}.irm-body .irm-sl>div{flex:1;min-width:0}.irm-body .irm-sl select{width:100%}/* Материалы в левой колонке — та же карточка, что у характеристик. */.irm-body .irm-gal .irm-og--mat{margin-top:8px}/* ширина колонок материалов задаётся ниже одним местом *//* 🪤 На телефоне макет распускает галерею (`.gal{display:contents}`), и блок
   материалов становился прямым элементом колонки без ограничения ширины —
   2 106 px и горизонтальный скролл всей страницы. */.irm-body .irm-gal .irm-og--mat,.irm-body .irm-og--mat{min-width:0;max-width:100%}.irm-body .irm-mts{min-width:0;max-width:100%}
@media(max-width:1012px){.irm-body .irm-gal .irm-og--mat{order:6;grid-column:auto}.irm-body .irm-mts{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));overflow:visible;
    margin-inline:0;padding-inline:0}
}/* Плашка процента у скидки — без жирности (решение Антона 22.09.2026). */.irm-body .irm-rr i{font-weight:500}/* Фотография цветника — в его же блоке, справа от чипов. */.irm-body .irm-og__pic{display:block;width:100%;max-width:200px;margin:12px 0 0 auto;border-radius:var(--irm-r-m);
  outline:1px solid rgba(0,0,0,.08);outline-offset:-1px}
@media(max-width:1012px){.irm-body .irm-og__pic{margin-inline:auto}}/* Материал памятника в левой колонке — карточка как у стелы. */.irm-body .irm-gal .irm-og--mat{margin:0}.irm-body .irm-gal .irm-og--mat legend{font-size:23px}/* ——— Правки по замечаниям Антона 22.09.2026 ——— *//* Пояснение про проценты — мельче и под плитками. */.irm-body .irm-og__note--under{margin:12px 0 0;font-size:14px;line-height:1.4;color:var(--irm-mut)}/* У фотографии цветника рамку убираем. */.irm-body .irm-vg[data-name="parterre"]>.irm-og__pic{outline:none}/* Блоки оформления — сетка макета: картинка слева, поля столбиком без наложения. */.irm-body .irm-sl{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:start}.irm-body .irm-sl>div{display:grid;gap:8px;min-width:0}.irm-body .irm-sl img{width:88px;height:88px;max-width:none;object-fit:cover;border-radius:var(--irm-r-m)}.irm-body .irm-sl label{margin:0;font-weight:700}.irm-body .irm-sl p{margin:0;font-size:14px;line-height:1.4;color:var(--irm-mut)}/* Своя стрелка у выпадающих списков — ровно по центру справа. */.irm-body .irm-sl select{appearance:none;-webkit-appearance:none;width:100%;height:44px;padding:0 38px 0 12px;
  border:0;border-radius:var(--irm-r-m);background-color:var(--irm-tile);font-size:15px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f6a85' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px 18px}.irm-body .irm-sl select:focus-visible{outline:2px solid var(--irm-accent);outline-offset:2px}/* Бейдж скидки переехал к цене в блоке заказа. */.irm-body .irm-buy__price .irm-sale{margin-inline-start:2px;padding:3px 9px;border-radius:99px;
  background:var(--irm-sale-bg);color:var(--irm-sale-ink);font-size:14px;font-weight:700;align-self:center}/* Описание памятника — той же карточкой, что характеристики. */.irm-body .irm-desc{display:block;margin-top:12px}.irm-body .irm-desc h2{margin-bottom:8px;font-size:17px}.irm-body .irm-desc p{margin:0 0 8px;font-size:14px;line-height:1.55;color:var(--irm-ink-2);text-wrap:pretty}.irm-body .irm-desc p:last-child{margin-bottom:0}/* Подписи списков оформления — как на родном сайте. */.irm-body .irm-sl__t{font-size:14px;color:var(--irm-mut)}.irm-body .irm-sl__t+select{margin-top:-4px}/* Картинку-пример не обрезаем: у ФИО это надпись целиком. */.irm-body .irm-sl img{object-fit:contain;background:var(--irm-tile);padding:4px}/* 🪤 Бейдж скидки наследовал `.sale{position:absolute}` от фотографии и улетал
   в нижний угол липкого блока заказа — ставим в поток рядом с ценой. */.irm-body .irm-buy__price .irm-sale{position:static;inset:auto;display:inline-flex;align-items:center}/* Фотография цветника крупнее. */.irm-body .irm-vg[data-name="parterre"]>.irm-og__pic{width:150px}.irm-body .irm-vg[data-name="parterre"] .irm-chips2,.irm-body .irm-vg[data-name="parterre"] .irm-vg__l{padding-inline-end:0}/* Картинки-примеры в блоках оформления крупнее. */.irm-body .irm-sl{grid-template-columns:120px minmax(0,1fr)}.irm-body .irm-sl img{width:120px;height:120px}
@media(max-width:1012px){.irm-body .irm-sl{grid-template-columns:88px minmax(0,1fr)}.irm-body .irm-sl img{width:88px;height:88px}}/* Фото цветника — справа, чипы обтекают его.
   🪤 Флекс-ряд float не обтекает: чипы вставали столбиком. Для этого блока
   делаем ряд обычным блоком с inline-block чипами — тогда обтекание работает. */.irm-body .irm-vg[data-name="parterre"]>.irm-og__pic{float:right;width:150px;margin:0 0 10px 16px;border-radius:var(--irm-r-m)}.irm-body .irm-vg[data-name="parterre"] .irm-chips2{display:block;padding-inline-end:0}.irm-body .irm-vg[data-name="parterre"] .irm-vg__l{padding-inline-end:0}.irm-body .irm-vg[data-name="parterre"] .irm-ch{display:inline-block;margin:0 8px 8px 0;vertical-align:top}.irm-body .irm-vg[data-name="parterre"]:after{content:"";display:block;clear:both}
@media(max-width:1012px){.irm-body .irm-vg[data-name="parterre"]>.irm-og__pic{float:none;display:block;width:100%;max-width:220px;margin:12px auto 0}
}/* Чипы цветника чуть компактнее, чтобы вставали в строку рядом с фото. */.irm-body .irm-vg[data-name="parterre"] .irm-ch span{padding:6px 12px;min-height:48px}.irm-body .irm-vg[data-name="parterre"] .irm-ch b,.irm-body .irm-vg[data-name="parterre"] .irm-ch span{font-size:14px}/* Картинка-пример занимает весь левый бок блока: квадрат, тянется по высоте.
   Вписываем целиком (contain) — у «ФИО и даты» это надпись, её нельзя обрезать. */.irm-body .irm-sl{grid-template-columns:150px minmax(0,1fr);align-items:stretch}.irm-body .irm-sl img{width:150px;height:100%;min-height:150px;object-fit:contain;background:var(--irm-tile);
  padding:8px;border-radius:var(--irm-r-m)}
@media(max-width:1012px){.irm-body .irm-sl{grid-template-columns:104px minmax(0,1fr)}.irm-body .irm-sl img{width:104px;min-height:104px}
}/* Строка «Скидки: −4 300 ₽» — чуть крупнее (просьба Антона 22.09.2026). */.irm-body .irm-buy__save{font-size:15px}/* Плитки материалов: крупнее название, одинаковая высота, без рамок вокруг
   картинки и плитки — место под названия, а не под воздух (Антон 22.09.2026). */.irm-body .irm-mts{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px 10px}.irm-body .irm-mt{padding:0;gap:6px;background:none;box-shadow:none;font-size:14px;line-height:1.25;
  grid-template-rows:auto 1fr auto;align-content:start}.irm-body .irm-mt img{outline:0;border-radius:var(--irm-r-m);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.irm-body .irm-mt>span:not([class]),.irm-body .irm-mt .irm-mtn{display:grid;align-content:center;min-height:2.5em}.irm-body .irm-mt:hover{box-shadow:none}.irm-body .irm-mt:hover img{box-shadow:0 0 0 2px var(--irm-accent)}.irm-body .irm-mt:has(:checked){background:none;box-shadow:none}.irm-body .irm-mt:has(:checked) img{box-shadow:0 0 0 3px var(--irm-accent)}.irm-body .irm-mt:has(:focus-visible){outline:0}.irm-body .irm-mt:has(:focus-visible) img{outline:2px solid var(--irm-accent);outline-offset:2px}.irm-body .irm-mk{font-size:14px}/* Длинные названия («Красногорский») не влезали в колонку — переносим по слогам. */.irm-body .irm-gal .irm-mts,.irm-body .irm-mts{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.irm-body .irm-mt .irm-mtn{hyphens:auto;overflow-wrap:break-word;min-height:2.6em}
/* На телефоне плитка тянется по колонке — 107px оставляли дыру справа. */
@media(max-width:1012px){.irm-body .irm-gal .irm-mts,.irm-body .irm-mts{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.irm-body .irm-mt{width:auto;flex:1 1 auto}
}
@media(max-width:484px){.irm-body .irm-gal .irm-mts,.irm-body .irm-mts{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:12px 8px}}
/* «базовая цена» на узком экране рвалась на две строки — мельче на шаг. */
@media(max-width:484px){.irm-body .irm-mk{font-size:14px}}/* Название материала — одной строкой с многоточием: перенос по слогам делал
   ряды разной высоты и оставлял дыры (Антон 22.09.2026). Полное имя в title. */.irm-body .irm-mt .irm-mtn{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  min-height:0;hyphens:manual}/* Наценка — красноватым, скидка зелёным, база — приглушённой. */.irm-body .irm-mk--up{color:#b9494e}/* Выбранный материал должен читаться и на чёрном граните: кольцо акцента с
   белым зазором плюс галочка в углу и акцентное название (Антон 22.09.2026).
   Тонкую серую рамку у картинок снимаем — она мозолила глаза после наведения. */.irm-body .irm-mt img{box-shadow:none}.irm-body .irm-mt:hover img{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--irm-accent)}.irm-body .irm-mt:has(:checked) img{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--irm-accent)}.irm-body .irm-mt:has(:checked) .irm-mtn{color:var(--irm-accent);font-weight:700}.irm-body .irm-mt:has(:checked)::after{content:"";position:absolute;top:6px;inset-inline-end:6px;
  width:20px;height:20px;border-radius:50%;background:var(--irm-accent)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat;
  box-shadow:0 0 0 2px #fff}/* Фото цветника крупнее — Антон 22.09.2026. */.irm-body .irm-vg[data-name="parterre"]>.irm-og__pic{width:220px}
@media(max-width:1012px){.irm-body .irm-vg[data-name="parterre"]>.irm-og__pic{max-width:260px}}/* Цветник: фото — отдельной колонкой справа, чипы слева. Сетка живёт на
   обёртке `.irm-vg__in` — fieldset с display:grid роняет legend из padding-box. */.irm-body .irm-vg[data-name="parterre"]{display:block}.irm-body .irm-vg[data-name="parterre"]>legend{padding-inline-end:0}.irm-body .irm-vg__in{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:0 20px;align-items:start}.irm-body .irm-vg__in>.irm-og__pic{float:none;grid-column:2;grid-row:1/span 4;width:100%;margin:0;align-self:center}.irm-body .irm-vg__in>p,.irm-body .irm-vg__in>div{grid-column:1}
@media(max-width:1012px){.irm-body .irm-vg__in{grid-template-columns:minmax(0,1fr)}.irm-body .irm-vg__in>.irm-og__pic{grid-column:1;grid-row:auto;max-width:260px;margin:12px auto 0}
}/* Заголовок цветника держим над чипами, а не над картинкой: растянутый на обе
   колонки, он отбрасывал «Без цветника — 0 ₽» к самому краю (Антон 22.09.2026). *//* 🪤 legend в fieldset не участвует в сетке — `grid-column` он игнорирует и
   всегда занимает всю ширину. Поэтому просто держим его текст левее картинки. *//* отступ справа у заголовка цветника больше не нужен: сетка живёт на обёртке */.irm-body .irm-vg[data-name="parterre"]>legend output{white-space:nowrap}.irm-body .irm-vg[data-name="parterre"]>.irm-og__pic{grid-row:1/span 4}/* «В корзину» и «Купить в 1 клик» — крупнее текст и значок (Антон 22.09.2026). */.irm-body .irm-buy .irm-btn{font-size:18px;min-height:58px}.irm-body .irm-buy .irm-btn svg{width:26px;height:26px}/* Материалы: зазор между плитками как у чипов стелы и тумбы, плитки прежнего
   крупного размера, «Карельский» вровень с заголовком (Антон 22.09.2026). */.irm-body .irm-gal .irm-mts,.irm-body .irm-mts{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px 8px}.irm-body .irm-og--mat legend output{font-size:inherit}/* Кнопки заказа: размер прежний, текст чуть крупнее. */.irm-body .irm-buy .irm-btn{font-size:17px;min-height:50px}.irm-body .irm-buy .irm-btn svg{width:22px;height:22px}

/* На телефоне плитки материалов держим по три в ряд (перебивалось правилом
   без медиазапроса, добавленным позже). */
@media(max-width:1012px){.irm-body .irm-gal .irm-mts,.irm-body .irm-mts{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
}
@media(max-width:484px){.irm-body .irm-gal .irm-mts,.irm-body .irm-mts{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}
}/* «Оформление для памятника»: названия крупнее — место под них есть
   (Антон 22.09.2026). */.irm-body .irm-sl label{font-size:19px;margin-bottom:8px}.irm-body .irm-sl__t{font-size:14px}.irm-body .irm-sl p{font-size:14px}/* Внутри новой сетки чипы снова обычный флекс-ряд (старая обтекающая схема
   делала их inline-block ради float-картинки). */.irm-body .irm-vg__in .irm-chips2{display:flex;flex-wrap:wrap;gap:8px;padding-inline-end:0}.irm-body .irm-vg__in .irm-ch{display:block;margin:0}.irm-body .irm-vg__in .irm-vg__l{padding-inline-end:0}/* Между заголовком «Материал» и плитками — воздуха побольше. */.irm-body .irm-og--mat legend{margin-bottom:22px}/* Картинка цветника без рамки (селектор сменился вместе с обёрткой). */.irm-body .irm-vg__in>.irm-og__pic{outline:none;box-shadow:none}/* «Оформление для памятника» — названия ещё крупнее. */.irm-body .irm-sl label{font-size:21px}/* Экономия на односторонней полировке — зелёным, как скидка (Антон 22.09.2026). */.irm-body .irm-vg .irm-ch small.irm-ch__save{color:#23804a;font-weight:600}.irm-body .irm-vg .irm-ch input:checked+span small.irm-ch__save{color:#23804a}/* Процент наценки и «базовая» у материалов чуть крупнее. */.irm-body .irm-mk{font-size:14px}.irm-body .irm-mk--base b{color:#23804a;font-weight:700}/* В листинге избранное не показываем — только на странице товара. *//* Сердце убрано из разметки карточек витрины (ORG-SITES-116) — правило снято. *//* Кнопки заказа: одинаковая высота, значок и текст по центру. */.irm-body .irm-buy .irm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;line-height:1}.irm-body .irm-buy .irm-btn svg{flex:none;width:23px;height:23px}/* «базовая 0 %» — ноль зелёным, но без жирности (Антон 22.09.2026). */.irm-body .irm-mk--base b,.irm-body .irm-mk--base i{color:#23804a;font-weight:inherit;font-style:normal}/* Артикул и «в наличии» ближе к первым плашкам. */.irm-body .irm-meta{margin-bottom:8px}/* Скидка в карточке витрины стоит рядом с зачёркнутой ценой. */.irm-body .irm-pc__price .irm-sale{position:static;inset:auto;padding:2px 7px;font-size:14px;align-self:center}/* «базовая 0 %» без жирности. */.irm-body .irm-mk--base{font-weight:400}/* В карточке витрины скидка стоит вплотную к зачёркнутой цене: когда обе не
   влезают в строку с крупной ценой, переносим их вместе (Антон 22.09.2026). */.irm-body .irm-pc__price{flex-wrap:wrap;gap:2px 7px}.irm-body .irm-pc__price .irm-sale{font-size:14px;padding:1px 7px}/* Заголовок карточки — полужирный, как в макете; отступ до первого блока
   тоже возвращаем к макету (Антон 22.09.2026, сверка по снимку). */.irm-body .irm-pd h1,.irm-body .irm-title h1,h1.irm-h1,.page-wrap .irm-pd h1{font-weight:700}.irm-body .irm-meta{margin-top:-14px;margin-bottom:-6px}/* Блоки «ФИО и даты», «Фотография», «Фотокерамика» в средней колонке (ORG-SITES-149).
   Колонка на 1440 — около 390 px, а картинка брала 170: «Отсутствует» в списке
   обрезалось, заголовок «Фотокерамика» вылезал за карточку. Картинка — узкой
   колонкой 96 px, заголовок 20 px с переносом, список во всю оставшуюся ширину. */.irm-body .irm-cfg .irm-sl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start}.irm-body .irm-cfg .irm-sl>img{width:96px;height:96px;max-width:none;padding:4px;object-fit:contain}.irm-body .irm-cfg .irm-sl>div{min-width:0;display:grid;gap:8px}.irm-body .irm-cfg .irm-sl label{font-size:20px;line-height:1.25;overflow-wrap:anywhere}.irm-body .irm-cfg .irm-sl select{width:100%;min-width:0;padding-right:40px;text-overflow:ellipsis}/* Главное фото на странице памятника — без внутреннего отступа (ORG-SITES-149).
   Антон 28.09.2026: «отступы дополнительные не нужны, мы уменьшаем возможность
   просмотра… надо было у всех». Было 38 px (24 на планшете): фото 432×493 в
   плитке 508×569. Фото заполняет плитку, пропорции плитки прежние. */.irm-body .irm-gal__main{padding:0}.irm-body .irm-gal__main img{width:100%;height:100%;object-fit:contain}/* ═══ Антон 29.09.2026 (ORG-SITES-153) ═══
   Фото цветника — внизу блока, под плашками размеров: справа от чипов оно
   сдвигало раскладку при каждом выборе. Обёртка — в одну колонку, фото последним. */.irm-body .irm-vg__in{grid-template-columns:minmax(0,1fr)}.irm-body .irm-vg__in>.irm-og__pic{grid-column:1;grid-row:auto;order:99;width:100%;max-width:260px;margin:14px auto 0;align-self:start}/* «Установка», «Доставка», «Скидки» в правом блоке — крупнее. */.irm-body .irm-bg legend{font-size:16px;margin-bottom:6px}.irm-body .irm-rr{font-size:16px;padding:7px 0}.irm-body .irm-rr:before{width:20px;height:20px}.irm-body .irm-rr i{font-size:14px}/* «ФИО и даты», «Фотография», «Фотокерамика»: картинка слева — квадрат
   и вдвое крупнее, без серого поля вокруг (снимок Антона 29.09.2026, ORG-SITES-153).
   Картинки чёрные — подложка чёрная, картинка целиком. */.irm-body .irm-cfg .irm-sl,.irm-body .irm-sls .irm-sl{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:start}.irm-body .irm-cfg .irm-sl img,.irm-body .irm-sls .irm-sl img{width:160px;height:160px;min-height:0;max-width:160px;aspect-ratio:1/1;padding:0;object-fit:contain;background:#000;border-radius:var(--irm-r-m)}
@media(max-width:836px){.irm-body .irm-cfg .irm-sl,.irm-body .irm-sls .irm-sl{grid-template-columns:120px minmax(0,1fr);gap:14px}.irm-body .irm-cfg .irm-sl img,.irm-body .irm-sls .irm-sl img{width:120px;height:120px;max-width:120px}}/* Подписи «Выберите тип / количество» над выпадашками сняты — выпадашка встаёт
   сразу под заголовок блока (Антон 29.09.2026, ORG-SITES-153). */.irm-body .irm-cfg .irm-sl .irm-sl__t,.irm-body .irm-sls .irm-sl .irm-sl__t{display:none}/* Названия трёх скидок в правом блоке — без жирного (Антон 29.09.2026, ORG-SITES-153). */.irm-body .irm-rr:has([type=checkbox]:checked){font-weight:400}.irm-body .irm-buy__save{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.irm-body .irm-buy__save .irm-sale{position:static;inset:auto;display:inline-flex;align-items:center;padding:3px 9px;border-radius:99px;
  background:var(--irm-sale-bg);color:var(--irm-sale-ink);font-size:14px;font-weight:700}
