/* ============================================================
   КАТАЛОГ ИЗДЕЛИЙ ПРОИЗВОДСТВА (pages/production.html и pages/production/*.html)
   Подключается только на этих страницах, после style.css.
   Схемы — встроенные SVG, построенные по объёмной модели изделия в одной проекции:
   контур с размерами, при наведении (и в режиме «Объём») — заливка в оттенках синего.
   ============================================================ */
:root {
  --k-draw: #1f6fd6;  --k-dim: #6b7785;
  --k-paper: #ffffff; --k-open: #eaf1fb;
  --k-fa: #dce9fb;    --k-fb: #b5cff4;  --k-fc: #88aee6;  --k-fd: #1d4c91;  --k-fh: #f4f8fe;
  --k-fig-bg: #f6f9fd; --k-fig-glow: #e3edfa; --k-fig-corner: #a9c1e3;
  --k-todo-bg: #fff1bf; --k-todo-fg: #5c4300;
}
[data-theme="dark"] {
  --k-draw: #5a9df0;  --k-dim: #9aa7b6;
  --k-paper: #1c2a3a; --k-open: #22344a;
  --k-fa: #355f98;    --k-fb: #2a5189;  --k-fc: #1d3e6e;  --k-fd: #081a33;  --k-fh: #5f8fd0;
  --k-fig-bg: #172331; --k-fig-glow: #1d3150; --k-fig-corner: #3f5d86;
  --k-todo-bg: #4a3b0f; --k-todo-fg: #ffe6a0;
}

/* данные, которые нужно заполнить до публикации */
mark.todo { background: var(--k-todo-bg); color: var(--k-todo-fg); padding: 1px 5px; border-radius: 4px; border-bottom: 1px dashed currentColor; }

.kat-text p { color: var(--c-text-soft); line-height: 1.7; margin: 0 0 14px; }
.kat-text p strong { color: var(--c-text); }
.kat-lead { color: var(--c-text-soft); font-size: 16.5px; line-height: 1.65; margin-top: 12px; }

/* фильтр по группам */
.kat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.kat-chips button {
  border: 1px solid var(--c-border); background: var(--c-surface); color: var(--c-text);
  border-radius: 999px; padding: 8px 16px; font: 700 14px var(--font-head); cursor: pointer;
  display: inline-flex; gap: 7px; align-items: center;
}
.kat-chips button small { color: var(--c-text-mute); font-weight: 700; }
.kat-chips button[aria-pressed="true"] { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }
.kat-chips button[aria-pressed="true"] small { color: #d6e6fb; }

/* сетка карточек: 4 в ряд на компьютере */
.kat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1100px) { .kat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px)  { .kat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px)  { .kat-grid { grid-template-columns: 1fr; } }
.kat-card {
  position: relative; display: flex; flex-direction: column;
  background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 12px; overflow: hidden;
  text-decoration: none; color: var(--c-text);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.kat-card[hidden] { display: none; }
.kat-card:hover, .kat-card:focus-visible { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--c-accent); }
.kat-card__fig { aspect-ratio: 16 / 10; max-width: 100%; padding: 8px 18px; border-bottom: 1px solid var(--c-border); }
.kat-card__fig svg { display: block; width: 100%; height: 100%; transition: transform .35s ease; }
.kat-card:hover .kat-card__fig svg, .kat-card:focus-visible .kat-card__fig svg { transform: scale(1.04); }
.kat-card__body { display: flex; flex-direction: column; gap: 5px; padding: 12px 14px 14px; flex: 1; }
.kat-card__cat, .kat-cat { font: 700 11.5px var(--font-head); letter-spacing: .06em; text-transform: uppercase; color: var(--c-text-mute); }
.kat-card__body h3 { font-size: 15.5px; margin: 0; }
.kat-card__body p { color: var(--c-text-soft); font-size: 14px; line-height: 1.45; margin: 0; }
.kat-card__more { margin-top: auto; padding-top: 6px; color: var(--c-accent); font: 700 13.5px var(--font-head); }

