/* Тема «Пожсервис»: собственные блоки поверх базового main.css. Один селектор — одна строка. */

/* ---------- Общее ---------- */
:root { --stripe:repeating-linear-gradient(-45deg,var(--red-600) 0 10px,var(--navy-950) 10px 20px); --space-xs:8px; --space-sm:12px; --space-md:24px; --space-lg:48px; --space-xl:96px; }
body { font-size:16px; }
.pz-stripe { display:inline-block; width:42px; height:6px; background:var(--stripe); border-radius:1px; vertical-align:middle; }
.pz-stripe--footer { display:block; width:100%; height:6px; margin-bottom:18px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; color:var(--navy-700); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.eyebrow--light { color:oklch(90% .02 250); }
.section-heading { display:flex; align-items:flex-end; justify-content:flex-start; gap:18px; margin-bottom:28px; }
.section-heading h2,.section-heading--split>div h2 { flex:0 1 auto; }
.section-heading--split { justify-content:space-between; flex-wrap:wrap; }
.section-heading--split>div { display:flex; align-items:flex-end; gap:18px; }
.section-heading h2 { margin:0; font-size:clamp(26px,3vw,38px); font-weight:700; letter-spacing:-.01em; }
.section-number { display:inline-grid; place-items:center; flex:0 0 auto; width:56px; height:56px; color:var(--red-600); background:var(--white); border:2px solid var(--red-600); font-family:var(--font-display); font-size:18px; font-weight:700; letter-spacing:.02em; }
.section-number--light { color:var(--white); border-color:oklch(100% 0 0 / .4); background:transparent; }
.section-link { display:inline-flex; align-items:center; gap:8px; padding-bottom:6px; color:var(--navy-700); font-weight:600; font-size:15px; border-bottom:2px solid var(--red-600); }
.section-link:hover { color:var(--red-600); }
.section-link .ui-icon { width:16px; height:16px; }
.button { display:inline-flex; align-items:center; gap:10px; padding:14px 22px; font-weight:600; font-size:15px; line-height:1; border-radius:4px; border:2px solid transparent; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease; }
.button .ui-icon { width:18px; height:18px; }
.button-primary { color:var(--white); background:var(--red-600); border-color:var(--red-600); }
.button-primary:hover { background:var(--red-700); border-color:var(--red-700); transform:translateY(-1px); }
.button-ghost { color:var(--navy-900); background:transparent; border-color:var(--navy-300); }
.button-ghost:hover { border-color:var(--navy-900); }
.button-light { color:var(--navy-950); background:var(--white); border-color:var(--white); }

/* ---------- Служебная строка и шапка ---------- */
.service-bar { color:oklch(88% .015 250); background:var(--navy-950); border:0; }
.service-row { min-height:38px; gap:22px; font-size:12.5px; font-weight:500; }
.service-address,.service-hours,.service-email { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.service-links { gap:16px; }
.service-links a { color:oklch(80% .02 250); }
.service-links a:hover { color:var(--white); }
.service-email { margin-left:auto; color:var(--white); }
.service-bar .ui-icon { width:14px; height:14px; color:var(--red-500); stroke-width:2; }
.site-header { position:relative; z-index:100; background:var(--white); border-bottom:1px solid var(--line); box-shadow:none; }
.header-row { display:grid; min-height:92px; grid-template-columns:auto minmax(260px,1fr) auto auto; align-items:center; gap:28px; }
.site-brand { display:grid; gap:4px; min-width:0; }
.brand-logo { flex:0 0 auto; width:auto; height:44px; object-fit:contain; filter:none; }
.brand-tagline { color:var(--muted); font-size:11.5px; font-weight:500; letter-spacing:.02em; }
.header-search { height:50px; border-radius:4px; border:2px solid var(--navy-150); background:var(--white); box-shadow:none; }
.header-search:focus-within { border-color:var(--navy-700); box-shadow:none; }
.header-search__icon { color:var(--navy-500); }
.header-search button { height:38px; border-radius:3px; background:var(--navy-900); }
.header-search button:hover { background:var(--navy-950); transform:none; }
.search-suggest { border-radius:6px; }
.header-contact { display:flex; align-items:center; gap:16px; }
.header-phone { display:grid; gap:3px; line-height:1.1; }
.header-phone strong { font-family:var(--font-display); font-size:17px; font-weight:700; letter-spacing:-.01em; white-space:nowrap; }
.header-phone small { color:var(--muted); font-size:11.5px; }
.button-callback { padding:11px 16px; color:var(--red-700); background:var(--red-soft); border-color:var(--red-soft); font-size:14px; }
.button-callback:hover { background:var(--red-600); border-color:var(--red-600); color:var(--white); }
.header-tools { display:flex; gap:6px; }
.header-tools>a,.header-tools>button { display:grid; justify-items:center; gap:4px; min-width:64px; padding:6px 4px; background:transparent; border:0; color:var(--navy-900); font-size:11px; font-weight:600; border-radius:4px; }
.header-tools>a:hover,.header-tools>button:hover { background:var(--navy-075); }
.tool-icon { position:relative; display:grid; place-items:center; width:38px; height:34px; }
.tool-icon .ui-icon { width:22px; height:22px; }
.tool-icon b { position:absolute; top:-2px; right:-2px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 5px; color:var(--white); background:var(--red-600); border-radius:999px; font-size:10.5px; font-weight:700; }
.catalog-row { position:relative; display:flex; align-items:stretch; gap:22px; height:56px; border-top:1px solid var(--line); }
.catalog-button { display:inline-flex; align-items:center; gap:12px; padding:0 22px; color:var(--white); background:var(--red-600); border:0; font-weight:700; font-size:15px; letter-spacing:.01em; cursor:pointer; transition:background .18s ease; }
.catalog-button:hover,.catalog-button[aria-expanded="true"] { background:var(--red-700); }
.catalog-button .ui-icon { width:18px; height:18px; }
.catalog-button .ui-icon:last-child { width:14px; transition:transform .2s ease; }
.catalog-button[aria-expanded="true"] .ui-icon:last-child { transform:rotate(180deg); }
.primary-nav { display:flex; flex:1; align-items:stretch; }
.nav-list { display:flex; align-items:stretch; gap:4px; margin:0; padding:0; list-style:none; }
.nav-list li { display:flex; }
.nav-list a { display:inline-flex; align-items:center; align-self:stretch; height:auto; padding:0 16px; white-space:nowrap; color:var(--navy-900); font-weight:600; font-size:14.5px; line-height:1; border-bottom:3px solid transparent; box-shadow:inset 0 3px 0 transparent; }
.nav-list a::after,.nav-list a::before { content:none; }
.nav-list a:hover,.nav-list .current-menu-item>a,.nav-list a[aria-current="page"] { color:var(--red-700); border-bottom-color:var(--red-600); }
.catalog-row__cta { display:inline-flex; align-items:center; gap:10px; margin-left:auto; padding:0 6px; color:var(--navy-800); font-weight:600; font-size:14px; }
.catalog-row__cta .ui-icon { width:18px; height:18px; color:var(--red-600); }
.catalog-row__cta:hover { color:var(--red-700); }
.mobile-menu-head,.mobile-menu-extra,.mobile-menu-quick,.mobile-menu-foot { display:none; }

/* ---------- Мега-меню ---------- */
.catalog-mega { position:absolute; z-index:90; top:100%; left:0; right:0; padding:0; background:var(--white); border:1px solid var(--line); border-top:0; box-shadow:0 30px 60px oklch(28% .04 258 / .18); }
.catalog-mega__mobile-head { display:none; }
.catalog-mega__inner { display:grid; grid-template-columns:300px minmax(0,1fr); min-height:420px; }
.catalog-mega__roots { margin:0; padding:10px 0; list-style:none; background:var(--navy-075); border-right:1px solid var(--line); }
.catalog-mega__roots>li>a { display:flex; align-items:center; gap:12px; padding:10px 18px; color:var(--navy-900); font-weight:600; font-size:14px; }
.catalog-mega__roots>li>a .ui-icon { width:20px; height:20px; color:var(--navy-500); }
.catalog-mega__roots>li>a .ui-icon:last-child { width:14px; margin-left:auto; opacity:0; }
.catalog-mega__roots>li>a.is-active,.catalog-mega__roots>li>a:hover { color:var(--red-700); background:var(--white); }
.catalog-mega__roots>li>a.is-active .ui-icon:first-child,.catalog-mega__roots>li>a:hover .ui-icon:first-child { color:var(--red-600); }
.catalog-mega__roots>li>a.is-active .ui-icon:last-child { opacity:1; }
.catalog-mega__panels { position:relative; padding:28px 32px; }
.catalog-mega__panel { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px 40px; }
.catalog-mega__panel-head { grid-column:1 / -1; display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.catalog-mega__panel-head h3 { margin:0; font-size:22px; }
.catalog-mega__all { display:inline-flex; align-items:center; gap:8px; color:var(--red-700); font-weight:600; font-size:14px; }
.catalog-mega__all .ui-icon { width:15px; height:15px; }
.catalog-mega__links { columns:2; column-gap:28px; margin:0; padding:0; list-style:none; }
.catalog-mega__links li { break-inside:avoid; }
.catalog-mega__links a { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.catalog-mega__links a:hover { color:var(--red-700); }
.catalog-mega__links small { color:var(--muted); font-size:12px; }
.catalog-mega__cover { align-self:start; overflow:hidden; border-radius:6px; }
.catalog-mega__cover img { width:100%; aspect-ratio:4/3; object-fit:cover; }

/* ---------- Первый экран ---------- */
.hero { background:var(--paper); padding:clamp(40px,6vw,72px) 0 clamp(36px,5vw,56px); }
.hero__inner { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:clamp(32px,5vw,72px); }
.hero h1 { margin:0 0 18px; font-size:clamp(28px,3.4vw,46px); font-weight:700; line-height:1.06; letter-spacing:-.015em; }
.hero__lead { max-width:56ch; margin:0 0 26px; color:var(--muted); font-size:17px; line-height:1.55; }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:34px; }
.hero__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.hero__facts li { display:grid; gap:6px; padding:16px 18px 0 0; }
.hero__facts li+li { padding-left:18px; border-left:1px solid var(--line); }
.hero__facts strong { font-family:var(--font-display); font-size:26px; font-weight:700; color:var(--red-600); line-height:1; }
.hero__facts span { color:var(--muted); font-size:13px; line-height:1.4; }
.hero__visual { position:relative; margin:0; }
.hero { overflow-x:clip; }
.hero::before,.hero::after { content:none; }
.hero__visual::before { content:""; position:absolute; inset:auto -14px -14px 40px; height:38%; background:var(--stripe); opacity:.9; z-index:0; }
.hero__visual img { position:relative; z-index:1; width:100%; aspect-ratio:1/1; object-fit:cover; object-position:70% center; border-radius:6px; }
.hero__visual figcaption { position:absolute; z-index:2; left:18px; bottom:18px; padding:8px 12px; color:var(--white); background:oklch(22% .03 260 / .8); font-size:12px; border-radius:3px; }

/* ---------- Быстрый калькулятор ---------- */
.calc-quick { color:var(--white); background:var(--navy-950); padding:clamp(40px,5vw,64px) 0; }
.calc-quick__inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:start; }
.calc-quick__inner>* { min-width:0; }
.calc-quick h2 { margin:0 0 14px; color:var(--white); font-size:clamp(24px,2.6vw,34px); }
.calc-quick__copy p { margin:0; color:oklch(82% .02 250); font-size:15px; line-height:1.6; }
.calc-quick__form { display:grid; gap:14px; }
.calc-quick__form label { display:grid; gap:6px; }
.calc-quick__form label:not(.check)>span { font-size:12.5px; font-weight:600; color:oklch(82% .02 250); text-transform:uppercase; letter-spacing:.06em; }
.calc-quick__form input,.calc-quick__form select { width:100%; min-width:0; height:48px; padding:0 14px; color:var(--ink); background:var(--white); border:2px solid transparent; border-radius:4px; font-size:15px; }
.calc-quick__form input:focus,.calc-quick__form select:focus { outline:0; border-color:var(--red-500); }
.calc-quick__flags { display:grid; gap:8px; margin:0; padding:0; border:0; }
.calc-quick__form .check,.check { display:flex; flex-direction:row; align-items:flex-start; gap:10px; font-size:14px; line-height:1.4; cursor:pointer; }
.calc-quick__form .check>span { font-size:14px; font-weight:400; text-transform:none; letter-spacing:0; color:var(--white); }
.check input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--red-600); }
.calc-quick__result { min-height:260px; padding:24px; color:var(--ink); background:var(--white); border-radius:6px; }
.calc-quick__placeholder { display:grid; place-items:center; gap:12px; height:100%; text-align:center; color:var(--muted); }
.calc-quick__placeholder .ui-icon { width:40px; height:40px; color:var(--navy-300); }
.calc-quick__placeholder p { margin:0; max-width:32ch; font-size:14px; }
.calc-quick__total { display:flex; align-items:baseline; gap:12px; margin-bottom:10px; }
.calc-quick__total strong { font-family:var(--font-display); font-size:52px; font-weight:800; line-height:1; color:var(--red-600); }
.calc-quick__total span { font-size:15px; font-weight:600; }
.calc-quick__note { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.5; }
.calc-quick__models { display:grid; gap:8px; margin:0 0 16px; padding:0; list-style:none; }
.calc-quick__models li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:var(--navy-075); border-radius:4px; }
.calc-quick__models a,.calc-quick__models span { display:grid; gap:2px; min-width:0; }
.calc-quick__models strong { font-size:15px; }
.calc-quick__models small { color:var(--muted); font-size:12px; }
.calc-quick__models b { flex:0 0 auto; font-family:var(--font-display); font-size:15px; color:var(--navy-900); }
.calc-quick__actions { display:flex; flex-wrap:wrap; gap:10px; }
.calc-quick__actions .button { padding:12px 16px; font-size:14px; }
.calc-quick__disclaimer { margin:14px 0 0; color:var(--muted); font-size:11.5px; line-height:1.45; }

/* ---------- Сценарии ---------- */
.home-scenarios { padding:clamp(40px,6vw,80px) 0 0; }
.scenario-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; background:var(--line); border:1px solid var(--line); }
.scenario { display:grid; align-content:start; gap:12px; padding:26px 22px 28px; background:var(--white); transition:background .18s ease; }
.scenario:hover { background:var(--navy-075); }
.scenario .ui-icon { width:30px; height:30px; color:var(--red-600); stroke-width:1.6; }
.scenario strong { font-size:17px; line-height:1.25; }
.scenario span { color:var(--muted); font-size:14px; line-height:1.5; }

/* ---------- Плитки каталога ---------- */
.home-catalog { padding:clamp(40px,6vw,80px) 0 0; }
.category-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.category-tile { position:relative; display:grid; grid-template-rows:auto 1fr; min-height:220px; overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:6px; transition:transform .2s ease,box-shadow .2s ease; }
.category-tile:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.category-tile--wide { grid-column:span 2; grid-template-rows:none; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.category-tile img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.category-tile--wide img { height:100%; aspect-ratio:auto; }
.category-tile__icon { display:grid; place-items:center; aspect-ratio:4/3; background:var(--navy-075); }
.category-tile__icon .ui-icon { width:44px; height:44px; color:var(--navy-500); stroke-width:1.4; }
.category-tile__body { display:grid; align-content:start; gap:8px; padding:16px 18px 18px; }
.category-tile__body strong { font-size:16px; line-height:1.25; }
.category-tile__body small { color:var(--muted); font-size:12.5px; line-height:1.45; }
.category-tile--wide .category-tile__body { align-content:center; padding:24px; }
.category-tile--wide strong { font-size:22px; }

/* ---------- Товары на главной ---------- */
.home-products { padding:clamp(40px,6vw,80px) 0 0; }

/* ---------- Услуги ---------- */
.home-services { padding:clamp(40px,6vw,80px) 0 0; }
.service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.service-card { display:grid; gap:10px; }
.service-card__media { position:relative; display:block; overflow:hidden; aspect-ratio:4/3; background:var(--navy-075); border-radius:6px; }
.service-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.service-card:hover .service-card__media img { transform:scale(1.03); }
.service-card__media i { position:absolute; left:12px; bottom:12px; display:grid; place-items:center; width:40px; height:40px; color:var(--white); background:var(--red-600); border-radius:4px; }
.service-card__media i .ui-icon { width:20px; height:20px; }
.service-card strong { font-size:16px; line-height:1.3; }
.service-card__more { display:inline-flex; align-items:center; gap:6px; color:var(--navy-700); font-size:13px; font-weight:600; }
.service-card__more .ui-icon { width:14px; height:14px; }
.service-card:hover .service-card__more { color:var(--red-700); }

/* ---------- Как работаем ---------- */
.home-process { margin-top:clamp(40px,6vw,80px); color:var(--white); background:var(--navy-900); padding:clamp(40px,5vw,64px) 0; }
.home-process h2 { color:var(--white); }
.process-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin:0; padding:0; list-style:none; counter-reset:step; }
.process-steps li { display:grid; gap:10px; padding-top:18px; border-top:2px solid oklch(100% 0 0 / .25); counter-increment:step; }
.process-steps li::before { content:counter(step,decimal-leading-zero); font-family:var(--font-display); font-size:13px; color:var(--red-500); letter-spacing:.1em; }
.process-steps strong { font-size:17px; line-height:1.3; }
.process-steps span { color:oklch(82% .02 250); font-size:14px; line-height:1.55; }

