/* =====================================================================================
   v4.2 — только оформление, поверх site.css. Основа — дизайн 2.30 (шрифты, раскладка, иконки, красные кнопки).
   Откат: убрать строку theme.css из templates/base.html, сайт вернётся к виду 2.30.
   Что изменено: градиенты и красные свечения убраны; тёмные блоки — ровный графит с шестернёй логотипа;
   контраст — между 2.30 (блёкло) и v4 (слишком чёрно).
   ===================================================================================== */
:root {
  --muted: #56575b;
  --line: #d3d4d7;
  --dark: #3e4044;
  --dark-2: #4e5055;
  --dark-ink: #d4d5d8;
  --gear: linear-gradient(var(--dark), var(--dark));   /* site.css берёт отсюда заливку тёмных блоков */
}

/* тёмные акценты шапки — тем же графитом, что полоса и подвал */
.search button, .views a.on { background: var(--dark); }
.search button:hover { background: #2f3135; }

/* светлые поверхности: ровный фон вместо градиентов */
.home-top { background: #fff; }
.slider { background: var(--soft); background-image: none; }
.sl-fig.stage::before { content: none; }
.banner { background: #fff; }
.banner:hover { background: var(--soft); }
.gc-img, .gc-img.im-cut { background: var(--soft); }
.gcard:hover { background: #fff; }
.pcard-s:hover { background: var(--soft); }
.ps-img { background: var(--soft); }
.side-cats { background: var(--soft); }
.stile:hover { background: var(--soft); }
.stile .st-img, .st-img { background: var(--soft); }
.pc-gallery .g-main, .pc-gallery .g-main.empty { background: var(--soft); }
.bp-hero { background: var(--soft); }

/* тёмные блоки: графит без свечений, шестерня логотипа срезана краем */
.foot, .band, .promo, .gc-all, .bp-go { background: var(--dark) !important; background-image: none !important; }
.foot, .band { position: relative; overflow: hidden; }
.foot { border-top: 3px solid var(--accent); }
.foot::after, .band::after { content: ""; position: absolute; pointer-events: none;
  background: url("gear.svg") center / contain no-repeat; opacity: .06; }
.foot::after { right: -130px; bottom: -210px; width: 620px; height: 620px; }
.band::after { right: -170px; top: 50%; width: 460px; height: 460px; transform: translateY(-50%); }
.foot > *, .band > * { position: relative; z-index: 1; }

/* как заказать: сплошная линия от первого пункта до правого края сайта, подписи — по одной высоте */
.steps li { grid-template-rows: 44px auto; align-content: start; }
.band .steps li:last-child::after { content: ""; position: absolute; top: 22px; left: 58px; right: 0; height: 2px; background: rgba(255, 255, 255, .16); }
.band .steps li > span:last-child { align-self: start; }
.band .steps .n { font-size: 20px; }

@media (max-width: 960px) {
  .band::after { width: 320px; height: 320px; right: -110px; }
  .steps li { grid-template-rows: none; }
}
@media (max-width: 600px) {
  .foot::after { width: 380px; height: 380px; right: -120px; bottom: -120px; }
}

/* 2.36 — оформление из визуального редактора (описания, страницы, статьи) */
.prose a.rte-btn { display: inline-block; background: var(--accent, #E5231B); color: #fff; text-decoration: none; font-weight: 700;
  padding: 11px 22px; border-radius: var(--r, 6px); margin: 4px 8px 4px 0; line-height: 1.3; transition: background .2s, box-shadow .2s; }
.prose a.rte-btn:hover { background: #c41a13; color: #fff; }
.prose a.rte-btn.ghost { background: transparent; color: var(--accent, #E5231B); box-shadow: inset 0 0 0 2px var(--accent, #E5231B); }
.prose a.rte-btn.ghost:hover { background: var(--accent, #E5231B); color: #fff; }
.prose a.rte-btn.dark { background: #3e4044; }
.prose a.rte-btn.dark:hover { background: #26282b; }
.prose table:has(> colgroup col[style]) { table-layout: fixed; }
.prose table:has(> colgroup col[style]) th { white-space: normal; }
.prose td, .prose th { overflow-wrap: anywhere; }
.prose hr { border: 0; border-top: 1px solid var(--line, #e3e4e7); margin: 26px 0; }
.prose h4 { font-size: 16.5px; margin: 20px 0 8px; color: var(--ink); }
.prose .callout > :last-child { margin-bottom: 0; }
.prose .tbl > table[style*="width"] { min-width: 0; }
@media (max-width: 560px) { .prose table[style*="width"] { width: 100% !important; } }

/* 2.37 — «Другие названия» и текст раздела (SEO) */
.cat-alt { margin: 6px 0 0; font-size: 14px; color: var(--muted, #6b6e73); }
.spec-alt dd { color: var(--muted, #6b6e73); }
.cat-seo { margin: 40px 0 10px; padding-top: 28px; border-top: 1px solid var(--line, #e3e4e7); max-width: 980px; }
.cat-seo h3 { margin-top: 18px; }