/* фон области схемы: светлый лист с уголками рамки */
.kat-fig {
  background:
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) left 10px top 10px / 16px 1.5px no-repeat,
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) left 10px top 10px / 1.5px 16px no-repeat,
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) right 10px top 10px / 16px 1.5px no-repeat,
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) right 10px top 10px / 1.5px 16px no-repeat,
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) left 10px bottom 10px / 16px 1.5px no-repeat,
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) left 10px bottom 10px / 1.5px 16px no-repeat,
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) right 10px bottom 10px / 16px 1.5px no-repeat,
    linear-gradient(var(--k-fig-corner), var(--k-fig-corner)) right 10px bottom 10px / 1.5px 16px no-repeat,
    radial-gradient(ellipse 68% 58% at 50% 54%, var(--k-fig-glow), transparent 72%),
    var(--k-fig-bg);
}

/* элементы схемы
   pf — грань с контуром, pb — полоса светотени (видна только в объёме), pk — повтор контура поверх полос,
   po — открытый торец, pl — тонкая линия (зиги, швы, рёбра), pl2 — линия контура, ps — уплотнитель/рукоятка,
   pd — заклёпка, болт, pp — перфорация; t1…t5 — тона объёма от светлого к тёмному. */
.pf { fill: var(--k-paper); stroke: var(--k-draw); stroke-width: 1.25; stroke-linejoin: round; transition: fill .4s ease; }
.pb { fill: transparent; transition: fill .4s ease; }
.po { fill: var(--k-open); stroke: var(--k-draw); stroke-width: 1.25; stroke-linejoin: round; transition: fill .4s ease; }
.pk, .pl2 { fill: none; stroke: var(--k-draw); stroke-width: 1.25; stroke-linejoin: round; stroke-linecap: round; }
.pl { fill: none; stroke: var(--k-draw); stroke-width: .75; stroke-linejoin: round; stroke-linecap: round; }
.ps { fill: none; stroke: var(--k-draw); stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.pd { fill: var(--k-draw); }
.pp { fill: var(--k-draw); opacity: .55; }
.dm, .dmr { fill: none; stroke: var(--k-dim); stroke-width: .8; }
.dm { marker-start: url(#da); marker-end: url(#da); }
.dmr { marker-end: url(#da); }
.ex { fill: none; stroke: var(--k-dim); stroke-width: .6; stroke-dasharray: 3 2; }
.lb { fill: var(--k-dim); font: italic 700 12px var(--font-head); }
.kat-card:hover .t1, .kat-card:focus-visible .t1, .kat-item__fig:hover .t1, .kat-item__fig.is-solid .t1 { fill: var(--k-fa); }
.kat-card:hover .t2, .kat-card:focus-visible .t2, .kat-item__fig:hover .t2, .kat-item__fig.is-solid .t2 { fill: var(--k-fb); }
.kat-card:hover .t3, .kat-card:focus-visible .t3, .kat-item__fig:hover .t3, .kat-item__fig.is-solid .t3 { fill: var(--k-fc); }
.kat-card:hover .t4, .kat-card:focus-visible .t4, .kat-item__fig:hover .t4, .kat-item__fig.is-solid .t4 { fill: var(--k-fd); }
.kat-card:hover .t5, .kat-card:focus-visible .t5, .kat-item__fig:hover .t5, .kat-item__fig.is-solid .t5 { fill: var(--k-fh); }

/* этапы заказа */
.kat-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: kstep; }
@media (max-width: 900px) { .kat-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kat-steps { grid-template-columns: 1fr; } }
.kat-steps li { position: relative; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 12px; padding: 24px 24px 22px; display: flex; flex-direction: column; gap: 6px; counter-increment: kstep; box-shadow: var(--shadow-sm); }
.kat-steps li::before { content: counter(kstep); font: 800 13px var(--font-head); color: #fff; background: var(--c-red); width: 28px; height: 28px; display: grid; place-items: center; margin-bottom: 4px; }
.kat-steps h3 { font-size: 16.5px; margin: 0; }
.kat-steps p { color: var(--c-text-soft); font-size: 15px; margin: 0; }

/* преимущества */
.kat-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1000px) { .kat-why { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kat-why { grid-template-columns: 1fr; } }
.kat-why > div { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.kat-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--c-accent-soft); color: var(--c-accent); margin-bottom: 8px; }
.kat-ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.kat-why h3 { font-size: 17px; margin: 0; }
.kat-why p { color: var(--c-text-soft); font-size: 15px; line-height: 1.6; margin: 0; }

/* таблицы */
.kat-table { overflow-x: auto; }
.kat-table table { border-collapse: collapse; width: 100%; font-size: 15px; }
.kat-table th, .kat-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--c-border); vertical-align: top; }
.kat-table thead th { font: 700 13px var(--font-head); color: var(--c-text-soft); text-transform: uppercase; letter-spacing: .05em; }

/* вопросы и ответы */
.kat-faq-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 56px; align-items: start; }
.kat-faq-aside .section__head { margin-bottom: 18px; }
.kat-faq-aside p { color: var(--c-text-soft); line-height: 1.65; margin: 0 0 22px; max-width: 34ch; }
.kat-faq-aside .kat-phone { margin-bottom: 10px; }
.kat-mail { display: block; font: 700 15px var(--font-head); color: var(--c-accent); text-decoration: none; }
.kat-faq-aside .kat-phone { display: flex; width: max-content; }
@media (max-width: 860px) { .kat-faq-wrap { grid-template-columns: 1fr; gap: 28px; } }
.kat-faq { display: grid; gap: 10px; }
.kat-faq details { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 12px; padding: 0; transition: box-shadow .25s ease, border-color .25s ease; }
.kat-faq details[open] { border-color: var(--c-accent-line); box-shadow: var(--shadow-sm); }
.kat-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font: 700 16px/1.4 var(--font-head); }
.kat-faq summary::-webkit-details-marker { display: none; }
.kat-faq summary::after { content: ""; flex: none; width: 10px; height: 10px; border-right: 2px solid var(--c-accent); border-bottom: 2px solid var(--c-accent); transform: rotate(45deg) translateY(-3px); transition: transform .25s ease; }
.kat-faq details[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.kat-faq details p { margin: 0; padding: 0 22px 20px; color: var(--c-text-soft); line-height: 1.65; }

/* карточка изделия */
.kat-item { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.kat-item__fig { border: 1px solid var(--c-border); border-radius: 14px; padding: 18px; }
.kat-item__fig svg { display: block; width: 100%; height: auto; }
.kat-figbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 18px; margin-top: 14px; align-items: center; }
.kat-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--c-text-soft); }
.kat-legend b { font-family: var(--font-head); font-style: italic; color: var(--c-text); }
.kat-hint { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--c-text-mute); }
.kat-hint::before { content: ""; width: 14px; height: 14px; border-radius: 4px; background: linear-gradient(135deg, var(--k-fa), var(--k-fc)); box-shadow: inset 0 0 0 1px var(--k-draw); }
.kat-item__fig { cursor: zoom-in; }
.kat-item__info { display: flex; flex-direction: column; }
.kat-item__info .kat-cat { margin-bottom: 8px; }
.kat-item__title { font-size: 24px; line-height: 1.25; margin: 0 0 20px; }