/* ---------- Документы ---------- */
.home-docs { padding:clamp(40px,6vw,80px) 0 0; }
.home-delivery { padding:clamp(40px,6vw,80px) 0; }
.home-docs__inner,.home-delivery__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:clamp(24px,4vw,64px); align-items:center; }
.home-docs h2,.home-delivery h2 { margin:14px 0 12px; font-size:clamp(24px,2.6vw,34px); }
.home-docs__copy p,.home-delivery__copy p { max-width:52ch; margin:0 0 20px; color:var(--muted); line-height:1.6; }
.home-docs__badges,.home-delivery__cards { display:grid; gap:12px; }
.doc-badge { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:16px; align-items:center; padding:18px 20px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.doc-badge .ui-icon { grid-row:span 2; width:32px; height:32px; color:var(--red-600); stroke-width:1.5; }
.doc-badge strong { font-size:16px; }
.doc-badge span { color:var(--muted); font-size:13px; }

/* ---------- Статьи ---------- */
.home-articles { padding:clamp(40px,6vw,80px) 0; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.article-card { display:grid; gap:8px; }
.article-card__media { display:block; overflow:hidden; aspect-ratio:16/10; background:var(--navy-075); border-radius:6px; }
.article-card__media img { width:100%; height:100%; object-fit:cover; }
.article-card time { color:var(--muted); font-size:12.5px; }
.article-card strong { font-size:17px; line-height:1.35; }
.article-card:hover strong { color:var(--red-700); }

/* ---------- Полоса заявки ---------- */
.request-band { color:var(--white); background:var(--navy-950); padding:clamp(40px,5vw,64px) 0; }
.request-band__inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,5vw,72px); align-items:start; }
.request-band h2 { margin:0 0 14px; color:var(--white); font-size:clamp(24px,2.6vw,34px); }
.request-band__copy p { color:oklch(82% .02 250); line-height:1.6; }
.request-band__phone { display:inline-flex; align-items:center; gap:10px; margin-top:14px; color:var(--white); }
.request-band__phone .ui-icon { width:18px; height:18px; color:var(--red-500); }
.request-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; }
.request-form label { display:grid; gap:6px; min-width:0; }
.request-band__inner>* { min-width:0; }
.request-form .form-consent>span { font-size:12.5px; line-height:1.45; color:oklch(80% .02 250); }
.request-form label:not(.form-consent)>span { font-size:12.5px; font-weight:600; color:oklch(82% .02 250); text-transform:uppercase; letter-spacing:.06em; }
.request-form input[type="text"],.request-form input[type="tel"],.request-form textarea { width:100%; padding:13px 14px; color:var(--ink); background:var(--white); border:2px solid transparent; border-radius:4px; font-size:15px; }
.request-form input:focus,.request-form textarea:focus { outline:0; border-color:var(--red-500); }
.request-form .form-wide { grid-column:1 / -1; }
.form-consent { display:flex!important; align-items:flex-start; gap:10px; font-size:13px; line-height:1.45; color:oklch(88% .015 250); }
.form-consent input { width:18px; height:18px; margin-top:2px; accent-color:var(--red-600); }
.form-consent a { text-decoration:underline; color:var(--white); }
.form-submit { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.form-submit small { color:oklch(78% .02 250); font-size:13px; }
.form-status { padding:12px 14px; border-radius:4px; font-size:14px; }
.form-status.is-success { color:var(--navy-950); background:oklch(90% .08 150); }
.form-status.is-error { color:var(--navy-950); background:oklch(92% .06 27); }
.hp-field { position:absolute!important; left:-9999px; }

/* ---------- Подвал ---------- */
.site-footer { color:oklch(88% .015 250); background:var(--navy-950); padding:clamp(40px,5vw,64px) 0 28px; }
.footer-top { display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,56px); }
.footer-brand img { width:220px; height:auto; }
.footer-intro p { margin:16px 0 20px; max-width:44ch; color:oklch(78% .02 250); font-size:14px; line-height:1.6; }
.footer-contacts { display:grid; gap:10px; font-size:14px; }
.footer-contacts>a,.footer-contacts>span { display:inline-flex; align-items:center; gap:10px; color:var(--white); }
.footer-contacts .ui-icon { width:16px; height:16px; color:var(--red-500); }
.footer-column strong { display:block; margin-bottom:14px; color:var(--white); font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.footer-column ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.footer-column a { color:oklch(82% .02 250); font-size:14px; }
.footer-column a:hover { color:var(--white); }
.footer-more { color:var(--white)!important; font-weight:600; }
.footer-legal { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:clamp(28px,4vw,48px); padding-top:24px; border-top:1px solid oklch(100% 0 0 / .12); }
.footer-entity { display:grid; gap:4px; }
.footer-entity span { color:oklch(70% .02 250); font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; }
.footer-entity strong { color:var(--white); font-size:15px; }
.footer-entity small { color:oklch(78% .02 250); font-size:12.5px; line-height:1.5; }
.footer-docs { display:grid; gap:8px; align-content:start; }
.footer-docs a { color:oklch(82% .02 250); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.footer-docs a:hover { color:var(--white); }
.footer-meta { position:relative; margin-top:28px; }
.footer-meta p { margin:0; padding-right:70px; color:oklch(70% .02 250); font-size:12.5px; line-height:1.5; }
/* Подпись разработчика — неброско, в тон строки копирайта */
.footer-meta .made { white-space:nowrap; opacity:.7; }
.footer-meta .made a { color:inherit; text-decoration:none; }
.footer-meta .made a:hover { text-decoration:underline; }
.scroll-top { position:absolute; right:0; bottom:0; display:grid; place-items:center; width:44px; height:44px; color:var(--white); background:var(--navy-800); border:0; border-radius:4px; }
.scroll-top .ui-icon { width:18px; height:18px; }
.scroll-top:hover { background:var(--red-600); }

/* ---------- Адаптив ---------- */
@media (max-width:1180px) {
	.header-row { grid-template-columns:auto minmax(200px,1fr) auto; }
	.header-contact { display:none; }
	.hero__facts strong { font-size:22px; }
	.category-tiles,.service-grid,.scenario-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.category-tile--wide { grid-column:span 3; }
	.calc-quick__inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
	.calc-quick__copy { grid-column:1 / -1; }
	.footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px) {
	.service-bar { display:none; }
	.header-row { min-height:72px; grid-template-columns:auto 1fr auto; gap:14px; }
	.brand-tagline { display:none; }
	.brand-logo { height:34px; }
	.header-search { order:3; grid-column:1 / -1; height:46px; margin-bottom:12px; }
	.header-tools>a,.header-tools>button { min-width:auto; }
	.header-tools small { display:none; }
	.menu-toggle { display:inline-flex; align-items:center; gap:8px; padding:8px 10px; background:transparent; border:2px solid var(--navy-150); border-radius:4px; font-weight:600; font-size:14px; }
	.menu-toggle .ui-icon { width:20px; height:20px; }
	.catalog-row { flex-wrap:wrap; gap:8px; min-height:0; padding:10px 0; }
	.catalog-button { height:44px; padding:0 16px; }
	.catalog-row__cta { margin-left:0; }
	.primary-nav { position:fixed; z-index:200; inset:0; display:none; flex-direction:column; overflow:auto; padding:0 0 40px; background:var(--white); }
	.primary-nav.is-open { display:flex; }
	.mobile-menu-head { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--line); }
	.mobile-menu-head button { display:grid; place-items:center; width:40px; height:40px; background:var(--navy-075); border:0; border-radius:4px; }
	.mobile-menu-head .ui-icon { width:20px; height:20px; }
	.nav-list { flex-direction:column; gap:0; padding:8px 0; border-bottom:1px solid var(--line); }
	.nav-list a { padding:12px 18px; border:0; font-size:16px; }
	.mobile-menu-extra { display:grid; gap:8px; padding:16px 18px; }
	.mobile-menu-extra>span { margin-top:12px; color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
	.mobile-catalog { margin:0; padding:0; list-style:none; }
	.mobile-catalog>li { border-bottom:1px solid var(--line); }
	.mobile-catalog>li>a,.mobile-catalog summary { display:flex; align-items:center; justify-content:space-between; padding:12px 0; font-weight:600; font-size:15px; list-style:none; cursor:pointer; }
	.mobile-catalog summary::-webkit-details-marker { display:none; }
	.mobile-catalog summary .ui-icon { width:18px; height:18px; transition:transform .2s ease; }
	.mobile-catalog details[open] summary .ui-icon { transform:rotate(180deg); }
	.mobile-catalog details ul { margin:0 0 10px; padding:0 0 0 14px; list-style:none; }
	.mobile-catalog details li a { display:block; padding:8px 0; color:var(--navy-800); font-size:14.5px; }
	.mobile-menu-extra__links { display:grid; gap:6px; }
	.mobile-menu-extra__links a { padding:8px 0; font-size:15px; }
	.mobile-menu-extra__phone { display:inline-flex; align-items:center; gap:10px; margin-top:8px; font-family:var(--font-display); font-size:18px; font-weight:700; }
	.mobile-menu-extra__phone .ui-icon { width:20px; height:20px; color:var(--red-600); }
	.catalog-mega { position:fixed; inset:0; z-index:210; overflow:auto; border:0; }
	.catalog-mega__mobile-head { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--line); font-size:16px; }
	.catalog-mega__mobile-head button { display:grid; place-items:center; width:40px; height:40px; background:var(--navy-075); border:0; border-radius:4px; }
	.catalog-mega__mobile-head .ui-icon { width:20px; height:20px; }
	.catalog-mega__inner { grid-template-columns:1fr; min-height:0; }
	.catalog-mega__roots { border:0; }
	.catalog-mega__panels { padding:0; }
	.catalog-mega__roots li .catalog-mega__panel { padding:4px 18px 16px 50px; background:var(--white); }
	.catalog-mega__roots li .catalog-mega__panel-head h3 { font-size:15px; }
	.catalog-mega__roots>li>a .ui-icon:last-child { opacity:1; transform:rotate(90deg); transition:transform .2s; }
	.catalog-mega__roots>li>a.is-open .ui-icon:last-child { transform:rotate(-90deg); }
	.catalog-mega__roots>li>a.is-active { color:var(--navy-900); background:transparent; }
	.catalog-mega__roots>li>a.is-open,.catalog-mega__roots>li>a.is-active.is-open { color:var(--red-700); background:var(--white); }
	.catalog-mega__roots li .catalog-mega__panel-head h3 { display:none; }
	.catalog-mega__roots li .catalog-mega__panel-head { justify-content:flex-start; }
	.catalog-mega__links { columns:1; }
	.catalog-mega__panel { grid-template-columns:1fr; }
	.catalog-mega__cover { display:none; }
	.hero__inner { grid-template-columns:1fr; }
	.hero__visual { order:-1; }
	.hero__visual img { aspect-ratio:16/10; }
	.process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.home-docs__inner,.home-delivery__inner,.request-band__inner { grid-template-columns:1fr; }
	.article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
	.hero { padding:22px 0 32px; }
	.hero h1 { font-size:clamp(26px,7.5vw,34px); }
	.hero__facts { grid-template-columns:1fr; border-top:0; }
	.hero__facts li { grid-template-columns:auto 1fr; align-items:center; gap:14px; padding:12px 0; border-top:1px solid var(--line); }
	.hero__facts li+li { padding-left:0; border-left:0; }
	.hero__facts strong { font-size:22px; min-width:64px; }
	.section-heading { flex-direction:column; align-items:flex-start; gap:12px; }
	.section-heading--split>div { flex-direction:column; align-items:flex-start; gap:12px; }
	.section-number { width:44px; height:44px; font-size:15px; }
	.calc-quick__inner { grid-template-columns:1fr; }
	.calc-quick__result { min-height:0; }
	.calc-quick__total strong { font-size:44px; }
	.scenario-grid,.category-tiles,.service-grid,.process-steps,.article-grid,.footer-top,.footer-legal { grid-template-columns:1fr; }
	.category-tile--wide { grid-column:auto; grid-template-columns:1fr; }
	.category-tile--wide img { aspect-ratio:4/3; height:auto; }
	.request-form { grid-template-columns:1fr; }
	.footer-meta p { padding-right:0; margin-bottom:12px; }
}

/* ---------- Категория ---------- */
.page-hero { padding:clamp(24px,4vw,40px) 0 clamp(24px,4vw,40px); background:var(--paper); }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:18px; color:var(--muted); font-size:13px; }
.breadcrumbs a:hover { color:var(--red-700); }
.breadcrumbs em { font-style:normal; color:var(--ink); }
.category-hero__inner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(24px,4vw,56px); align-items:center; }
.category-hero:not(.category-hero--cover) .category-hero__inner { grid-template-columns:1fr; }
.category-hero h1 { margin:0 0 14px; font-size:clamp(26px,3.2vw,42px); }
.category-hero h1 small { display:block; margin-top:6px; color:var(--muted); font-family:var(--font-text); font-size:15px; font-weight:500; }
.category-hero__intro { max-width:60ch; margin:0 0 22px; color:var(--muted); font-size:16px; line-height:1.6; }
.category-hero__actions { display:flex; flex-wrap:wrap; gap:12px; }
.category-hero__visual { margin:0; }
.category-hero__visual img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
.category-children { padding:8px 0 0; }
.category-children__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.category-children__grid--roots { grid-template-columns:repeat(5,minmax(0,1fr)); }
.child-tile { display:grid; gap:8px; padding:10px; background:var(--white); border:1px solid var(--line); border-radius:6px; transition:border-color .18s ease,transform .18s ease; }
.child-tile:hover { border-color:var(--navy-500); transform:translateY(-2px); }
.child-tile__media { display:grid; place-items:center; overflow:hidden; aspect-ratio:4/3; background:var(--navy-075); border-radius:4px; }
.child-tile__media img { width:100%; height:100%; object-fit:cover; }
.child-tile__media .ui-icon { width:36px; height:36px; color:var(--navy-500); stroke-width:1.5; }
.child-tile strong { padding:0 4px; font-size:14.5px; line-height:1.3; }
.child-tile small { padding:0 4px 4px; color:var(--muted); font-size:12px; }
.category-siblings { padding:6px 0 0; }
.category-siblings .site-shell { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; }
.category-siblings span { color:var(--muted); }
.category-siblings a { padding:6px 12px; background:var(--white); border:1px solid var(--line); border-radius:999px; font-weight:500; }
.category-siblings a:hover { border-color:var(--navy-500); }
.catalog-section { padding-top:clamp(20px,3vw,32px); }
.category-text { padding:clamp(32px,5vw,64px) 0; }
.category-text__inner { max-width:900px; }
.category-text__body { max-width:75ch; font-size:16px; line-height:1.65; }
.category-text__body h2,.category-text__body h3 { margin-top:1.4em; }
.section-number .ui-icon { width:22px; height:22px; }