/* таблица технических характеристик */
.kat-spec { width: 100%; border-collapse: collapse; border-top: 2px solid var(--c-accent); }
.kat-spec tr { border-bottom: 1px solid var(--c-border); }
.kat-spec th, .kat-spec td { text-align: left; vertical-align: top; padding: 13px 0; }
.kat-spec th { width: 38%; padding-right: 24px; font: 600 14px/1.5 var(--font-head); color: var(--c-text-soft); }
.kat-spec td { font-size: 15.5px; line-height: 1.5; color: var(--c-text); }
.kat-vals { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.kat-vals li { position: relative; padding-left: 16px; }
.kat-vals li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 2px; border-radius: 1px; background: var(--c-accent); }
.kat-note { display: block; margin-top: 5px; font-size: 13.5px; line-height: 1.45; color: var(--c-text-mute); }

/* описание (под схемой), применение и состав заявки (под характеристиками) */
.kat-desc { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--c-border); }
.kat-desc h2, .kat-side h2 { font-size: 20px; line-height: 1.3; margin: 0 0 16px; }
.kat-desc p { margin: 0 0 14px; font-size: 16px; line-height: 1.75; color: var(--c-text-soft); }
.kat-desc p:last-child { margin-bottom: 0; }
.kat-side { margin-top: 40px; display: grid; gap: 32px; }
.kat-side > div { padding-top: 28px; border-top: 1px solid var(--c-border); }
.kat-side > div:first-child { padding-top: 0; border-top: 0; }
.kat-list, .kat-order { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15.5px; line-height: 1.5; color: var(--c-text-soft); }
.kat-list li { position: relative; padding-left: 20px; }
.kat-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 2px; background: var(--c-accent); }
.kat-order { counter-reset: kord; }
.kat-order li { position: relative; padding-left: 36px; min-height: 24px; counter-increment: kord; }
.kat-order li::before { content: counter(kord); position: absolute; left: 0; top: -1px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--c-accent-soft); color: var(--c-accent); font: 700 12.5px/1 var(--font-head); }
.kat-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--c-border); }
.kat-phone { display: inline-flex; flex-direction: column; font: 800 18px/1.2 var(--font-head); color: var(--c-text); text-decoration: none; }
.kat-phone small { font: 400 13px/1.4 var(--font-body); color: var(--c-text-mute); margin-top: 2px; }
.kat-back { display: inline-flex; margin-top: 32px; font: 700 14.5px var(--font-head); text-decoration: none; color: var(--c-accent); }
@media (max-width: 960px) {
  .kat-item { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 560px) {
  .kat-spec th, .kat-spec td { display: block; width: auto; padding: 0; }
  .kat-spec tr { display: block; padding: 12px 0; }
  .kat-spec th { margin-bottom: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .kat-card, .kat-card__fig svg, .pf, .pb, .po { transition: none; }
}

/* ===== страница «Производство»: вступление, факты, каталог, материалы ===== */
.prd-intro .production__grid { align-items: stretch; }
.prd-intro .production__media { min-height: 440px; }
.kat-intro-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 26px; }
.kat-facts { margin-top: 56px; }
.kat-facts .stat__label { font-size: 14px; }
.kat-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 16px 56px; align-items: end; margin-bottom: 28px; }
.kat-head .section__head { margin-bottom: 0; }
.kat-head .kat-lead { margin: 0; }
@media (max-width: 860px) { .kat-head { grid-template-columns: 1fr; } }

/* плитка «нет нужного изделия» в конце каталога */
.kat-cta-tile {
  grid-column: span 2; position: relative; overflow: hidden; border-radius: 12px; padding: 28px 30px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 22px; color: #fff;
  background: radial-gradient(120% 90% at 100% 0%, rgba(255,255,255,.16), transparent 55%),
              linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-deep) 55%, var(--c-accent-dark) 100%);
  box-shadow: var(--shadow);
}
@media (max-width: 480px) { .kat-cta-tile { grid-column: 1 / -1; } }
.kat-cta-tile__art { position: absolute; right: -24px; bottom: -18px; width: 52%; max-width: 300px; opacity: .32; pointer-events: none; }
.kat-cta-tile__art svg { display: block; width: 100%; height: auto; }
.kat-cta-tile__art .pf, .kat-cta-tile__art .po, .kat-cta-tile__art .pk, .kat-cta-tile__art .pl, .kat-cta-tile__art .pl2, .kat-cta-tile__art .ps { fill: none; stroke: rgba(255,255,255,.75); }
.kat-cta-tile__art .pb { fill: none; }
.kat-cta-tile__art .pd, .kat-cta-tile__art .pp { fill: rgba(255,255,255,.75); }
.kat-cta-tile__art .dm, .kat-cta-tile__art .dmr, .kat-cta-tile__art .ex, .kat-cta-tile__art .lb { display: none; }
.kat-cta-tile__text { position: relative; max-width: 330px; }
.kat-cta-tile__tag { font: 700 11.5px var(--font-head); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.78); }
.kat-cta-tile h3 { color: #fff; font-size: 22px; line-height: 1.25; margin: 8px 0 10px; }
.kat-cta-tile p { color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.55; margin: 0; }
.kat-cta-tile__actions { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.kat-cta-tile__phone { font: 800 17px var(--font-head); color: #fff; text-decoration: none; }

/* материалы */
.kat-mats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1000px) { .kat-mats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kat-mats { grid-template-columns: 1fr; } }
.kat-mat { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.kat-mat__sw { height: 84px; border-bottom: 1px solid var(--c-border); }
.kat-mat__sw--galv { background: radial-gradient(circle at 22% 38%, rgba(255,255,255,.55) 0 9%, transparent 10%), radial-gradient(circle at 68% 62%, rgba(255,255,255,.45) 0 11%, transparent 12%), radial-gradient(circle at 86% 22%, rgba(255,255,255,.4) 0 7%, transparent 8%), linear-gradient(135deg, #c9d3de, #e9eef3 45%, #bfc9d4); }
.kat-mat__sw--inox { background: repeating-linear-gradient(90deg, rgba(255,255,255,.35) 0 1px, transparent 1px 4px), linear-gradient(180deg, #eef1f4, #c9d0d8 55%, #e3e7ec); }
.kat-mat__sw--black { background: linear-gradient(135deg, #4a525c, #2a3037 55%, #3b434c); }
.kat-mat__sw--alu { background: repeating-linear-gradient(90deg, rgba(255,255,255,.3) 0 1px, transparent 1px 5px) left / 50% 100% no-repeat, linear-gradient(90deg, #d9dfe5 0 50%, #6f8aa6 50% 100%); }
.kat-mat__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; }
.kat-mat h3 { font-size: 17px; line-height: 1.3; margin: 0; }
.kat-mat__grade { font: 600 13px var(--font-head); color: var(--c-accent); }
.kat-mat p { color: var(--c-text-soft); font-size: 15px; line-height: 1.6; margin: 4px 0 0; }
.kat-pgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 28px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 12px; }
.kat-pgrid > div { padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.kat-pgrid > div + div { border-left: 1px solid var(--c-border); }
.kat-pgrid span { font: 700 11.5px var(--font-head); letter-spacing: .07em; text-transform: uppercase; color: var(--c-text-mute); }
.kat-pgrid b { font: 800 18px/1.3 var(--font-head); color: var(--c-text); }
.kat-pgrid small { font-size: 13.5px; line-height: 1.45; color: var(--c-text-soft); }
@media (max-width: 1000px) { .kat-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kat-pgrid > div:nth-child(3) { border-left: 0; } .kat-pgrid > div:nth-child(n+3) { border-top: 1px solid var(--c-border); } }
@media (max-width: 560px) { .kat-pgrid { grid-template-columns: 1fr; } .kat-pgrid > div + div { border-left: 0; border-top: 1px solid var(--c-border); } }

/* вводный блок «Производство» — панель по ширине сетки каталога */
#katalog + .prd-intro { padding-top: 0; }
.prd-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-sm); }
.prd-panel__text { padding: 48px 52px 44px; }
.prd-panel__text .section__tag { display: inline-block; margin-bottom: 10px; }
.prd-panel__text .section__title { margin: 0 0 20px; }
.prd-panel__media { position: relative; min-height: 460px; }
.prd-panel__media .prod-slideshow { position: absolute; inset: 0; }
.prd-panel__facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--c-border); }
.prd-panel__facts > div { padding: 26px 30px 28px; display: flex; flex-direction: column; gap: 8px; }
.prd-panel__facts > div + div { border-left: 1px solid var(--c-border); }
.prd-panel__facts b { font: 800 32px/1 var(--font-head); color: var(--c-text); }
.prd-panel__facts b span { color: inherit; }
.prd-panel__facts small { font-size: 14px; line-height: 1.45; color: var(--c-text-soft); }
@media (max-width: 960px) {
  .prd-panel { grid-template-columns: 1fr; }
  .prd-panel__text { padding: 32px 26px; }
  .prd-panel__media { min-height: 280px; order: -1; }
  .prd-panel__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prd-panel__facts > div:nth-child(3) { border-left: 0; }
  .prd-panel__facts > div:nth-child(n+3) { border-top: 1px solid var(--c-border); }
}
@media (max-width: 480px) { .prd-panel__facts b { font-size: 26px; } .prd-panel__facts > div { padding: 20px; } }

/* единый вертикальный ритм на страницах каталога: блоки плотнее, без пустот */
.page-katalog .section { padding: 56px 0; }
.page-katalog .section__head { margin-bottom: 30px; }
.page-katalog #katalog + .prd-intro { padding-top: 0; }
.page-katalog .kat-desc { margin-top: 32px; padding-top: 28px; }
.page-katalog .kat-side { margin-top: 32px; gap: 28px; }
.page-katalog .kat-side > div { padding-top: 24px; }
.page-katalog .kat-side > div:first-child { padding-top: 0; }
.page-katalog .kat-back { margin-top: 24px; }
@media (max-width: 560px) { .page-katalog .section { padding: 40px 0; } }