/* ---------- Товар ---------- */
.product-breadcrumbs { padding-top:20px; }
.product-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(24px,4vw,56px); padding-top:8px; }
.product-media { position:relative; background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.product-media__zoom { display:block; width:100%; padding:0; background:transparent; border:0; cursor:zoom-in; }
.product-media__zoom img { width:100%; aspect-ratio:1/1; object-fit:contain; padding:24px; }
.product-media__zoom>.product-media__hint { position:absolute; left:auto; right:12px; bottom:12px; display:grid; place-items:center; width:40px; height:40px; padding:0; color:var(--navy-900); background:var(--white); border:1px solid var(--line); border-radius:50%; box-shadow:0 4px 14px oklch(28% .04 258 / .12); pointer-events:none; }
.product-media__zoom>.product-media__hint .ui-icon { width:18px; height:18px; margin:0; color:var(--navy-900); }
.product-media__zoom:hover>.product-media__hint { color:var(--white); background:var(--red-600); border-color:var(--red-600); }
.product-media__zoom:hover>.product-media__hint .ui-icon { color:var(--white); }
.product-gallery-thumbs { display:flex; gap:8px; margin-top:10px; }
.product-gallery-thumbs button { width:72px; height:72px; padding:4px; background:var(--white); border:2px solid var(--line); border-radius:4px; }
.product-gallery-thumbs button.is-active { border-color:var(--red-600); }
.product-gallery-thumbs img { width:100%; height:100%; object-fit:contain; }
.product-status-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:14px; font-size:13px; }
.product-availability { display:inline-flex; align-items:baseline; gap:8px; color:var(--green); font-size:13.5px; font-weight:600; text-transform:none; letter-spacing:normal; }
.product-availability i { width:8px; height:8px; background:currentColor; border-radius:50%; }
.product-availability.is-order { color:var(--amber); }
.product-availability.is-outofstock { color:var(--muted); }
.product-sku { color:var(--muted); }
.product-sku b { color:var(--ink); font-weight:600; }
.product-info h1 { margin:0 0 12px; font-size:clamp(24px,2.6vw,34px); }
.product-excerpt { margin:0 0 18px; color:var(--muted); font-size:15px; line-height:1.55; }
.product-specs-short { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; margin:0 0 22px; padding:0; }
.product-specs-short div { display:grid; gap:2px; padding:10px 12px; background:var(--navy-075); border-radius:4px; }
.product-specs-short dt { color:var(--muted); font-size:12px; }
.product-specs-short dd { margin:0; font-weight:600; font-size:14px; }
.product-buy { display:grid; gap:16px; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.product-buy__price { display:grid; gap:4px; }
.product-buy__price>span:first-child { color:var(--muted); font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; }
.product-buy__price strong { font-family:var(--font-display); font-size:32px; font-weight:700; }
.product-buy__price del { color:var(--muted); font-size:15px; }
.product-buy__actions { display:flex; flex-wrap:wrap; gap:10px; }
.product-favorite-button { display:grid; place-items:center; width:50px; height:50px; background:var(--white); border:2px solid var(--navy-300); border-radius:4px; color:var(--navy-900); }
.product-favorite-button .ui-icon { width:20px; height:20px; }
.product-favorite-button.is-active { color:var(--red-600); border-color:var(--red-600); }
.product-buy small { color:var(--muted); font-size:13px; line-height:1.5; }
.product-assurance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.product-assurance>div { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; }
.product-assurance .ui-icon { width:22px; height:22px; color:var(--red-600); stroke-width:1.6; }
.product-assurance strong { display:block; font-size:13.5px; }
.product-assurance small { color:var(--muted); font-size:12px; line-height:1.4; }
.product-details { padding-top:clamp(28px,4vw,48px); }
.product-tabs__nav { display:flex; flex-wrap:wrap; gap:0; border-bottom:2px solid var(--line); }
.product-tabs__nav button { padding:12px 18px; margin-bottom:-2px; background:transparent; border:0; border-bottom:2px solid transparent; font-weight:600; font-size:15px; color:var(--muted); }
.product-tabs__nav button[aria-selected="true"] { color:var(--ink); border-color:var(--red-600); }
.product-tab-panel { padding:24px 0; }
.product-tab-copy { max-width:75ch; line-height:1.65; }
.product-specs { width:100%; max-width:760px; border-collapse:collapse; font-size:15px; }
.product-specs th,.product-specs td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.product-specs th { width:40%; color:var(--muted); font-weight:500; }
.product-tab-note { max-width:60ch; color:var(--muted); }
.product-docs { display:grid; gap:8px; margin:0; padding:0; list-style:none; max-width:600px; }
.product-docs a { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:12px 14px; background:var(--white); border:1px solid var(--line); border-radius:4px; }
.product-docs .ui-icon { width:22px; height:22px; color:var(--red-600); }
.product-docs small { color:var(--muted); font-size:12px; }
.product-delivery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.product-delivery-grid article { padding:16px; background:var(--navy-075); border-radius:4px; }
.product-delivery-grid span { display:block; margin-bottom:6px; font-weight:600; }
.product-delivery-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.product-related,.product-recent { padding-top:clamp(32px,5vw,64px); padding-bottom:clamp(28px,4vw,52px); }
.product-reviews { padding:clamp(32px,5vw,64px) 0; }

/* ---------- Страницы и услуги ---------- */
.content-hero h1 { margin:0 0 12px; font-size:clamp(26px,3.2vw,42px); }
.content-hero h1 small { display:block; margin-top:6px; color:var(--muted); font-family:var(--font-text); font-size:15px; font-weight:500; }
.content-hero__lead { max-width:64ch; margin:0; color:var(--muted); font-size:16px; line-height:1.6; }
.content-layout,.service-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(24px,4vw,64px); padding:clamp(24px,4vw,48px) 0 clamp(32px,5vw,64px); }
.entry-content { font-size:16px; line-height:1.65; }
.entry-content>*:first-child { margin-top:0; }
.entry-content h2 { margin:1.6em 0 .6em; font-size:clamp(22px,2.2vw,28px); }
.entry-content h3 { margin:1.4em 0 .5em; font-size:19px; }
.entry-content p,.entry-content ul,.entry-content ol { max-width:75ch; }
.entry-content img { border-radius:6px; }
.entry-content table { width:100%; border-collapse:collapse; font-size:15px; }
.entry-content th,.entry-content td { padding:10px 12px; border:1px solid var(--line); text-align:left; }
.entry-content th { background:var(--navy-075); }
.entry-content a { color:var(--red-700); text-decoration:underline; text-underline-offset:3px; }
.aside-card { display:grid; gap:12px; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.aside-card+.aside-card { margin-top:14px; }
.aside-card--muted { background:var(--navy-075); }
.aside-card>strong { font-size:16px; }
.aside-card ol { margin:0; padding-left:18px; color:var(--muted); font-size:14px; line-height:1.55; }
.aside-card ol li+li { margin-top:6px; }
.aside-card p { margin:0; color:var(--muted); font-size:14px; }
.aside-phone { font-family:var(--font-display); font-size:20px; font-weight:700; }
.aside-links { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.aside-links a { display:block; padding:7px 0; border-bottom:1px solid var(--line); font-size:14px; }
.aside-links a:hover { color:var(--red-700); }
.service-hero__inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(24px,4vw,56px); align-items:center; }
.service-hero:not(.service-hero--cover) .service-hero__inner { grid-template-columns:1fr; }
.service-hero h1 { margin:0 0 14px; font-size:clamp(26px,3.2vw,42px); }
.service-hero__lead { max-width:60ch; margin:0 0 20px; color:var(--muted); font-size:16px; line-height:1.6; }
.service-hero__facts { display:flex; flex-wrap:wrap; gap:24px; margin-bottom:22px; }
.service-hero__facts div { display:grid; gap:4px; }
.service-hero__facts span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.service-hero__facts strong { font-size:16px; }
.service-hero__visual { margin:0; }
.service-hero__visual img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }

/* ---------- 404 ---------- */
.error-page { padding:clamp(40px,6vw,80px) 0; }
.error-page__layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,64px); align-items:center; }
.error-page__visual { display:grid; gap:12px; }
.error-page__code { font-family:var(--font-display); font-size:clamp(80px,12vw,160px); font-weight:800; line-height:1; color:var(--navy-950); }
.error-page__visual small { color:var(--muted); }
.error-page h1 { margin:0 0 12px; font-size:clamp(26px,3vw,40px); }
.error-page__search { display:flex; align-items:center; gap:10px; max-width:520px; margin:20px 0; padding:6px 6px 6px 16px; background:var(--white); border:2px solid var(--navy-150); border-radius:4px; }
.error-page__search .ui-icon { width:20px; height:20px; color:var(--navy-500); }
.error-page__search input { flex:1; min-width:0; border:0; outline:0; font-size:15px; background:transparent; }
.error-page__search button { padding:10px 16px; color:var(--white); background:var(--navy-900); border:0; border-radius:3px; font-weight:600; }
.error-page__actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.error-page__links { display:flex; flex-wrap:wrap; gap:8px 14px; color:var(--muted); font-size:14px; }
.error-page__links a { text-decoration:underline; text-underline-offset:3px; }

@media (max-width:960px) {
	.category-hero__inner,.service-hero__inner,.product-layout,.content-layout,.service-layout,.error-page__layout { grid-template-columns:1fr; }
	.category-children__grid,.category-children__grid--roots { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.product-delivery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.product-assurance { grid-template-columns:1fr; }
}
@media (max-width:640px) {
	.category-children__grid,.category-children__grid--roots { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.product-delivery-grid,.product-specs-short { grid-template-columns:1fr; }
	.product-media__zoom img { padding:12px; }
	.product-buy__actions .button { flex:1 1 auto; justify-content:center; }
}

/* ---------- Калькулятор ---------- */
.calc-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,56px); padding:clamp(24px,4vw,48px) 0; align-items:start; }
.calc-form { display:grid; gap:16px; padding:24px; background:var(--white); border:1px solid var(--line); border-radius:6px; position:sticky; top:16px; }
.calc-form h2 { margin:0; font-size:20px; }
.calc-form label:not(.check) { display:grid; gap:6px; }
.calc-form label:not(.check):not(.calc-kind)>span { font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.calc-form input:not([type="checkbox"]),.calc-form select { width:100%; min-width:0; height:48px; padding:0 14px; color:var(--ink); background:var(--white); border:2px solid var(--navy-150); border-radius:4px; font-size:15px; }
.calc-form input:not([type="checkbox"]):focus,.calc-form select:focus { outline:0; border-color:var(--navy-700); }
.calc-form__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.calc-form__flags { display:grid; gap:10px; margin:0; padding:0; border:0; }
.calc-form__flags legend { margin-bottom:4px; font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.calc-form .check { display:flex; flex-direction:row; align-items:flex-start; gap:10px; font-size:14px; line-height:1.4; }
.calc-form .check input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--red-600); }
.calc-form__hint { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.calc-form__hint a { text-decoration:underline; }
.calc-result { display:grid; gap:20px; padding:28px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.calc-result__head { display:grid; gap:12px; }
.calc-result__total { display:flex; align-items:center; gap:18px; }
.calc-result__total strong { font-family:var(--font-display); font-size:64px; font-weight:800; line-height:1; color:var(--red-600); }
.calc-result__total span { font-size:17px; font-weight:600; line-height:1.3; }
.calc-result__total small { color:var(--muted); font-size:13px; font-weight:400; }
.calc-table { width:100%; border-collapse:collapse; font-size:14px; }
.calc-table caption { margin-bottom:8px; text-align:left; font-weight:600; font-size:13px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.calc-table th,.calc-table td { padding:9px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.calc-table th { width:34%; color:var(--muted); font-weight:500; }
.calc-result h3 { margin:6px 0 0; font-size:18px; }
.calc-lines { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.calc-line { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:16px; align-items:center; padding:12px; background:var(--navy-075); border-radius:6px; }
.calc-line__image { display:grid; place-items:center; width:72px; height:72px; background:var(--white); border-radius:4px; overflow:hidden; }
.calc-line__image img { width:100%; height:100%; object-fit:contain; }
.calc-line__image .ui-icon { width:28px; height:28px; color:var(--red-600); }
.calc-line__body { display:grid; gap:4px; min-width:0; }
.calc-line__body strong { font-size:16px; }
.calc-line__body strong small { color:var(--muted); font-weight:500; font-size:12.5px; }
.calc-line__body em { color:var(--muted); font-size:13px; font-style:normal; }
.calc-line__body span { font-size:13.5px; }
.calc-line__body span a { text-decoration:underline; }
.calc-line__qty { display:grid; justify-items:end; gap:8px; }
.calc-line__qty b { font-family:var(--font-display); font-size:18px; }
.calc-line__qty .button { padding:10px 14px; font-size:13px; }
.calc-result__sum { margin:0; font-size:14px; color:var(--muted); }
.calc-result__actions { display:flex; flex-wrap:wrap; gap:12px; }
.calc-result__disclaimer { margin:0; color:var(--muted); font-size:12.5px; line-height:1.5; }
.calc-norms { padding:clamp(24px,4vw,48px) 0; }
.calc-norms__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.calc-norms__grid article { padding:20px 22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.calc-norms__grid strong { display:block; margin-bottom:8px; font-size:16px; }
.calc-norms__grid p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.55; }
.calc-content { padding-bottom:clamp(24px,4vw,48px); }
.calc-hub { padding:clamp(24px,4vw,48px) 0 clamp(32px,5vw,64px); }
.calc-hub__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.calc-card { display:grid; align-content:start; gap:12px; padding:26px; background:var(--white); border:1px solid var(--line); border-radius:6px; transition:transform .18s ease,box-shadow .18s ease; }
.calc-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.calc-card>.ui-icon { width:34px; height:34px; color:var(--red-600); stroke-width:1.5; }
.calc-card strong { font-size:19px; line-height:1.25; }
.calc-card p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.55; }
.calc-card>span { display:inline-flex; align-items:center; gap:8px; margin-top:6px; color:var(--red-700); font-weight:600; font-size:14px; }
.calc-card>span .ui-icon { width:16px; height:16px; }
.calc-card--soon>span { color:var(--navy-700); }
.calc-hub__content,.services-list__content { margin-top:clamp(24px,4vw,48px); max-width:75ch; }

/* ---------- Услуги (список) ---------- */
.services-list { padding:clamp(24px,4vw,48px) 0 clamp(32px,5vw,64px); }
.service-grid--full { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-grid--full .service-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }

/* ---------- Контакты ---------- */
.contacts-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(20px,3vw,40px); padding:clamp(24px,4vw,48px) 0; }
.contacts-cards { display:grid; gap:12px; align-content:start; }
.contact-card { display:grid; grid-template-columns:auto 1fr; grid-auto-rows:auto; column-gap:16px; padding:18px 20px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.contact-card>.ui-icon { grid-row:span 3; width:26px; height:26px; color:var(--red-600); stroke-width:1.6; }
.contact-card>span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.contact-card>strong { margin-top:4px; font-size:17px; }
.contact-card>small { margin-top:4px; color:var(--muted); font-size:13px; line-height:1.5; }
.contact-card--entities>.ui-icon { grid-row:span 5; }
.contact-card--entities>strong:nth-of-type(2) { margin-top:12px; }
.contacts-map { min-height:420px; background:var(--navy-075); border-radius:6px; overflow:hidden; }
.contacts-map iframe { display:block; width:100%; height:100%; min-height:420px; border:0; }
.contacts-map__placeholder { display:grid; place-items:center; align-content:center; gap:12px; height:100%; min-height:420px; text-align:center; color:var(--muted); }
.contacts-map__placeholder .ui-icon { width:40px; height:40px; color:var(--red-600); }
.contacts-content { padding-bottom:clamp(24px,4vw,48px); }

/* ---------- О компании ---------- */
.about-hero__inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(24px,4vw,56px); align-items:center; }
.about-hero h1 { margin:0 0 14px; font-size:clamp(28px,3.4vw,44px); }
.about-hero .hero__facts { margin-top:24px; }
.about-hero__visual { margin:0; }
.about-hero__visual img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
.about-entities { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:clamp(24px,4vw,48px) 0 0; }
.about-entity { display:grid; gap:8px; padding:24px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.about-entity>span { color:var(--red-700); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.about-entity strong { font-size:18px; }
.about-entity p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.55; }
.about-entity a { text-decoration:underline; }

/* ---------- Статьи ---------- */
.articles-list { padding:clamp(24px,4vw,48px) 0 clamp(32px,5vw,64px); }
.article-grid--list .article-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.article-cover { margin:0 0 24px; }
.article-cover img { width:100%; border-radius:6px; }

@media (max-width:960px) {
	.calc-layout,.contacts-layout,.about-hero__inner,.about-entities { grid-template-columns:1fr; }
	.calc-form { position:static; }
	.calc-hub__grid,.service-grid--full { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
	.calc-form__row,.calc-norms__grid,.calc-hub__grid,.service-grid--full { grid-template-columns:1fr; }
	.calc-line { grid-template-columns:56px minmax(0,1fr); }
	.calc-line__image { width:56px; height:56px; }
	.calc-line__qty { grid-column:1 / -1; grid-auto-flow:column; justify-content:space-between; align-items:center; }
	.calc-result { padding:18px; }
	.calc-result__total strong { font-size:48px; }
}

/* ---------- Полоса заявки: светлая, отделена от подвала ---------- */
.request-band { color:var(--ink); background:var(--navy-075); border-top:1px solid var(--line); border-bottom:6px solid var(--red-600); }
.request-band h2 { color:var(--ink); }
.request-band__copy p { color:var(--muted); }
.request-band .eyebrow--light { color:var(--navy-700); }
.request-band__phone { color:var(--ink); }
.request-band__phone .ui-icon { color:var(--red-600); }
.request-form { padding:26px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.request-form label:not(.form-consent)>span { color:var(--muted); }
.request-form input[type="text"],.request-form input[type="tel"],.request-form textarea { border-color:var(--navy-150); }
.request-form input:focus,.request-form textarea:focus { border-color:var(--navy-700); }
.form-consent { color:var(--muted); }
.form-consent a { color:var(--red-700); }
.form-submit small { color:var(--muted); }

/* ---------- Табы товара: контраст ---------- */
.product-details .product-tabs { padding:0; background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.product-details .product-tabs__nav { gap:4px; padding:0 28px; background:transparent; border-bottom:2px solid var(--line); }
.product-details .product-tabs__nav button { padding:12px 18px; margin-bottom:-2px; color:var(--muted); background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; font-weight:600; box-shadow:none; }
.product-details .product-tabs__nav button:hover { color:var(--ink); }
.product-details .product-tabs__nav button[aria-selected="true"] { color:var(--red-700); background:transparent; border-bottom-color:var(--red-600); }
.product-details .product-tabs__panels { padding:6px 28px 28px; background:transparent; }
.product-details .product-tab-panel { padding:20px 0 0; }
.product-details .product-tab-copy h2:first-child,.product-details .product-tab-copy h3:first-child { margin-top:0; }

/* ---------- Отзывы: своя сетка ---------- */
.pz-reviews { padding:clamp(32px,5vw,64px) 0; background:var(--paper); border-top:1px solid var(--line); }
.pz-reviews__head { display:flex; flex-wrap:wrap; align-items:flex-end; gap:20px 32px; margin-bottom:24px; }
.pz-reviews__title h2 { margin:0; font-size:clamp(24px,2.6vw,34px); }
.pz-reviews__score { display:flex; align-items:center; gap:12px; padding:10px 16px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-reviews__score strong { font-family:var(--font-display); font-size:28px; }
.pz-reviews__score span { display:grid; color:var(--amber); font-size:14px; letter-spacing:.1em; }
.pz-reviews__score small { color:var(--muted); font-size:12px; letter-spacing:0; }
.pz-reviews__open { margin-left:auto; }
.pz-reviews__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.pz-review { display:grid; align-content:start; gap:10px; padding:20px 22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-review header { display:grid; grid-template-columns:1fr auto; gap:4px 12px; align-items:center; }
.pz-review header strong { font-size:15px; }
.pz-review__stars { color:var(--amber); font-size:13px; letter-spacing:.08em; }
.pz-review time { grid-column:1; color:var(--muted); font-size:12.5px; }
.pz-review header em { grid-column:2; display:inline-flex; align-items:center; gap:4px; color:var(--green); font-size:12px; font-style:normal; }
.pz-review header em .ui-icon { width:14px; height:14px; }
.pz-review p { margin:0; font-size:14.5px; line-height:1.55; }
.pz-review__reply { padding:12px 14px; background:var(--navy-075); border-radius:4px; font-size:13.5px; }
.pz-review__reply strong { display:block; margin-bottom:4px; font-size:12.5px; color:var(--navy-700); }
.pz-reviews__empty { max-width:60ch; margin:0 0 24px; color:var(--muted); }
.pz-review-form { display:grid; gap:18px; max-width:860px; padding:26px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-review-form__head h3 { margin:0 0 6px; font-size:20px; }
.pz-review-form__head p { margin:0; color:var(--muted); font-size:14px; }
.pz-review-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.pz-review-form__grid label { display:grid; gap:6px; }
.pz-review-form__grid label>span { font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.pz-review-form__grid input[type="text"],.pz-review-form__grid input:not([type]),.pz-review-form__grid textarea { width:100%; padding:12px 14px; border:2px solid var(--navy-150); border-radius:4px; font-size:15px; }
.pz-review-form__wide { grid-column:1 / -1; }
.pz-review-form .button { justify-self:start; }

/* ---------- Корзина страницей ---------- */
.cart-page { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:clamp(20px,3vw,40px); padding:clamp(20px,3vw,40px) 0 clamp(32px,5vw,64px); align-items:start; }
.cart-page__lines { display:grid; gap:10px; }
.cart-page .store-line { display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; padding:14px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.cart-page .store-line__image { display:grid; place-items:center; width:96px; height:96px; background:var(--navy-075); border-radius:4px; overflow:hidden; }
.cart-page .store-line__image img { width:100%; height:100%; object-fit:contain; }
.cart-page .store-line__body { display:grid; gap:6px; min-width:0; }
.cart-page .store-line__title { font-weight:600; font-size:15px; line-height:1.3; }
.cart-page .store-line__meta { color:var(--muted); font-size:13px; }
.cart-page .store-line__controls { display:flex; align-items:center; gap:6px; margin-top:4px; }
.cart-page .store-line__controls button { width:36px; height:36px; background:var(--white); border:1px solid var(--navy-300); border-radius:4px; font-size:18px; line-height:1; }
.cart-page .store-line__controls button:hover { border-color:var(--navy-900); }
.cart-page .store-line__qty { width:64px; height:36px; padding:0 6px; text-align:center; border:1px solid var(--navy-300); border-radius:4px; font-weight:600; }
.cart-page .store-line { position:relative; }
.cart-page .store-line__delete { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:30px; height:30px; padding:0; color:var(--muted); background:var(--navy-075); border:0; border-radius:4px; font-size:17px; line-height:1; }
.cart-page .store-line__delete:hover { color:var(--white); background:var(--red-600); }
.cart-page .store-line__title { padding-right:36px; }
.cart-page .store-line__sum { margin-left:auto; display:grid; justify-items:end; font-family:var(--font-display); font-size:16px; font-weight:700; }
.cart-page .store-line__sum del { color:var(--muted); font-family:var(--font-text); font-size:13px; font-weight:400; }
.cart-page__empty { display:grid; justify-items:start; gap:10px; padding:32px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.cart-page__empty .store-empty__icon { width:40px; height:40px; color:var(--navy-300); }
.cart-page__empty h3 { margin:0; font-size:22px; }
.cart-page__empty p { margin:0; max-width:52ch; color:var(--muted); }
.cart-page__empty-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.cart-summary--page { display:grid; gap:10px; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.cart-summary--page h2 { margin:0 0 4px; font-size:20px; }
.cart-summary--page>div { display:flex; justify-content:space-between; gap:12px; font-size:14.5px; }
.cart-summary--page .cart-summary__total { padding-top:10px; border-top:1px solid var(--line); font-size:16px; }
.cart-summary--page .cart-summary__total strong { font-family:var(--font-display); font-size:22px; }
.cart-summary--page p { margin:0; color:var(--muted); font-size:13px; }
.cart-summary--page .button { justify-content:center; }
.cart-summary__notes { margin:6px 0 0; padding:0 0 0 18px; color:var(--muted); font-size:13px; line-height:1.6; }
.cart-page__help { margin-top:14px; }
.checkout-form--page { display:grid; gap:20px; padding:26px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.checkout-form--page .checkout-heading { display:flex; align-items:center; gap:14px; }
.checkout-form--page .checkout-heading button { display:grid; place-items:center; width:40px; height:40px; background:var(--navy-075); border:0; border-radius:4px; }
.checkout-form--page .checkout-heading .ui-icon { width:18px; height:18px; }
.checkout-form--page .checkout-heading span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.checkout-form--page .checkout-heading h3 { margin:2px 0 0; font-size:20px; }
.checkout-form--page .checkout-block { display:grid; gap:14px; padding:0; background:transparent; border:0; }
.checkout-form--page .checkout-block header { display:flex; align-items:center; gap:12px; }
.checkout-form--page .checkout-block>header>.ui-icon { width:40px; height:40px; padding:9px; color:var(--white); background:var(--navy-900); border-radius:4px; }
.checkout-form--page .checkout-block>header small { color:var(--red-700); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.checkout-form--page .checkout-block header h4 { margin:0; font-size:16px; }
.checkout-form--page .checkout-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.checkout-form--page .checkout-grid label { display:grid; gap:6px; }
.checkout-form--page .checkout-grid label>span { font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.checkout-form--page .checkout-grid input,.checkout-form--page .checkout-grid textarea,.checkout-form--page .checkout-grid select { width:100%; padding:12px 14px; border:2px solid var(--navy-150); border-radius:4px; font-size:15px; background:var(--white); }
.checkout-form--page .checkout-wide { grid-column:1 / -1; }
.checkout-delivery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; padding:0; border:0; }
.checkout-delivery label { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; background:var(--navy-075); border:2px solid transparent; border-radius:4px; cursor:pointer; }
.checkout-delivery label:has(input:checked) { border-color:var(--red-600); background:var(--white); }
.checkout-delivery input { margin-top:3px; accent-color:var(--red-600); }
.checkout-delivery b { display:block; font-size:14px; }
.checkout-delivery small { color:var(--muted); font-size:12.5px; line-height:1.4; }
.checkout-form--page .checkout-total { display:grid; gap:6px; padding:16px 18px; background:var(--navy-075); border-radius:6px; }
.checkout-form--page .checkout-total>div { display:flex; justify-content:space-between; font-size:14.5px; }
.checkout-form--page .checkout-total__sum { padding-top:8px; border-top:1px solid var(--line); font-size:16px; font-weight:700; }
.checkout-form--page .checkout-consent { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:13px; line-height:1.45; }
.checkout-form--page .checkout-consent input { margin-top:2px; accent-color:var(--red-600); }
.checkout-form--page .checkout-consent a { color:var(--red-700); text-decoration:underline; }
.checkout-form--page>small { color:var(--muted); font-size:13px; }
.checkout-form--page .checkout-error { padding:12px 14px; background:oklch(92% .06 27); border-radius:4px; font-size:14px; }
.cart-page__success { display:grid; justify-items:start; gap:10px; padding:32px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.cart-page__success i { display:grid; place-items:center; width:48px; height:48px; color:var(--white); background:var(--green); border-radius:50%; font-style:normal; font-size:22px; }
.cart-page__success h3 { margin:0; font-size:22px; }
.favorites-page { padding:clamp(20px,3vw,40px) 0 clamp(32px,5vw,64px); }
.favorites-page__lines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.favorites-page .store-line { display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; padding:14px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.favorites-page .store-line__image { display:grid; place-items:center; width:96px; height:96px; background:var(--navy-075); border-radius:4px; overflow:hidden; }
.favorites-page .store-line__image img { width:100%; height:100%; object-fit:contain; }
.favorites-page .store-line__body { display:grid; gap:8px; }
.favorites-page .store-line__title { font-weight:600; }
.favorites-page .store-line__actions { display:flex; gap:8px; }
.favorites-page .store-line__add { padding:10px 14px; color:var(--white); background:var(--red-600); border:0; border-radius:4px; font-weight:600; font-size:13.5px; }
.favorites-page .store-line__remove { padding:10px 14px; color:var(--navy-900); background:var(--white); border:1px solid var(--navy-300); border-radius:4px; font-size:13.5px; }
.favorites-page .store-empty { display:grid; justify-items:start; gap:10px; padding:32px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.favorites-page .store-empty__icon { width:40px; height:40px; color:var(--navy-300); }
.favorites-page .store-empty h3 { margin:0; font-size:22px; }
.favorites-page .store-empty p { margin:0; color:var(--muted); }

/* ---------- Модалка звонка ---------- */
.pz-modal { width:min(92vw,480px); padding:0; border:0; border-radius:6px; box-shadow:0 30px 80px oklch(20% .03 258 / .4); }
.pz-modal::backdrop { background:oklch(20% .03 258 / .6); }
.pz-modal__form { position:relative; display:grid; gap:14px; padding:32px 28px 28px; }
.pz-modal__form h2 { margin:0; font-size:24px; }
.pz-modal__form>p { margin:0 0 4px; color:var(--muted); font-size:14px; }
.pz-modal__form label:not(.form-consent) { display:grid; gap:6px; }
.pz-modal__form label:not(.form-consent)>span { font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.pz-modal__form label>span small { font-weight:400; text-transform:none; letter-spacing:0; }
.pz-modal__form input[type="text"],.pz-modal__form input[type="tel"] { width:100%; padding:12px 14px; border:2px solid var(--navy-150); border-radius:4px; font-size:15px; }
.pz-modal__form input:focus { outline:0; border-color:var(--navy-700); }
.pz-modal__form .form-consent { font-size:12.5px; }
.pz-modal__form .button { justify-content:center; }
.pz-modal__close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:36px; height:36px; background:var(--navy-075); border:0; border-radius:4px; }
.pz-modal__close .ui-icon { width:18px; height:18px; }

/* ---------- Карточка товара: действия ---------- */
.product-card__actions { display:flex; align-items:center; gap:10px; }
.product-card__order { display:inline-flex; align-items:center; gap:8px; padding:11px 16px; color:var(--white); background:var(--red-600); border:0; border-radius:4px; font-weight:600; font-size:14px; }
.product-card__order:hover { background:var(--red-700); }
.product-card__order .ui-icon { width:16px; height:16px; }
.product-card__more { color:var(--navy-700); font-weight:600; font-size:14px; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:960px) {
	.cart-page { grid-template-columns:1fr; }
	.pz-reviews__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.checkout-delivery { grid-template-columns:1fr; }
}
@media (max-width:640px) {
	.pz-reviews__grid,.favorites-page__lines,.pz-review-form__grid,.checkout-form--page .checkout-grid { grid-template-columns:1fr; }
	.pz-reviews__open { margin-left:0; width:100%; justify-content:center; }
	.cart-page .store-line { grid-template-columns:72px minmax(0,1fr); }
	.cart-page .store-line__image { width:72px; height:72px; }
	.cart-page .store-line__controls { flex-wrap:wrap; }
	.cart-page .store-line__sum { margin-left:0; width:100%; justify-items:start; }
}

/* ---------- Строки корзины и избранного: выравнивание по левому краю, удаление, заглушка ---------- */
.cart-page .store-line__body,.favorites-page .store-line__body { grid-template-columns:minmax(0,1fr); justify-content:start; justify-items:start; text-align:left; }
.cart-page .store-line__controls { width:100%; }
.cart-page .store-line__delete { width:36px; height:36px; color:var(--muted); background:transparent; border:1px solid transparent; border-radius:4px; font-size:22px; line-height:1; }
.cart-page .store-line__delete:hover { color:var(--red-700); border-color:var(--red-600); }
.store-line__image--empty { position:relative; }
.store-line__image--empty::before { content:""; position:absolute; inset:0; margin:auto; width:34px; height:34px; opacity:.45; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23264a7a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E"); }
.cart-page__empty,.favorites-page .store-empty { text-align:left; justify-items:start; min-height:0; }
.cart-summary--page.is-checkout [data-f365-checkout-open],.cart-summary--page.is-checkout .cart-summary__notes { display:none; }
.cart-summary--page.is-checkout::after { content:"Итог пересчитается после выбора способа получения"; color:var(--muted); font-size:13px; }
.cart-page__aside { position:sticky; top:16px; }
.checkout-form--page [data-f365-checkout-submit] { justify-self:start; min-width:280px; }
.checkout-form--page>small { text-align:left; }

/* ---------- Декоративные круги и точки базовой темы отключены ---------- */
.service-hero::after,.direction-card::after,.service-cards article::after,.category-page-hero::after,.category-journal-hero::after,.category-quote::after,.category-final-cta::after,.account-hero__art::before,.account-hero__art::after,.service-hero__art::before,.service-hero__art::after,.calculator-hero::before,.calculator-hero::after { content:none; }

/* ---------- Контакты: телефоны и галерея «Как нас найти» ---------- */
.contact-card--phones strong { display:grid; gap:2px; }
.contact-card--phones strong a+a { font-weight:600; font-size:15px; }
.contact-card--phones strong a:hover { color:var(--red-700); }
.office-gallery { padding:clamp(28px,4vw,56px) 0; }
.office-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.office-gallery__item { margin:0; }
.office-gallery__item button { position:relative; display:block; width:100%; padding:0; background:var(--navy-075); border:1px solid var(--line); border-radius:6px; overflow:hidden; cursor:zoom-in; }
.office-gallery__item img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.office-gallery__item button:hover img { transform:scale(1.03); }
.office-gallery__zoom { position:absolute; right:12px; bottom:12px; width:36px; height:36px; padding:8px; color:var(--navy-900); background:var(--white); border-radius:4px; }
.office-gallery__item figcaption { margin-top:10px; color:var(--muted); font-size:13.5px; line-height:1.45; }
@media (max-width:760px) { .office-gallery__grid { grid-template-columns:1fr; } }

/* ---------- Каталог: панель фильтра слева, результаты справа ---------- */
.pz-catalog { display:grid; grid-template-columns:272px minmax(0,1fr); gap:24px 32px; align-items:start; }
.pz-catalog-toolbar { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; padding:12px 0; border-bottom:1px solid var(--line); }
.pz-catalog-toolbar__count { margin:0; font-size:15px; }
.pz-catalog-toolbar__count strong { font-family:var(--font-display); font-size:20px; }
.pz-catalog-toolbar__count span { color:var(--green); }
.pz-catalog-chips { display:flex; flex-wrap:wrap; gap:6px; }
.pz-catalog-chips a { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; background:var(--white); border:1px solid var(--navy-300); border-radius:4px; font-size:13px; }
.pz-catalog-chips a i { font-style:normal; color:var(--muted); }
.pz-catalog-chips a:hover { border-color:var(--red-600); color:var(--red-700); }
.pz-catalog-chips__reset { border-style:dashed!important; color:var(--muted); }
.pz-catalog-sort { display:flex; align-items:center; gap:8px; margin-left:auto; font-size:13px; color:var(--muted); }
.pz-catalog-sort select { padding:8px 32px 8px 10px; background:var(--white); border:1px solid var(--navy-300); border-radius:4px; color:var(--ink); font-size:14px; }
.pz-filter-toggle { display:none; align-items:center; gap:8px; padding:9px 14px; background:var(--navy-900); color:var(--white); border:0; border-radius:4px; font-weight:600; font-size:14px; }
.pz-filter-toggle .ui-icon { width:16px; height:16px; }
.pz-filter-toggle b { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; background:var(--red-600); border-radius:10px; font-size:12px; }
.pz-filter { position:sticky; top:16px; }
.pz-filter__form { display:grid; gap:0; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-filter__head { display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); }
.pz-filter__head h2 { margin:0; font-size:17px; }
.pz-filter__head a { margin-left:auto; color:var(--red-700); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.pz-filter__close { display:none; width:36px; height:36px; background:var(--navy-075); border:0; border-radius:4px; }
.pz-filter__close .ui-icon { width:18px; height:18px; margin:auto; }
.pz-filter__switch { position:relative; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); cursor:pointer; font-size:14px; font-weight:600; }
.pz-filter__switch input { position:absolute; opacity:0; width:0; height:0; }
.pz-filter__switch-track { position:relative; width:40px; height:22px; background:var(--navy-300); border-radius:11px; transition:background .2s; }
.pz-filter__switch-track::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; background:var(--white); border-radius:50%; transition:transform .2s; }
.pz-filter__switch input:checked+.pz-filter__switch-track { background:var(--green); }
.pz-filter__switch input:checked+.pz-filter__switch-track::after { transform:translateX(18px); }
.pz-filter__switch input:focus-visible+.pz-filter__switch-track { outline:2px solid var(--navy-700); outline-offset:2px; }
.pz-filter__switch small { display:block; color:var(--muted); font-weight:400; font-size:12.5px; }
.pz-filter__group { margin:0; padding:14px 18px; border:0; border-bottom:1px solid var(--line); }
.pz-filter__title { margin-bottom:10px; font-weight:700; font-size:14px; }
.pz-filter__price.catalog-price-range { padding:0; background:transparent; border:0; border-radius:0; }
.pz-filter__price header { display:block; margin-bottom:6px; }
.pz-filter__price header strong { font-family:var(--font-display); font-size:16px; }
.pz-filter__price>div { position:relative; height:28px; }
.pz-filter__price input[type="range"] { touch-action:none; cursor:grab; }
.pz-filter__price input[type="range"]:active { cursor:grabbing; }
.pz-filter__price-bounds { display:flex; justify-content:space-between; margin:2px 0 0; color:var(--muted); font-size:12px; }
.pz-filter__group--spec summary { display:flex; align-items:center; gap:8px; list-style:none; cursor:pointer; font-weight:700; font-size:14px; }
.pz-filter__group--spec summary::-webkit-details-marker { display:none; }
.pz-filter__group--spec summary b { display:grid; place-items:center; min-width:20px; height:20px; padding:0 6px; background:var(--red-600); color:var(--white); border-radius:10px; font-size:11px; }
.pz-filter__group--spec summary .ui-icon { margin-left:auto; width:16px; height:16px; color:var(--muted); transition:transform .2s; }
.pz-filter__group--spec[open] summary .ui-icon { transform:rotate(180deg); }
.pz-filter__options { display:grid; gap:2px; margin-top:10px; }
.pz-filter__options label { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:5px 6px; margin:0 -6px; border-radius:4px; font-size:14px; cursor:pointer; }
.pz-filter__options label:hover { background:var(--navy-075); }
.pz-filter__options input { width:16px; height:16px; margin:0; accent-color:var(--red-600); }
.pz-filter__options small { color:var(--muted); font-size:12px; }
.pz-filter__options.is-collapsed [data-pz-extra] { display:none; }
.pz-filter__more { justify-self:start; margin-top:4px; padding:0; background:none; border:0; color:var(--navy-700); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.pz-filter__note { margin:0; padding:14px 18px; color:var(--muted); font-size:13px; line-height:1.5; border-bottom:1px solid var(--line); }
.pz-filter__foot { padding:14px 18px; }
.pz-filter__foot .button { width:100%; justify-content:center; }
.pz-catalog__main { min-width:0; }
.pz-catalog__main .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:1100px) { .pz-catalog__main .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:860px) {
	.pz-catalog { grid-template-columns:1fr; }
	.pz-filter-toggle { display:inline-flex; }
	.pz-catalog-sort { margin-left:0; }
	.pz-filter { position:fixed; inset:0; z-index:400; padding:12px; background:oklch(20% .03 258 / .55); overflow:auto; }
	.pz-filter:not(.is-open) { display:none; }
	.pz-filter__form { max-width:520px; margin:0 auto; }
	.pz-filter__close { display:grid; }
	.pz-filter__foot { position:sticky; bottom:0; background:var(--white); }
	.pz-catalog__main .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) { .pz-catalog__main .product-grid { grid-template-columns:1fr; } }
html.has-pz-filter { overflow:hidden; }
.pz-filter__nav { padding:14px 18px; border-bottom:1px solid var(--line); }
.pz-filter__nav ul { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.pz-filter__nav a { display:flex; justify-content:space-between; gap:8px; padding:5px 6px; margin:0 -6px; border-radius:4px; font-size:14px; }
.pz-filter__nav a small { color:var(--muted); font-size:12px; }
.pz-filter__nav a:hover { background:var(--navy-075); }
.pz-filter__nav .is-current a { background:var(--navy-900); color:var(--white); }
.pz-filter__nav .is-current a small { color:var(--navy-300); }

/* ---------- Карточка товара: компактнее, без «воздуха» под названием ---------- */
.product-card { border-radius:6px; box-shadow:none; border-color:var(--line); }
.product-card:hover { border-color:var(--navy-300); box-shadow:0 10px 30px oklch(28% .04 258 / .08); }
.product-card__body { padding:16px 18px 18px; }
.product-card__body h3 { min-height:0; margin-bottom:8px; font-size:17px; line-height:1.22; -webkit-line-clamp:3; overflow-wrap:anywhere; hyphens:auto; }
.product-card__meta { min-height:0; margin-top:auto; margin-bottom:10px; }
.product-card__meta span { padding:4px 8px; color:var(--navy-700); background:var(--navy-075); border-radius:4px; font-size:11.5px; font-weight:600; }
.product-card__bottom { margin-top:0; padding-top:10px; }
.product-card__bottom strong { font-family:var(--font-display); font-size:19px; }
@media (max-width:640px) { .product-card__body h3 { min-height:0; font-size:16px; -webkit-line-clamp:3; } }
@media (min-width:861px) { .category-siblings { display:none; } }

/* ---------- Калькулятор: плитки назначения, схема, шаги, нормы ---------- */
.calc-kinds { display:grid; gap:8px; margin:0; padding:0; border:0; }
.calc-kinds legend { margin-bottom:6px; font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.calc-kind { position:relative; display:block; cursor:pointer; }
.calc-kind input { position:absolute; opacity:0; width:0; height:0; }
.calc-kind__box { display:grid; grid-template-columns:36px 1fr; grid-template-rows:auto auto; column-gap:12px; padding:12px 14px; color:var(--ink); font-size:14px; text-transform:none; letter-spacing:0; background:var(--navy-075); border:2px solid transparent; border-radius:4px; transition:border-color .15s, background .15s; }
.calc-kind__box .ui-icon { grid-row:1 / 3; width:36px; height:36px; padding:7px; color:var(--navy-700); background:var(--white); border-radius:4px; }
.calc-kind__box b { font-size:14.5px; line-height:1.25; }
.calc-kind__box small { color:var(--muted); font-size:12px; line-height:1.35; }
.calc-kind input:checked+.calc-kind__box { background:var(--white); border-color:var(--red-600); }
.calc-kind input:checked+.calc-kind__box .ui-icon { color:var(--white); background:var(--red-600); }
.calc-kind input:focus-visible+.calc-kind__box { outline:2px solid var(--navy-700); outline-offset:2px; }
.calc-result__pending { margin:0 0 12px; padding:10px 14px; background:oklch(95% .05 80); border-radius:4px; color:var(--ink); font-size:13.5px; }
.calc-scheme { margin:20px 0 0; padding:18px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.calc-scheme__svg { display:block; width:100%; height:auto; color:var(--navy-900); }
.calc-scheme__floor { fill:var(--navy-075); stroke:var(--navy-900); stroke-width:2; }
.calc-scheme__zone { fill:oklch(55% .21 27 / .06); stroke:var(--red-600); stroke-width:1; stroke-dasharray:4 4; }
.calc-scheme__ext rect { fill:var(--red-600); }
.calc-scheme__ext text { fill:var(--navy-900); font-family:var(--font-text); font-size:11px; font-weight:700; }
.calc-scheme__dim { fill:var(--muted); font-family:var(--font-text); font-size:12px; }
.calc-scheme figcaption { display:grid; gap:6px; margin-top:12px; color:var(--muted); font-size:13px; line-height:1.45; }
.calc-scheme__legend { display:block; }
.calc-scheme__legend b { color:var(--ink); }
.calc-scheme__legend-ext { display:inline-block; vertical-align:-2px; margin-right:8px; width:14px; height:14px; background:var(--red-600); border-radius:3px; }
.calc-scheme__legend-zone { display:inline-block; vertical-align:-2px; margin-right:8px; width:14px; height:14px; background:oklch(55% .21 27 / .10); border:1px dashed var(--red-600); border-radius:50%; }
.calc-steps { padding:clamp(20px,3vw,40px) 0 0; }
.calc-steps__list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; border:1px solid var(--line); border-radius:6px; background:var(--white); overflow:hidden; }
.calc-steps__list li { display:grid; gap:6px; padding:20px 22px; }
.calc-steps__list li+li { border-left:1px solid var(--line); }
.calc-steps__list span { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--red-600); }
.calc-steps__list strong { font-size:15px; }
.calc-steps__list p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.45; }
.calc-norms__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.calc-norms__grid article { display:grid; gap:8px; align-content:start; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.calc-norms__grid article .ui-icon { width:28px; height:28px; color:var(--red-600); }
.calc-norms__grid article strong { font-family:var(--font-display); font-size:34px; line-height:1; letter-spacing:-.02em; }
.calc-norms__grid article strong small { font-size:16px; color:var(--muted); font-weight:600; }
.calc-norms__grid article h3 { margin:2px 0 0; font-size:15px; }
.calc-norms__grid article p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.5; }
@media (max-width:960px) {
	.calc-steps__list,.calc-norms__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.calc-steps__list li:nth-child(3) { border-left:0; }
	.calc-steps__list li:nth-child(n+3) { border-top:1px solid var(--line); }
}
@media (max-width:560px) {
	.calc-steps__list,.calc-norms__grid { grid-template-columns:1fr; }
	.calc-steps__list li+li { border-left:0; border-top:1px solid var(--line); }
	.calc-scheme { padding:12px; }
}
.product-card__actions { flex-wrap:wrap; }
.product-card__order { white-space:nowrap; }
@media (max-width:640px) { .product-card__order { padding:10px 12px; font-size:13.5px; } }

/* ---------- Уведомления «добавлено в корзину / избранное» ---------- */
.store-toast { left:auto; right:24px; bottom:24px; transform:translateY(16px); gap:12px; padding:12px 18px 12px 12px; color:var(--white); background:var(--navy-950); border:0; border-radius:6px; box-shadow:0 18px 40px oklch(20% .03 258 / .35); }
.store-toast>i { width:36px; height:36px; flex-basis:36px; background:var(--red-600); border-radius:4px; }
.store-toast>i .ui-icon { width:18px; height:18px; color:var(--white); }
.store-toast>span { font-size:14px; font-weight:600; letter-spacing:0; }
.store-toast.is-visible { transform:translateY(0); }
.store-toast[data-kind="cart"]>i { background:var(--red-600); }
.store-toast[data-kind="favorite"]>i { background:var(--navy-600); }
@media (max-width:640px) { .store-toast { left:16px; right:16px; bottom:16px; width:auto; max-width:none; justify-content:flex-start; } }
.store-toast__link { margin-left:6px; padding:8px 12px; color:var(--white); background:oklch(100% 0 0 / .12); border-radius:4px; font-size:13px; font-weight:600; white-space:nowrap; }
.store-toast__link:hover { background:var(--red-600); }
.catalog-mega__links--products a { font-size:14px; }
.catalog-mega__links--products small { white-space:nowrap; }
.catalog-mega__more { color:var(--red-700); font-weight:600; }
.catalog-mega__cover img { aspect-ratio:4/3; max-height:260px; }

/* ---------- Личный кабинет ---------- */
.pz-account__shell { display:grid; gap:24px; padding:clamp(20px,3vw,40px) 0 clamp(32px,5vw,64px); }
.pz-account__notice { display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:6px; font-size:14.5px; font-weight:600; }
.pz-account__notice .ui-icon { width:22px; height:22px; flex:0 0 auto; }
.pz-account__notice.is-success { color:var(--green); background:oklch(95% .05 150); }
.pz-account__notice.is-error { color:var(--red-700); background:oklch(94% .05 27); }
.pz-account__auth { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:20px; align-items:start; }
.pz-account__card { display:grid; gap:14px; padding:26px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-account__card>header { display:grid; gap:4px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.pz-account__card>header span { color:var(--red-700); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.pz-account__card>header h2 { margin:0; font-size:22px; }
.pz-account__form label:not(.pz-account__check),.pz-account__profile label:not(.pz-account__check) { display:grid; gap:6px; }
.pz-account__form label:not(.pz-account__check)>span,.pz-account__profile label:not(.pz-account__check)>span { font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.pz-account__form input:not([type="checkbox"]),.pz-account__profile input:not([type="checkbox"]) { width:100%; height:48px; padding:0 14px; border:2px solid var(--navy-150); border-radius:4px; font-size:15px; background:var(--white); }
.pz-account__form input:focus,.pz-account__profile input:focus { outline:0; border-color:var(--navy-700); }
.pz-account__grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.pz-account__row { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:14px; }
.pz-account__row a { color:var(--navy-700); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.pz-account__check { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; cursor:pointer; }
.pz-account__check input { margin-top:3px; accent-color:var(--red-600); }
.pz-account__consent { color:var(--muted); font-size:13px; }
.pz-account__consent a { color:var(--red-700); text-decoration:underline; }
.pz-account__form .button,.pz-account__profile .button { justify-self:start; }
.pz-account__why { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pz-account__why article { display:grid; gap:8px; align-content:start; padding:20px 22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-account__why .ui-icon { width:28px; height:28px; color:var(--red-600); }
.pz-account__why strong { font-size:15.5px; }
.pz-account__why p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.5; }
.pz-account__summary { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; padding:18px 24px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-account__summary>div { display:grid; gap:2px; }
.pz-account__summary span { color:var(--muted); font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; }
.pz-account__summary strong { font-family:var(--font-display); font-size:26px; line-height:1; }
.pz-account__summary .button { margin-left:auto; }
.pz-account__logout { display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:14px; }
.pz-account__logout .ui-icon { width:16px; height:16px; }
.pz-account__logout:hover { color:var(--red-700); }
.pz-account__layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px 32px; align-items:start; }
.pz-account__orders { display:grid; gap:12px; }
.pz-account__orders h2 { margin:0 0 4px; font-size:22px; }
.pz-account__empty { display:grid; justify-items:start; gap:10px; padding:32px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-account__empty .ui-icon { width:36px; height:36px; color:var(--navy-300); }
.pz-account__empty h3 { margin:0; font-size:20px; }
.pz-account__empty p { margin:0; color:var(--muted); }
.pz-order { background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-order[open] { border-color:var(--navy-300); }
.pz-order summary { display:grid; grid-template-columns:minmax(0,1fr) auto auto 20px; align-items:center; gap:16px; padding:16px 20px; cursor:pointer; list-style:none; }
.pz-order summary::-webkit-details-marker { display:none; }
.pz-order summary .ui-icon { width:18px; height:18px; color:var(--muted); transition:transform .2s; }
.pz-order[open] summary .ui-icon { transform:rotate(180deg); }
.pz-order__head { display:grid; gap:2px; }
.pz-order__head small { color:var(--muted); font-size:12.5px; }
.pz-order__head strong { font-size:16px; }
.pz-order__status { padding:6px 10px; color:var(--white); background:var(--status-color,var(--navy-700)); border-radius:4px; font-size:12.5px; font-weight:600; white-space:nowrap; }
.pz-order summary>b { font-family:var(--font-display); font-size:17px; }
.pz-order__body { display:grid; gap:18px; padding:0 20px 20px; border-top:1px solid var(--line); }
.pz-order__progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:18px 0 0; padding:0; list-style:none; }
.pz-order__progress li { position:relative; display:grid; gap:8px; padding-top:22px; color:var(--muted); font-size:12.5px; font-weight:600; }
.pz-order__progress li::before { content:""; position:absolute; top:7px; left:0; right:0; height:2px; background:var(--navy-150); }
.pz-order__progress li i { position:absolute; top:0; left:0; display:grid; place-items:center; width:16px; height:16px; background:var(--white); border:2px solid var(--navy-300); border-radius:50%; }
.pz-order__progress li i .ui-icon { width:9px; height:9px; color:var(--white); stroke-width:3; }
.pz-order__progress li.is-done { color:var(--ink); }
.pz-order__progress li.is-done::before { background:var(--red-600); }
.pz-order__progress li.is-done i { background:var(--red-600); border-color:var(--red-600); }
.pz-order__progress.is-cancelled li.is-done::before,.pz-order__progress.is-cancelled li.is-done i { background:var(--navy-300); border-color:var(--navy-300); }
.pz-order__cancelled { margin:0; padding:10px 14px; background:oklch(94% .05 27); border-radius:4px; color:var(--red-700); font-size:14px; }
.pz-order__grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:24px; }
.pz-order__grid h3 { margin:0 0 10px; font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.pz-order__items { display:grid; gap:8px; align-content:start; }
.pz-order__items article { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.pz-order__items article img,.pz-order__items article>.ui-icon { width:56px; height:56px; padding:6px; object-fit:contain; background:var(--navy-075); border-radius:4px; color:var(--navy-300); }
.pz-order__items article a { font-weight:600; font-size:14px; }
.pz-order__items article small { display:block; color:var(--muted); font-size:12.5px; }
.pz-order__items article strong { font-family:var(--font-display); font-size:14px; white-space:nowrap; }
.pz-order__items footer { display:grid; grid-template-columns:1fr auto; gap:4px 16px; padding-top:6px; font-size:14px; }
.pz-order__items footer b:last-child { font-family:var(--font-display); font-size:16px; }
.pz-order__repeat { justify-self:start; margin-top:6px; }
.pz-order__details dl { display:grid; gap:6px; margin:0; }
.pz-order__details dl div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:10px; font-size:13.5px; }
.pz-order__details dt { color:var(--muted); }
.pz-order__details dd { margin:0; }
.pz-order__details h3+ol,.pz-order__history { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.pz-order__history li { padding-left:14px; border-left:2px solid var(--navy-150); font-size:13.5px; }
.pz-order__history li:first-child { border-color:var(--red-600); }
.pz-order__history p { margin:2px 0; color:var(--muted); }
.pz-order__history small { color:var(--muted); font-size:12px; }
.pz-order__details h3:not(:first-child) { margin-top:18px; }
.pz-account__side { display:grid; gap:16px; position:sticky; top:16px; }
.pz-account__profile form { display:grid; gap:12px; }
.pz-account__security summary { display:flex; align-items:center; gap:8px; padding:8px 0; color:var(--navy-700); font-size:14px; font-weight:600; cursor:pointer; list-style:none; }
.pz-account__security summary::-webkit-details-marker { display:none; }
.pz-account__security summary .ui-icon { width:16px; height:16px; }
.pz-account__security[open] { display:grid; gap:10px; }
@media (max-width:960px) {
	.pz-account__auth,.pz-account__layout,.pz-order__grid { grid-template-columns:1fr; }
	.pz-account__why { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pz-account__side { position:static; }
}
@media (max-width:640px) {
	.pz-account__why,.pz-account__grid { grid-template-columns:1fr; }
	.pz-account__card { padding:20px 18px; }
	.pz-order summary { grid-template-columns:minmax(0,1fr) 20px; }
	.pz-order__status { justify-self:start; }
	.pz-order__progress { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 0; }
	.pz-order__details dl div { grid-template-columns:1fr; gap:2px; }
	.pz-account__summary .button { margin-left:0; width:100%; justify-content:center; }
}

/* ---------- Лендинги технических страниц: доставка, нормы ---------- */
.pz-landing .section-heading { margin-bottom:24px; }
.pz-delivery__ways { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:clamp(8px,2vw,24px) 0 clamp(24px,4vw,48px); }
.pz-way { display:grid; gap:10px; align-content:start; padding:26px 26px 22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-way>.ui-icon { width:34px; height:34px; color:var(--red-600); stroke-width:1.6; }
.pz-way strong { font-size:17px; }
.pz-way b { font-family:var(--font-display); font-size:clamp(22px,2.2vw,28px); line-height:1.1; letter-spacing:-.01em; }
.pz-way p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.55; }
.pz-way a { margin-top:auto; padding-top:6px; color:var(--red-700); font-weight:600; font-size:14px; }
.pz-way.is-accent { background:var(--navy-950); color:var(--white); border-color:var(--navy-950); }
.pz-way.is-accent>.ui-icon { color:var(--red-500,#e34a3f); }
.pz-way.is-accent p { color:oklch(85% .02 258); }
.pz-way.is-accent a { color:var(--white); text-decoration:underline; text-underline-offset:3px; }
.pz-steps { padding:0 0 clamp(24px,4vw,48px); }
.pz-steps__list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; counter-reset:none; border:1px solid var(--line); border-radius:6px; background:var(--white); overflow:hidden; }
.pz-steps__list li { display:grid; align-content:start; gap:8px; padding:22px 24px; }
.pz-steps__list li+li { border-left:1px solid var(--line); }
.pz-steps__list span { display:grid; place-items:center; width:34px; height:34px; color:var(--white); background:var(--red-600); border-radius:4px; font-family:var(--font-display); font-weight:700; }
.pz-steps__list strong { font-size:15.5px; }
.pz-steps__list p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.pz-steps__list a { color:var(--red-700); text-decoration:underline; text-underline-offset:3px; }
.pz-delivery__pay { padding:clamp(32px,5vw,64px) 0; background:var(--navy-075); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pz-delivery__pay-inner { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:clamp(24px,4vw,56px); align-items:start; }
.pz-delivery__pay-copy h2 { margin:14px 0 12px; font-size:clamp(24px,2.6vw,34px); }
.pz-delivery__pay-copy p { max-width:44ch; margin:0; color:var(--muted); line-height:1.6; }
.pz-delivery__pay-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pz-delivery__pay-cards article { display:grid; gap:8px; align-content:start; padding:20px 22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-delivery__pay-cards .ui-icon { width:26px; height:26px; color:var(--red-600); }
.pz-delivery__pay-cards strong { font-size:15.5px; }
.pz-delivery__pay-cards p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.pz-faq { padding:clamp(32px,5vw,64px) 0; }
.pz-faq__list { display:grid; gap:8px; max-width:900px; }
.pz-faq__item { background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-faq__item[open] { border-color:var(--navy-300); }
.pz-faq__item summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; font-weight:600; font-size:16px; cursor:pointer; list-style:none; }
.pz-faq__item summary::-webkit-details-marker { display:none; }
.pz-faq__item summary .ui-icon { flex:0 0 auto; width:18px; height:18px; color:var(--red-600); transition:transform .2s; }
.pz-faq__item[open] summary .ui-icon { transform:rotate(180deg); }
.pz-faq__body { padding:0 20px 18px; color:var(--muted); font-size:15px; line-height:1.6; }
.pz-faq__body p { margin:0; }
.pz-faq__body a { color:var(--red-700); text-decoration:underline; text-underline-offset:3px; }
.pz-norms__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:clamp(8px,2vw,24px) 0 clamp(24px,4vw,48px); }
.pz-norm { display:grid; gap:10px; align-content:start; padding:22px 24px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-norm header { display:flex; align-items:center; gap:12px; }
.pz-norm header .ui-icon { width:36px; height:36px; padding:8px; color:var(--white); background:var(--red-600); border-radius:4px; }
.pz-norm header b { font-family:var(--font-display); font-size:20px; line-height:1.1; }
.pz-norm h2 { margin:0; font-size:16.5px; line-height:1.3; }
.pz-norm p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.pz-norm footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); }
.pz-norm footer small { color:var(--navy-700); font-size:12.5px; font-weight:600; }
.pz-norm footer a { color:var(--red-700); font-weight:600; font-size:14px; }
.pz-norms__calc { padding:clamp(32px,5vw,64px) 0; background:var(--navy-950); color:var(--white); }
.pz-norms__calc-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:clamp(24px,4vw,64px); align-items:start; }
.pz-norms__calc h2 { margin:14px 0 12px; font-size:clamp(24px,2.6vw,34px); }
.pz-norms__calc p { max-width:48ch; margin:0 0 20px; color:oklch(85% .02 258); line-height:1.6; }
.pz-norms__calc .section-number { color:var(--white); background:transparent; border-color:oklch(100% 0 0 / .4); }
.pz-norms__docs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.pz-norms__docs li { display:grid; gap:4px; padding:14px 16px; background:oklch(100% 0 0 / .06); border:1px solid oklch(100% 0 0 / .12); border-radius:4px; }
.pz-norms__docs strong { font-size:14.5px; }
.pz-norms__docs span { color:oklch(80% .02 258); font-size:13px; line-height:1.45; }
.pz-norms__note { margin:0 auto; padding-bottom:clamp(24px,4vw,48px); color:var(--muted); font-size:13.5px; line-height:1.5; }
.pz-norms__note a { color:var(--red-700); text-decoration:underline; }
@media (max-width:960px) {
	.pz-delivery__ways,.pz-norms__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pz-steps__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pz-steps__list li:nth-child(3) { border-left:0; }
	.pz-steps__list li:nth-child(n+3) { border-top:1px solid var(--line); }
	.pz-delivery__pay-inner,.pz-norms__calc-inner { grid-template-columns:1fr; }
}
@media (max-width:640px) {
	.pz-delivery__ways,.pz-norms__grid,.pz-steps__list,.pz-delivery__pay-cards,.pz-norms__docs { grid-template-columns:1fr; }
	.pz-steps__list li+li { border-left:0; border-top:1px solid var(--line); }
	.pz-faq__item summary { padding:14px 16px; font-size:15px; }
}

/* ---------- Страница услуги (образец: перезарядка огнетушителей) ---------- */
.pz-recharge { padding:clamp(32px,5vw,64px) 0; background:var(--navy-950); color:var(--white); }
.pz-recharge__inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,4vw,64px); align-items:start; }
.pz-recharge__copy .eyebrow { color:var(--white); }
.pz-recharge__copy h2 { margin:14px 0 12px; font-size:clamp(24px,2.6vw,34px); }
.pz-recharge__copy p { max-width:52ch; margin:0 0 18px; color:oklch(85% .02 258); line-height:1.6; }
.pz-recharge__notes { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.pz-recharge__notes li { position:relative; padding-left:22px; color:oklch(90% .015 258); font-size:14.5px; }
.pz-recharge__notes li::before { content:""; position:absolute; left:0; top:7px; width:10px; height:10px; background:var(--red-600); border-radius:2px; }
.pz-recharge__form { display:grid; gap:16px; padding:26px; background:var(--white); color:var(--ink); border-radius:6px; }
.pz-recharge__counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pz-recharge__counts label,.pz-recharge__contact label { display:grid; gap:6px; }
.pz-recharge__counts label>span,.pz-recharge__contact label>span { font-size:12.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.pz-recharge__form input:not([type="checkbox"]):not([type="radio"]) { width:100%; height:48px; padding:0 14px; border:2px solid var(--navy-150); border-radius:4px; font-size:16px; }
.pz-recharge__counts input { font-family:var(--font-display); font-size:20px; font-weight:700; text-align:center; }
.pz-recharge__form input:focus { outline:0; border-color:var(--navy-700); }
.pz-recharge__mode { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; padding:0; border:0; }
.pz-recharge__mode label { display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--navy-075); border:2px solid transparent; border-radius:4px; font-size:14px; font-weight:600; cursor:pointer; }
.pz-recharge__mode label:has(input:checked) { background:var(--white); border-color:var(--red-600); }
.pz-recharge__mode input { accent-color:var(--red-600); }
.pz-recharge__contact { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pz-recharge__wide { grid-column:1 / -1; }
.pz-recharge__form .form-consent { color:var(--muted); font-size:12.5px; }
.pz-recharge__submit { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.pz-recharge__submit output { color:var(--muted); font-size:14px; font-weight:600; }
.pz-service__layout { padding-top:clamp(24px,4vw,48px); }
.pz-service__content { display:grid; gap:clamp(28px,4vw,48px); min-width:0; }
.pz-service__block h2 { margin:0 0 14px; font-size:clamp(22px,2.2vw,30px); }
.pz-service__block p { margin:0 0 14px; line-height:1.65; }
.pz-service__block a:not(.button) { color:var(--red-700); text-decoration:underline; text-underline-offset:3px; }
.pz-lead { font-size:17px; padding:16px 20px; background:var(--navy-075); border-radius:6px; }
.pz-compare { margin:0 0 16px; overflow-x:auto; }
.pz-table { width:100%; border-collapse:collapse; background:var(--white); border:1px solid var(--line); border-radius:6px; font-size:14.5px; }
.pz-table caption { padding:0 0 8px; text-align:left; color:var(--muted); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.pz-table th,.pz-table td { padding:11px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.pz-table thead th { background:var(--navy-900); color:var(--white); font-size:13px; font-weight:600; }
.pz-table tbody tr:last-child td { border-bottom:0; }
.pz-table tbody td:first-child { font-weight:600; }
.pz-checklist { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.pz-checklist li { position:relative; padding-left:30px; line-height:1.5; }
.pz-checklist li::before { content:""; position:absolute; left:0; top:3px; width:18px; height:18px; background:var(--red-600) center/10px no-repeat 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); border-radius:3px; }
.pz-note { padding:16px 20px; background:oklch(95% .05 80); border-radius:6px; font-size:14.5px; line-height:1.55; }
.pz-scheme { margin:18px 0 0; padding:18px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-scheme__svg { display:block; width:100%; height:auto; font-family:var(--font-text); }
.pz-scheme__axis { stroke:var(--navy-300); stroke-width:3; stroke-linecap:round; }
.pz-scheme__tick circle { fill:var(--white); stroke:var(--navy-700); stroke-width:3; }
.pz-scheme__tick text { fill:var(--ink); font-size:15px; font-weight:700; }
.pz-scheme__tick .pz-scheme__sub { fill:var(--muted); font-size:12px; font-weight:500; }
.pz-scheme__tick.is-main circle { fill:var(--red-600); stroke:var(--red-600); }
.pz-scheme__tick.is-main .pz-scheme__main { fill:var(--red-700); font-size:18px; }
.pz-scheme__tick.is-end circle { fill:var(--navy-900); stroke:var(--navy-900); }
.pz-scheme__caption { fill:var(--muted); font-size:13px; font-weight:600; }
.pz-scheme figcaption { margin-top:10px; color:var(--muted); font-size:13px; }
.pz-reasons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pz-reasons article { display:grid; gap:6px; padding:18px 20px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-reasons .ui-icon { width:26px; height:26px; color:var(--red-600); }
.pz-reasons strong { font-size:15.5px; }
.pz-reasons p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.pz-howto { display:grid; gap:10px; margin:0 0 20px; padding:0; list-style:none; counter-reset:none; }
.pz-howto li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; padding:16px 18px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-howto li span { display:grid; place-items:center; width:44px; height:44px; color:var(--white); background:var(--red-600); border-radius:4px; font-family:var(--font-display); font-size:18px; font-weight:700; }
.pz-howto strong { display:block; margin-bottom:4px; font-size:16px; }
.pz-howto p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.55; }
.pz-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.pz-gallery__item { margin:0; }
.pz-gallery__item button { position:relative; display:block; width:100%; padding:0; background:var(--navy-075); border:1px solid var(--line); border-radius:6px; overflow:hidden; cursor:zoom-in; }
.pz-gallery__item img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.pz-gallery__item figcaption { margin-top:8px; color:var(--muted); font-size:13px; line-height:1.45; }
.pz-docs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pz-docs article { padding:16px 18px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-docs strong { display:block; margin-bottom:6px; font-size:15px; }
.pz-docs p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.pz-expert { padding:24px 26px; background:var(--navy-950); color:var(--white); border-radius:6px; }
.pz-expert .eyebrow { color:var(--white); }
.pz-expert h3 { margin:12px 0 12px; font-size:20px; }
.pz-expert ul { display:grid; gap:10px; margin:0; padding:0 0 0 18px; }
.pz-expert li { color:oklch(88% .015 258); font-size:14.5px; line-height:1.55; }
.pz-expert strong { color:var(--white); }
.pz-service__content .pz-faq { padding:0; }
.pz-service__content .pz-faq__list { max-width:none; }
.pz-service__aside { display:grid; gap:14px; align-content:start; position:sticky; top:16px; }
@media (max-width:960px) {
	.pz-recharge__inner { grid-template-columns:1fr; }
	.pz-service__aside { position:static; }
	.pz-gallery { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
	.pz-recharge__counts,.pz-recharge__contact,.pz-recharge__mode,.pz-reasons,.pz-docs,.pz-gallery { grid-template-columns:1fr; }
	.pz-recharge__form { padding:18px; }
	.pz-howto li { grid-template-columns:36px minmax(0,1fr); gap:12px; padding:14px; }
	.pz-howto li span { width:36px; height:36px; font-size:16px; }
	.pz-table th,.pz-table td { padding:9px 10px; font-size:13.5px; }
	.pz-lead { font-size:15.5px; }
}
@media (max-width:960px) { .service-hero__facts { margin-top:16px; } }
@media (max-width:640px) { .product-details .product-tabs__nav { padding:0 16px; } .product-details .product-tabs__panels { padding:4px 16px 20px; } }
/* Корзина: пересчёт без прыжков — строки остаются на месте, суммы лишь приглушаются на время запроса */
[data-f365-cart-lines][aria-busy="true"] .store-line__sum,.cart-summary.is-updating [data-f365-cart-subtotal],.cart-summary.is-updating [data-f365-cart-total],.cart-summary.is-updating [data-f365-cart-discount] { opacity:.5; transition:opacity .15s ease; }
.cart-page .store-line__controls button:disabled { opacity:.4; cursor:default; }

/* ---------- Главная: блок обучения (единственная услуга) ---------- */
.home-training { padding:clamp(40px,6vw,80px) 0 0; }
.home-training__inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(24px,4vw,64px); align-items:center; }
.home-training h2 { margin:14px 0 12px; font-size:clamp(24px,2.6vw,34px); }
.home-training__copy>p { max-width:56ch; margin:0 0 16px; color:var(--muted); line-height:1.6; }
.home-training__list { display:grid; gap:8px; margin:0 0 22px; padding:0; list-style:none; }
.home-training__list li { position:relative; padding-left:26px; font-size:15px; }
.home-training__list li::before { content:""; position:absolute; left:0; top:5px; width:14px; height:14px; background:var(--red-600); border-radius:3px; }
.home-training__visual { margin:0; overflow:hidden; border-radius:6px; }
.home-training__visual img { width:100%; aspect-ratio:4/3; object-fit:cover; }
@media (max-width:960px) { .home-training__inner { grid-template-columns:1fr; } .home-training__visual { order:-1; } }

/* ---------- Обучение: виды инструктажа, чек-лист, нормативы ---------- */
.pz-training .pz-service__block { padding:clamp(28px,4vw,52px) 0 0; }
.pz-training__checklist .section-heading { margin-bottom:20px; }
.pz-training__points { margin-top:16px; grid-template-columns:repeat(2,minmax(0,1fr)); display:grid; gap:10px 28px; }
.pz-kinds { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.pz-kind { display:grid; align-content:start; gap:10px; padding:20px 22px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-kind header { display:flex; align-items:flex-start; gap:12px; }
.pz-kind header .ui-icon { flex:0 0 auto; width:36px; height:36px; padding:8px; color:var(--white); background:var(--navy-900); border-radius:4px; }
.pz-kind header strong { display:block; font-size:16px; }
.pz-kind header small { color:var(--red-700); font-size:12.5px; font-weight:600; }
.pz-kind__who { margin:0; padding:8px 12px; background:var(--navy-075); border-radius:4px; font-size:13.5px; }
.pz-kind p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.pz-docs--wide { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pz-training__law { padding:clamp(32px,5vw,64px) 0; background:var(--navy-950); color:var(--white); margin-top:clamp(24px,4vw,48px); }
.pz-training__law-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:clamp(24px,4vw,64px); align-items:start; }
.pz-training__law h2 { margin:14px 0 12px; font-size:clamp(24px,2.6vw,34px); }
.pz-training__law p { max-width:48ch; margin:0 0 20px; color:oklch(85% .02 258); line-height:1.6; }
.pz-training__law .section-number { color:var(--white); background:transparent; border-color:oklch(100% 0 0 / .4); }
.pz-training__law .button-ghost { color:var(--white); border-color:oklch(100% 0 0 / .35); }
.pz-training__law .button-ghost:hover { background:oklch(100% 0 0 / .1); }
.pz-training .pz-expert { margin-top:clamp(24px,4vw,48px); }
@media (max-width:960px) {
	.pz-kinds,.pz-docs--wide { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pz-training__law-inner { grid-template-columns:1fr; }
}
@media (max-width:640px) { .pz-kinds,.pz-docs--wide,.pz-training__points { grid-template-columns:1fr; } }

/* ---------- Мобильная версия: правки после просмотра 22.09.2026 ---------- */
@media (max-width:960px) {
	/* Строка каталога: высота 56px оставалась от десктопа, и ссылка «Рассчитать огнетушители» вылезала на хлебные крошки */
	.catalog-row { height:auto; align-items:center; }
	.catalog-row__cta { flex:0 0 auto; padding:2px 0; }
	.breadcrumbs { margin-top:6px; }
	/* Меню: .nav-list — flex-элемент панели и сжимался до 18px, пункты пропадали под overflow:hidden */
	.primary-nav .nav-list { flex:0 0 auto; overflow:visible; background:transparent; border:0; border-radius:0; box-shadow:none; }
	.primary-nav .nav-list>li { display:block; border-bottom:1px solid var(--line); }
	.primary-nav .nav-list>li:last-child { border-bottom:1px solid var(--line); }
	.primary-nav .nav-list a { display:flex; min-height:52px; align-items:center; padding:12px 18px; font-size:16px; }
	.primary-nav .nav-list a[aria-current="page"] { color:var(--red-700); }
	.mobile-menu-extra { flex:0 0 auto; }
	/* Логотип «Пожсервис» — вытянутый (550×69), в квадрат 42×42 его сплющивало */
	.mobile-menu-head>a>img { width:150px; height:auto; border-radius:0; }
}
@media (max-width:640px) {
	/* Плитки каталога: фото 4:3 в одну колонку давали ленту на 20 экранов — делаем горизонтальными */
	.category-tiles { grid-template-columns:1fr; gap:10px; }
	.category-tile,.category-tile--wide { min-height:0; grid-template-rows:none; grid-template-columns:116px minmax(0,1fr); grid-column:auto; }
	.category-tile img,.category-tile--wide img { height:100%; min-height:106px; aspect-ratio:auto; }
	.category-tile__icon { aspect-ratio:1; }
	.category-tile__body,.category-tile--wide .category-tile__body { align-content:center; gap:5px; padding:12px 14px; }
	.category-tile--wide strong { font-size:16px; }
	.category-tile__body small { font-size:12px; }
	/* Вкладки товара: переносились столбиком по центру — делаем горизонтальную ленту с прокруткой */
	.product-details .product-tabs__nav { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
	.product-details .product-tabs__nav::-webkit-scrollbar { display:none; }
	.product-details .product-tabs__nav button { flex:0 0 auto; padding:12px 14px; white-space:nowrap; }
}
@media (max-width:480px) {
	/* На двух колонках длинные названия («Наклейка пломбировочная») рвались посреди слова */
	.product-card__body h3 { font-size:15px; letter-spacing:-.01em; }
	.product-card__body { padding:14px 14px 16px; }
}

/* ---------- Плашка cookie, логотип и кнопка «наверх» ---------- */
/* Базовая тема центрирует плашку «таблеткой» (left:50% + translateX) и поднимает её на 92px
   под нижнюю панель, которой у нас нет — прижимаем к низу экрана во всю ширину. */
body #wolf-cookie.wolf-cookie { left:16px; right:16px; bottom:16px; max-width:760px; margin:0 auto; transform:none; }
body #wolf-cookie.wolf-cookie.is-in { transform:none; }
@media (max-width:960px) {
	body #wolf-cookie.wolf-cookie { left:10px; right:10px; bottom:10px; }
	body:has(#wolf-cookie.is-in) { padding-bottom:0; }
	/* Логотип вытянутый (550×82) — во flex-строке шапки его сжимало до квадрата */
	.brand-logo { height:32px; }
}
/* Кнопка «наверх»: плавающая при прокрутке, а не спрятанная в подвале */
.scroll-top { position:fixed; z-index:120; right:16px; bottom:16px; width:46px; height:46px; opacity:0; visibility:hidden; transform:translateY(10px); box-shadow:0 10px 26px oklch(28% .04 258 / .22); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.scroll-top.is-visible { opacity:1; visibility:visible; transform:none; }
body:has(#wolf-cookie.is-in) .scroll-top { bottom:112px; }
@media (max-width:960px) {
	.scroll-top { position:fixed; right:12px; bottom:12px; }
	body:has(#wolf-cookie.is-in) .scroll-top { bottom:124px; }
}
@media (prefers-reduced-motion:reduce) { .scroll-top { transition:none; } }
@media (max-width:960px) {
	/* Шапка: колонка бренда была 95px, и логотип 550×82 в неё вжимался. Раскладываем строку flex-ом:
	   логотип занимает столько, сколько ему нужно, иконки и бургер прижаты вправо, поиск — второй строкой. */
	.header-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
	/* Логотип тянется по месту и ужимается пропорционально: жёсткая ширина выталкивала бургер на вторую строку */
	.site-brand { flex:1 1 0; order:1; margin-right:auto; min-width:0; }
	.brand-logo { width:auto; height:auto; max-width:100%; max-height:30px; }
	.header-tools { flex:0 0 auto; order:2; gap:4px; }
	.menu-toggle { flex:0 0 auto; order:3; }
	.header-contact { order:4; }
	.header-search { order:5; flex:1 0 100%; }
}
@media (max-width:380px) { .brand-logo { max-height:26px; } .header-tools { gap:2px; } }

/* ---------- Мобильное меню: быстрые действия, плитки, подвал ---------- */
@media (max-width:960px) {
	.mobile-menu-head { padding:14px 16px; background:var(--white); }
	.mobile-menu-head>a>img { width:auto; height:auto; max-width:58vw; max-height:30px; }
	.mobile-menu-quick { display:grid; gap:10px; padding:14px 16px 16px; background:var(--navy-950); color:var(--white); }
	.mobile-menu-quick__call { display:flex; align-items:center; gap:12px; padding:12px 14px; color:var(--white); background:oklch(100% 0 0 / .08); border:1px solid oklch(100% 0 0 / .16); border-radius:6px; }
	.mobile-menu-quick__call .ui-icon { flex:0 0 auto; width:22px; height:22px; color:var(--red-500,#e11d2e); }
	.mobile-menu-quick__call span { display:grid; gap:2px; min-width:0; }
	.mobile-menu-quick__call strong { font-family:var(--font-display); font-size:19px; letter-spacing:.01em; }
	.mobile-menu-quick__call small { color:oklch(82% .02 255); font-size:12px; }
	.mobile-menu-quick__tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
	.mobile-menu-quick__tiles a { display:grid; align-content:start; gap:8px; padding:12px 10px; color:var(--white); background:oklch(100% 0 0 / .06); border:1px solid oklch(100% 0 0 / .12); border-radius:6px; font-size:12.5px; line-height:1.25; }
	.mobile-menu-quick__tiles a:active { background:var(--red-600); border-color:var(--red-600); }
	.mobile-menu-quick__tiles .ui-icon { width:22px; height:22px; color:var(--red-500,#e11d2e); }
	/* Разделы — с красной засечкой слева от активного пункта, как в шапке сайта */
	.primary-nav .nav-list a { position:relative; font-weight:600; }
	.primary-nav .nav-list a[aria-current="page"]::before { content:""; position:absolute; left:0; top:50%; width:4px; height:20px; transform:translateY(-50%); background:var(--red-600); }
	.mobile-menu-extra>span { display:flex; align-items:center; gap:10px; }
	.mobile-menu-extra>span::after { content:""; flex:1 1 auto; height:1px; background:var(--line); }
	.mobile-menu-foot { display:grid; gap:8px; margin-top:14px; padding:14px 0 0; border-top:1px solid var(--line); }
	.mobile-menu-foot a { display:flex; align-items:center; gap:10px; color:var(--navy-800); font-size:14px; }
	.mobile-menu-foot .ui-icon { width:18px; height:18px; color:var(--red-600); }
	/* Строка каталога — в одну линию: кнопка и расчёт рядом */
	.catalog-row { flex-wrap:nowrap; gap:10px; }
	.catalog-button { flex:0 0 auto; padding:0 14px; }
	.catalog-row__cta { flex:0 0 auto; margin-left:auto; font-size:13.5px; white-space:nowrap; }
	/* Кнопки в шапке раздела — одной строкой */
	.category-hero__actions { flex-wrap:nowrap; gap:8px; }
	.category-hero__actions .button { flex:1 1 0; min-width:0; justify-content:center; padding:0 10px; font-size:13.5px; white-space:nowrap; }
	.button__tail { display:none; }
	.category-hero__actions .button .ui-icon { flex:0 0 auto; }
}
/* На узких экранах короче кнопка каталога, а «Рассчитать огнетушители» остаётся полным — так понятнее */
@media (max-width:460px) { .catalog-button__tail { display:none; } }
@media (max-width:400px) { .catalog-row__cta { gap:6px; font-size:12.5px; } .catalog-row__cta .ui-icon { width:16px; height:16px; } }
@media (max-width:340px) { .catalog-row__cta-tail { display:none; } }

/* ---------- Карточка товара: избранное рядом с кнопкой, а не под ними ---------- */
.product-buy__actions { display:grid; gap:10px; }
.product-buy__main { width:100%; justify-content:center; }
.product-buy__second { display:flex; align-items:stretch; gap:10px; }
.product-buy__second .button { flex:1 1 auto; justify-content:center; }
.product-favorite-button { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:auto; min-width:52px; height:auto; padding:0 14px; font-weight:600; font-size:14px; }
.product-favorite-button>span { display:none; }
.product-favorite-button.is-active>span { display:inline; }
.product-favorite-button.is-active { color:var(--red-600); border-color:var(--red-600); }
@media (max-width:640px) { .product-favorite-button { min-width:56px; } }

/* Ленты, которые листаются мышью: курсор-рука и запрет выделения при перетаскивании */
.pz-draggable { cursor:grab; }
.pz-draggable.is-dragging { cursor:grabbing; user-select:none; scroll-behavior:auto; }
.pz-draggable.is-dragging a,.pz-draggable.is-dragging button { pointer-events:none; }
@media (max-width:359px) {
	/* На самых узких экранах (SE) две колонки плиток не помещались и давали горизонтальный скролл */
	.category-children__grid,.category-children__grid--roots { grid-template-columns:1fr; }
}

/* ---------- Плашка cookie в цветах сайта: базовая тема красила её в фиолетовый ---------- */
body #wolf-cookie #wolf-cookie-ok { background:var(--red-600); color:var(--white); border-radius:4px; font-weight:700; }
body #wolf-cookie #wolf-cookie-ok:hover { background:var(--red-500); filter:none; }
body #wolf-cookie a { color:oklch(72% .17 27); text-decoration:underline; text-underline-offset:3px; }
body #wolf-cookie a:hover { color:oklch(80% .14 27); }

/* ---------- Мега-меню каталога: прокручиваются колонки, а не вся панель ---------- */
@media (min-width:961px) {
	.catalog-mega { max-height:min(78vh,760px); overflow:hidden; }
	.catalog-mega__inner { max-height:inherit; min-height:0; }
	.catalog-mega__roots,.catalog-mega__panels { max-height:inherit; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--navy-300) transparent; }
	.catalog-mega__roots { padding-bottom:16px; }
	.catalog-mega__roots::-webkit-scrollbar,.catalog-mega__panels::-webkit-scrollbar { width:8px; }
	.catalog-mega__roots::-webkit-scrollbar-thumb,.catalog-mega__panels::-webkit-scrollbar-thumb { background:var(--navy-300); border-radius:8px; }
	.catalog-mega__roots::-webkit-scrollbar-track,.catalog-mega__panels::-webkit-scrollbar-track { background:transparent; }
}

/* ---------- Всплывающие окна не наезжают друг на друга ---------- */
/* Пока висит плашка cookie, сообщения «добавлено в корзину / в избранное» уходят выше неё */
body:has(#wolf-cookie.is-in) .store-toast { bottom:112px; }
@media (max-width:960px) { body:has(#wolf-cookie.is-in) .store-toast { bottom:124px; } }
/* Когда показано сообщение, кнопка «наверх» поднимается над ним */
body:has(.store-toast.is-visible) .scroll-top { bottom:88px; }
body:has(#wolf-cookie.is-in):has(.store-toast.is-visible) .scroll-top { bottom:186px; }
@media (max-width:960px) { body:has(.store-toast.is-visible) .scroll-top { bottom:84px; } body:has(#wolf-cookie.is-in):has(.store-toast.is-visible) .scroll-top { bottom:196px; } }

/* Подсказки поиска: без ограничения высоты список уезжал за нижний край экрана */
.search-suggest { max-height:min(60vh,440px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--navy-300) transparent; }
.search-suggest::-webkit-scrollbar { width:8px; }
.search-suggest::-webkit-scrollbar-thumb { background:var(--navy-300); border-radius:8px; }
/* Пока висит плашка cookie, полноэкранные панели дают запас снизу — иначе последние пункты под ней */
@media (max-width:960px) {
	body:has(#wolf-cookie.is-in) .catalog-mega { padding-bottom:210px; }
	body:has(#wolf-cookie.is-in) .primary-nav { padding-bottom:150px; }
	body:has(#wolf-cookie.is-in) .pz-filter { padding-bottom:110px; }
}

/* ---------- SEO-история раздела (parts/category-story.php) ---------- */
.pz-story { padding-bottom:clamp(24px,4vw,48px); }
.pz-story__block { padding-top:clamp(40px,6vw,80px); }
.pz-story__photo { margin:0; }
.pz-story__photo button { position:relative; display:block; width:100%; padding:0; background:var(--navy-075); border:1px solid var(--line); border-radius:6px; overflow:hidden; cursor:zoom-in; }
.pz-story__photo img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.pz-story__photo figcaption { margin-top:10px; color:var(--muted); font-size:13px; line-height:1.45; }
.pz-story .entry-content a { color:var(--red-700); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.pz-story .entry-content a:hover { color:var(--red-600); }
/* Факты: тёмная полоса-«шильдик» сразу под товарами */
.pz-story__facts { padding-top:clamp(32px,5vw,56px); }
.pz-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; list-style:none; background:var(--navy-950); border-radius:6px; overflow:hidden; }
.pz-facts li { position:relative; display:flex; flex-direction:column; gap:6px; padding:26px 24px 24px; color:oklch(86% .015 258); }
.pz-facts li+li { box-shadow:inset 1px 0 0 oklch(100% 0 0 / .12); }
.pz-facts li::before { content:""; position:absolute; top:0; left:24px; width:32px; height:4px; background:var(--red-600); }
.pz-facts strong { color:var(--white); font-family:var(--font-display); font-size:clamp(24px,2.4vw,32px); font-weight:700; line-height:1.1; letter-spacing:-.01em; white-space:nowrap; }
.pz-facts span { color:var(--white); font-size:15px; font-weight:600; }
.pz-facts small { font-size:13px; line-height:1.45; }
/* Гид по выбору: текст + фото */
.pz-guide__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,420px); gap:clamp(28px,4vw,56px); align-items:start; }
.pz-guide__body h3 { margin:1.5em 0 .45em; font-size:20px; }
.pz-guide__photo { position:sticky; top:24px; }
/* Таблица классов пожара: тёмная полоса */
.pz-story__band { margin-top:clamp(40px,6vw,80px); padding:clamp(40px,5vw,64px) 0; color:oklch(88% .015 258); background:var(--navy-950); }
.pz-classes .section-heading h2 { color:var(--white); }
.pz-classes__intro { max-width:70ch; margin:-8px 0 24px; font-size:16px; line-height:1.6; }
.pz-classes__scroll { overflow-x:auto; border:1px solid oklch(100% 0 0 / .14); border-radius:6px; }
.pz-classes__scroll:focus-visible { outline:2px solid var(--red-500); outline-offset:3px; }
.pz-classes__table { width:100%; min-width:720px; border-collapse:collapse; font-size:15px; }
.pz-classes__table th,.pz-classes__table td { padding:14px 18px; text-align:left; vertical-align:top; border-bottom:1px solid oklch(100% 0 0 / .1); }
.pz-classes__table thead th { color:var(--white); font-family:var(--font-display); font-size:15px; font-weight:700; background:oklch(100% 0 0 / .06); }
.pz-classes__table tbody th { width:30%; color:var(--white); font-weight:600; }
.pz-classes__table tbody th small { display:block; margin-top:3px; color:oklch(76% .02 258); font-size:13px; font-weight:400; }
.pz-classes__table tbody tr:last-child th,.pz-classes__table tbody tr:last-child td { border-bottom:0; }
.pz-classes__table td { line-height:1.45; }
.pz-classes__mark { display:inline-grid; place-items:center; width:22px; height:22px; margin:0 10px -5px 0; border-radius:50%; font-style:normal; }
.pz-classes__mark .ui-icon { width:14px; height:14px; stroke-width:3; }
.pz-classes__mark i { font-style:normal; font-weight:800; font-size:13px; }
.pz-classes__table td.is-yes .pz-classes__mark { color:var(--navy-950); background:oklch(80% .15 150); }
.pz-classes__table td.is-no { color:oklch(74% .02 258); }
.pz-classes__table td.is-no .pz-classes__mark { color:var(--white); background:var(--red-600); }
.pz-classes__table td.is-part .pz-classes__mark { color:var(--navy-950); background:oklch(84% .14 80); }
.pz-classes__table td.is-info .pz-classes__mark { display:none; }
.pz-classes__note { max-width:80ch; margin:16px 0 0; color:oklch(76% .02 258); font-size:13px; line-height:1.5; }
/* Совет специалиста: крупная цитата */
.pz-story__quote { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,380px); gap:20px; align-items:stretch; padding-top:clamp(40px,6vw,72px); }
.pz-story__quote blockquote { position:relative; margin:0; padding:32px 36px 28px 96px; background:var(--white); border:1px solid var(--line); border-radius:6px; }
.pz-story__quote blockquote::before { content:"\00AB"; position:absolute; top:14px; left:28px; color:var(--red-600); font-family:var(--font-display); font-size:88px; font-weight:700; line-height:1; }
.pz-story__quote blockquote .eyebrow { margin-bottom:10px; }
.pz-story__quote blockquote p { margin:0 0 14px; color:var(--ink); font-size:clamp(17px,1.6vw,20px); line-height:1.55; }
.pz-story__quote blockquote footer { color:var(--muted); font-size:14px; }
.pz-story__quote blockquote footer strong { color:var(--navy-900); }
.pz-help { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:28px 28px 26px; color:oklch(86% .015 258); background:var(--navy-950); border-radius:6px; }
.pz-help strong { color:var(--white); font-family:var(--font-display); font-size:19px; line-height:1.25; }
.pz-help p { margin:0; font-size:14.5px; line-height:1.55; }
.pz-help__phone { display:inline-flex; align-items:center; gap:10px; margin-top:auto; color:var(--white); font-family:var(--font-display); font-size:20px; font-weight:700; white-space:nowrap; }
.pz-help__phone .ui-icon { width:20px; height:20px; color:var(--red-500); }
.pz-help__phone:hover { color:var(--red-500); }
/* Нормы: шаги + схема */
.pz-rules__intro { max-width:75ch; margin:-8px 0 28px; color:var(--muted); font-size:16px; line-height:1.6; }
.pz-rules__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,440px); gap:clamp(28px,4vw,56px); align-items:start; }
.pz-rules__list { display:grid; margin:0; padding:0; list-style:none; }
.pz-rules__list li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; padding:20px 0; border-top:1px solid var(--line); }
.pz-rules__list li:last-child { border-bottom:1px solid var(--line); }
.pz-rules__num { display:grid; place-items:center; width:48px; height:48px; color:var(--white); background:var(--red-600); font-family:var(--font-display); font-size:20px; font-weight:700; }
.pz-rules__list h3 { margin:2px 0 6px; font-size:18px; }
.pz-rules__list p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
.pz-rules__scheme { margin:0; padding:18px 18px 14px; background:var(--navy-075); border:1px solid var(--line); border-radius:6px; }
.pz-rules__scheme svg { display:block; width:100%; height:auto; }
.pz-rules__scheme figcaption { margin-top:10px; color:var(--muted); font-size:13px; line-height:1.5; }
.pz-rules__scheme .s-wall { fill:var(--white); stroke:var(--line); }
.pz-rules__scheme .s-floor { stroke:var(--navy-900); stroke-width:3; }
.pz-rules__scheme .s-door { fill:var(--navy-150); stroke:var(--navy-500); stroke-width:2; }
.pz-rules__scheme .s-exit { fill:oklch(58% .15 150); }
.pz-rules__scheme .s-exit-man { fill:none; stroke:var(--white); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.pz-rules__scheme .s-sign { fill:var(--red-600); }
.pz-rules__scheme .s-sign-ico { fill:none; stroke:var(--white); stroke-width:2.5; stroke-linejoin:round; }
.pz-rules__scheme .s-bracket { fill:var(--navy-700); }
.pz-rules__scheme .s-ext { fill:var(--red-600); }
.pz-rules__scheme .s-ext-head { fill:var(--navy-900); }
.pz-rules__scheme .s-dim { fill:none; stroke:var(--navy-700); stroke-width:1.5; stroke-dasharray:5 4; }
.pz-rules__scheme .s-dist { fill:none; stroke:var(--red-600); stroke-width:2; }
.pz-rules__scheme .s-fire { fill:oklch(72% .17 50); }
.pz-rules__scheme .s-label { fill:var(--navy-950); font-family:var(--font-display); font-size:17px; font-weight:700; }
.pz-rules__scheme .s-note { fill:var(--muted); font-size:13px; }
.pz-rules__cta { display:flex; align-items:center; flex-wrap:wrap; gap:14px 20px; margin:28px 0 0; }
.pz-rules__cta span { max-width:52ch; color:var(--muted); font-size:14px; line-height:1.5; }
/* Сроки перезарядки: светлая красная подложка */
.pz-story__recharge { margin-top:clamp(40px,6vw,80px); padding:clamp(36px,5vw,64px) 0; background:var(--red-soft); }
.pz-recharge-note { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,440px); gap:clamp(28px,4vw,56px); align-items:center; }
.pz-recharge-note .entry-content { margin-bottom:22px; }
.pz-recharge-note .section-number { background:transparent; }
/* Пример расчёта: лист спецификации */
.pz-example__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(28px,4vw,56px); align-items:start; }
.pz-example__lead>p { max-width:60ch; margin:-8px 0 22px; color:var(--muted); font-size:16px; line-height:1.6; }
.pz-example__sheet { padding:26px 28px 28px; background:var(--white); border:1px solid var(--line); border-top:6px solid var(--navy-950); border-radius:6px; box-shadow:0 18px 40px -28px oklch(25% .05 258 / .45); }
.pz-example__meta { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.pz-example__meta span { padding:5px 10px; color:var(--navy-800); background:var(--navy-075); border-radius:4px; font-size:13px; font-weight:600; }
.pz-example__lines { margin:0; padding:0; list-style:none; }
.pz-example__lines li { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:14px; align-items:baseline; padding:14px 0; border-bottom:1px dashed var(--line); }
.pz-example__qty { color:var(--red-600); font-family:var(--font-display); font-weight:700; white-space:nowrap; }
.pz-example__name { font-weight:600; line-height:1.35; }
.pz-example__name a { color:var(--navy-950); }
.pz-example__name a:hover { color:var(--red-600); }
.pz-example__name small { display:block; margin-top:3px; color:var(--muted); font-size:13px; font-weight:400; }
.pz-example__sum { font-weight:600; white-space:nowrap; }
.pz-example__total { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:16px 0 22px; }
.pz-example__total span { color:var(--muted); font-size:14px; }
.pz-example__total strong { font-family:var(--font-display); font-size:28px; white-space:nowrap; }
.pz-example__photo { margin-top:4px; }
/* С огнетушителями берут: строки-ссылки с миниатюрой */
.pz-together__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; margin:0; padding:0; list-style:none; }
.pz-together__list a { display:grid; grid-template-columns:72px minmax(0,1fr) 20px; gap:16px; align-items:center; padding:14px 0; color:var(--navy-950); border-bottom:1px solid var(--line); }
.pz-together__list a:hover strong { color:var(--red-600); }
.pz-together__list a>.ui-icon { width:18px; height:18px; color:var(--red-600); transition:transform .2s; }
.pz-together__list a:hover>.ui-icon { transform:translateX(3px); }
.pz-together__media { display:grid; place-items:center; width:72px; height:54px; background:var(--navy-075); border-radius:4px; overflow:hidden; }
.pz-together__media img { width:100%; height:100%; object-fit:cover; }
.pz-together__list strong { display:block; font-size:16px; line-height:1.3; transition:color .2s; }
.pz-together__list small { color:var(--muted); font-size:13px; }
.pz-story .pz-faq { padding-bottom:0; }
@media (max-width:960px) {
	.pz-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.pz-facts li:nth-child(3) { box-shadow:inset 0 1px 0 oklch(100% 0 0 / .12); }
	.pz-facts li:nth-child(4) { box-shadow:inset 1px 0 0 oklch(100% 0 0 / .12),inset 0 1px 0 oklch(100% 0 0 / .12); }
	.pz-guide__grid,.pz-rules__grid,.pz-recharge-note,.pz-example__grid,.pz-story__quote { grid-template-columns:1fr; }
	.pz-guide__photo { position:static; }
}
@media (max-width:640px) {
	.pz-facts { grid-template-columns:1fr; }
	.pz-facts li,.pz-facts li:nth-child(n) { padding:22px 20px 20px; box-shadow:none; }
	.pz-facts li+li { box-shadow:inset 0 1px 0 oklch(100% 0 0 / .12); }
	.pz-facts li::before { left:20px; }
	.pz-classes__scroll { overflow:visible; border:0; }
	.pz-classes__table { min-width:0; }
	.pz-classes__table thead { display:none; }
	.pz-classes__table,.pz-classes__table tbody,.pz-classes__table tr,.pz-classes__table th,.pz-classes__table td { display:block; width:auto; }
	.pz-classes__table tr { margin-bottom:12px; padding:14px 16px; border:1px solid oklch(100% 0 0 / .14); border-radius:6px; }
	.pz-classes__table tbody th { width:auto; padding:0 0 8px; border-bottom:1px solid oklch(100% 0 0 / .1); }
	.pz-classes__table td { display:grid; grid-template-columns:minmax(0,11em) minmax(0,1fr); gap:10px; padding:9px 0 0; border:0; font-size:14px; }
	.pz-classes__table td::before { content:attr(data-label); color:oklch(76% .02 258); font-size:13px; }
	.pz-classes__mark { display:none; }
	.pz-classes__table td.is-yes { color:oklch(86% .12 150); }
	.pz-classes__table td.is-no { color:oklch(78% .1 25); }
	.pz-classes__table td.is-part { color:oklch(88% .1 80); }
	.pz-story__quote blockquote { padding:64px 20px 22px; }
	.pz-story__quote blockquote::before { top:6px; left:18px; font-size:72px; }
	.pz-rules__list li { grid-template-columns:40px minmax(0,1fr); gap:14px; }
	.pz-rules__num { width:40px; height:40px; font-size:17px; }
	.pz-rules__scheme { padding:12px 10px 10px; }
	.pz-example__sheet { padding:20px 16px 22px; }
	.pz-example__lines li { grid-template-columns:44px minmax(0,1fr); }
	.pz-example__sum { grid-column:2; }
	.pz-example__total { flex-direction:column; gap:4px; }
	.pz-together__list { grid-template-columns:1fr; }
	.pz-together__list a { grid-template-columns:60px minmax(0,1fr) 18px; gap:12px; }
	.pz-together__media { width:60px; height:45px; }
}

/* ---------- Заглушка «нет фото» (pz_no_photo) ---------- */
.pz-nophoto { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; height:100%; min-height:180px; background:linear-gradient(160deg,var(--navy-075),oklch(95% .01 258)); }
.pz-nophoto svg { width:34%; max-width:150px; height:auto; fill:oklch(84% .02 258); }
.pz-nophoto em { color:var(--muted); font-size:13px; font-style:normal; letter-spacing:.01em; }
.product-media>.pz-nophoto { aspect-ratio:1; min-height:0; border-radius:inherit; }
.product-card__media>.pz-nophoto em { font-size:12px; }
