/* rb-calc: общий слой страницы калькулятора в теме remboo2020.
   Подключается перед стилями калькулятора; правила, которые должны перебить
   стили страницы, идут с селектором body.rb-calc-page #content — он тяжелее
   любого «#content .remboo-<имя> …» из style.css калькулятора. */

/* Колонка контента на всю ширину контейнера (1140px на xl): тема даёт статье
   col-lg-10 с отступом, калькулятору с двумя панелями этого мало. */
body.rb-calc-page .container.main > .row > .col-lg-10 {
  flex: 0 0 100%;
  max-width: 100%;
  margin-left: 0;
}

/* Тема оформляет #content под статью — узкие абзацы, тире вместо маркеров,
   отрицательный отступ у ol. Внутри калькулятора это лишнее; собственные
   стили калькулятора идут следом с тем же префиксом и перекрывают эти. */
#content .remboo-calculator p { max-width: none; margin: 0; }
#content .remboo-calculator ul,
#content .remboo-calculator ol { max-width: none; margin: 0; padding-left: 1.3em; }
#content .remboo-calculator ul { list-style: disc; }
#content .remboo-calculator ul li::before { content: none; float: none; margin: 0; }
#content .remboo-calculator li { font-size: inherit; margin-bottom: .35em; }
#content .remboo-calculator img,
#content .remboo-calculator svg { margin: 0; }
#content .remboo-calculator blockquote { background: none; padding: 0; width: auto; }
/* Bootstrap уносит caption под таблицу и красит h2 в 500 */
#content .remboo-calculator caption { caption-side: top; }
#content .remboo-calculator h2,
#content .remboo-calculator h3 { font-weight: 700; }
/* Ссылка на расчёт под виджетом «поделиться» темы не нужна дважды */
body.rb-calc-page .likely { margin-bottom: 1rem; }

/* ---- Сквозные правки по прожарке 13.09.2026 ------------------------------ */

/* 1. Карточка формул: подписи и формулы не обрезать. На телефоне — в столбик:
   формула, под ней подпись. */
body.rb-calc-page #content .remboo-calculator .formula-card {
  overflow: visible;
  /* «1fr auto»: длинная подпись в auto-колонке отжимала формулу до одной буквы в строке */
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
}
body.rb-calc-page #content .remboo-calculator .formula-card span,
body.rb-calc-page #content .remboo-calculator .formula-card small {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  body.rb-calc-page #content .remboo-calculator .formula-card { grid-template-columns: 1fr; }
  body.rb-calc-page #content .remboo-calculator .formula-card span { padding-bottom: 4px; border-bottom: 0; }
  body.rb-calc-page #content .remboo-calculator .formula-card small { padding-top: 0; }
  body.rb-calc-page #content .remboo-calculator .formula-card small:last-child { border-bottom: 0; }
}

/* 2. Таблицы шире экрана: тень справа, подпись «прокрутите», первая колонка
   остаётся на месте. Класс rb-scrollable ставит rb-calc.js по факту. */
body.rb-calc-page #content .remboo-calculator .table-scroll { position: relative; }
body.rb-calc-page #content .remboo-calculator table.rb-narrow { min-width: 0; }
body.rb-calc-page #content .remboo-calculator table.rb-narrow th,
body.rb-calc-page #content .remboo-calculator table.rb-narrow td { white-space: normal; }
@media (max-width: 600px) {
  body.rb-calc-page #content .remboo-calculator table.rb-narrow th,
  body.rb-calc-page #content .remboo-calculator table.rb-narrow td { padding-left: 8px; padding-right: 8px; }
}
body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 40px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(23, 33, 43, 0), rgba(23, 33, 43, .18));
  transition: opacity .2s;
}
body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable.rb-scroll-end::after { opacity: 0; }
body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable th:first-child,
body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
  box-shadow: 1px 0 0 rgba(23, 33, 43, .12);
}
body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable thead th:first-child { background: #eef1f3; }
body.rb-calc-page #content .remboo-calculator .rb-scroll-hint {
  margin: 0 0 6px;
  color: #66717c;
  font-size: .8rem;
  font-weight: 500;
}
body.rb-calc-page #content .remboo-calculator .rb-scroll-hint[hidden] { display: none; }

/* 3. Липкая полоска с главной цифрой внизу экрана, пока результат ниже
   видимой области (телефон и планшет — там колонки сложены). */
body.rb-calc-page #content .remboo-calculator .rb-sticky {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  border: 0;
  border-radius: 0;
  background: #17212b;
  color: #fff;
  box-shadow: 0 -6px 20px rgba(0, 0, 0, .25);
  font: 600 15px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
  text-align: left;
  cursor: pointer;
  transform: translateY(110%);
  transition: transform .2s;
}
body.rb-calc-page #content .remboo-calculator .rb-sticky.rb-on { transform: none; }
body.rb-calc-page #content .remboo-calculator .rb-sticky strong {
  font-size: 1.35rem;
  letter-spacing: -.02em;
  white-space: nowrap;
  max-width: 60%;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 1 auto;
}
@media (max-width: 360px) {
  body.rb-calc-page #content .remboo-calculator .rb-sticky strong { font-size: 1.1rem; }
}
body.rb-calc-page #content .remboo-calculator .rb-sticky span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: #bdc7ce;
  font-size: .8rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.rb-calc-page #content .remboo-calculator .rb-sticky em {
  color: #e7a33a;
  font-size: .8rem;
  font-style: normal;
  white-space: nowrap;
}
body.rb-calc-page #content .remboo-calculator .rb-sticky.rb-error { background: #7c2d12; }
body.rb-calc-page #content .remboo-calculator .rb-sticky.rb-error span {
  color: #ffe1d6;
  font-weight: 600;
  white-space: normal;
}
@media (min-width: 901px) {
  body.rb-calc-page #content .remboo-calculator .rb-sticky { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.rb-calc-page #content .remboo-calculator .rb-sticky { transition: none; }
}

/* 4. Ошибка ввода — у поля: подсветка поля и текст под ним. Поле помечает
   app.js калькулятора (aria-invalid), текст дописывает rb-calc.js. */
body.rb-calc-page #content .remboo-calculator input[aria-invalid="true"],
body.rb-calc-page #content .remboo-calculator select[aria-invalid="true"] {
  border-color: #b62424;
  box-shadow: 0 0 0 3px rgba(182, 36, 36, .14);
}
body.rb-calc-page #content .remboo-calculator .rb-field-error {
  display: block;
  margin: 6px 0 0;
  color: #9a3412;
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.4;
}

/* Мелочи серии: summary с подсказкой не слипается и не мельче цели тапа;
   чекбоксы не 13 px. */
body.rb-calc-page #content .remboo-calculator details > summary {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  align-items: baseline;
  min-height: 44px;
  position: relative;
  padding-right: 36px;
}
/* «+ / −» страницы — не в потоке: при переносе подсказки на вторую строку знак не уезжает на третью */
body.rb-calc-page #content .remboo-calculator details > summary::after { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); margin: 0; }
body.rb-calc-page #content .remboo-calculator input[type="checkbox"],
body.rb-calc-page #content .remboo-calculator input[type="radio"] {
  width: 22px;
  height: 22px;
  min-height: 0;
}
@media print {
  body.rb-calc-page #content .remboo-calculator .rb-sticky,
  body.rb-calc-page #content .remboo-calculator .rb-scroll-hint { display: none; }
  body.rb-calc-page #content .remboo-calculator .table-scroll { overflow: visible; }
  body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable::after { content: none; }
}

/* ---- Мир темы «Чертёж» (2026-09-16) ----------------------------------------
   Один слой на все 31 страницу: белый лист, тонкие чернильные линии, жёлтый — маркер.
   Результат — белая карточка с чернильной рамкой, главная цифра подчёркнута маркером;
   при пересчёте маркер проводится заново. Правила идут с body.rb-calc-page #content —
   тяжелее любого «#content .remboo-<имя> …» в style.css калькулятора. */

body.rb-calc-page #content .remboo-calculator {
  --ink: #111111; --muted: #5A5A56; --line: #111111; --paper: #FFFFFF; --panel: #F5F5F3;
  --accent: #FFD500; --accent-dark: #111111; --blue: #111111; --danger: #B23A0C; --dark: #111111;
  --rb-y: #FFD500; --rb-y-soft: #FFF3B0; --rb-g1: #F5F5F3; --rb-g2: #E8E8E5; --rb-g6: #767671;
  --rb-mark: linear-gradient(transparent 58%, #FFD500 58%, #FFD500 94%, transparent 94%);
  color: var(--ink);
  font-family: inherit;
  font-size: 17px;
}
body.rb-calc-page #content .remboo-calculator .calc-shell { max-width: none; padding: 0; background: transparent; }
body.rb-calc-page #content .remboo-calculator .calc-intro { max-width: 62ch; margin: 0 0 28px; }
/* Кикер над заголовком и повтор заголовка страницы — не показываем: H1 уже дала тема */
body.rb-calc-page #content .remboo-calculator .calc-intro > .eyebrow,
body.rb-calc-page #content .remboo-calculator .calc-intro > .calculator-title { display: none; }
body.rb-calc-page #content .remboo-calculator .calc-intro > p { font-size: 19px; color: #5A5A56; margin: 0 0 8px; }
/* Подписи зон — капители с маркером */
body.rb-calc-page #content .remboo-calculator .eyebrow {
  display: inline-block; margin: 0 0 12px; padding: 0 3px; background: var(--rb-mark); color: #111;
  font-size: 12px; line-height: 1.3; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
body.rb-calc-page #content .remboo-calculator h2,
body.rb-calc-page #content .remboo-calculator h3 { color: #111; letter-spacing: -0.015em; }
body.rb-calc-page #content .remboo-calculator h2 { font-size: clamp(24px, 2.6vw, 29px); }
body.rb-calc-page #content .remboo-calculator section { margin-top: 44px; }

/* Форма: просто лист — без рамки; разделы отчёркнуты линейкой, номера не нужны */
body.rb-calc-page #content .remboo-calculator form { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 0; }
body.rb-calc-page #content .remboo-calculator .section-title { border-top: 1px solid #E8E8E5; padding-top: 16px; margin: 6px 0 14px; }
body.rb-calc-page #content .remboo-calculator .section-title:first-child { border-top: 0; padding-top: 0; }
body.rb-calc-page #content .remboo-calculator .section-title > span { display: none; }
body.rb-calc-page #content .remboo-calculator .section-title h3 { font-size: 18px; }
body.rb-calc-page #content .remboo-calculator label { font-size: 15px; font-weight: 500; color: #111; }
body.rb-calc-page #content .remboo-calculator input,
body.rb-calc-page #content .remboo-calculator select,
body.rb-calc-page #content .remboo-calculator textarea {
  border: 1px solid #BDBDB8; border-radius: 0; background: #fff; color: #111; box-shadow: none; font-family: inherit; font-size: 16px; font-weight: 500;
}
body.rb-calc-page #content .remboo-calculator input:hover,
body.rb-calc-page #content .remboo-calculator select:hover,
body.rb-calc-page #content .remboo-calculator textarea:hover { border-color: #767671; }
body.rb-calc-page #content .remboo-calculator input:focus,
body.rb-calc-page #content .remboo-calculator select:focus,
body.rb-calc-page #content .remboo-calculator textarea:focus { outline: none; border-color: #111; box-shadow: 0 0 0 1px #111; }
body.rb-calc-page #content .remboo-calculator button:focus-visible,
body.rb-calc-page #content .remboo-calculator summary:focus-visible {
  outline: 2px solid #111; outline-offset: 2px; box-shadow: 0 0 0 5px #FFD500; border-color: #111;
}
body.rb-calc-page #content .remboo-calculator input:disabled,
body.rb-calc-page #content .remboo-calculator select:disabled { background: #F5F5F3; color: #767671; border-color: #BDBDB8; }
body.rb-calc-page #content .remboo-calculator input[aria-invalid="true"],
body.rb-calc-page #content .remboo-calculator select[aria-invalid="true"] { border-color: #B23A0C; box-shadow: 0 0 0 3px rgba(255, 90, 31, .25); }
body.rb-calc-page #content .remboo-calculator .rb-field-error { color: #B23A0C; }
body.rb-calc-page #content .remboo-calculator .check input { accent-color: #111; }
body.rb-calc-page #content .remboo-calculator small,
body.rb-calc-page #content .remboo-calculator .hint { color: #5A5A56; font-size: 14px; }
body.rb-calc-page #content .remboo-calculator p.hint { margin: 6px 0 14px; }
body.rb-calc-page #content .remboo-calculator details { border-color: #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .cost-fields > summary::after,
body.rb-calc-page #content .remboo-calculator summary::after { color: #111; }
/* Кнопки-пресеты и переключатели режимов */
body.rb-calc-page #content .remboo-calculator [class*="presets"] button,
body.rb-calc-page #content .remboo-calculator .segmented button,
body.rb-calc-page #content .remboo-calculator .mode-switch button,
body.rb-calc-page #content .remboo-calculator .tabs button {
  border: 1.5px solid #D6D6D2; border-radius: 0; background: #fff; color: #111; font-weight: 600; box-shadow: none;
}
body.rb-calc-page #content .remboo-calculator [class*="presets"] button:hover,
body.rb-calc-page #content .remboo-calculator .segmented button:hover,
body.rb-calc-page #content .remboo-calculator .mode-switch button:hover,
body.rb-calc-page #content .remboo-calculator .tabs button:hover { border-color: #111; }
body.rb-calc-page #content .remboo-calculator [class*="presets"] button[aria-pressed="true"],
body.rb-calc-page #content .remboo-calculator .segmented button[aria-pressed="true"],
body.rb-calc-page #content .remboo-calculator .mode-switch button[aria-pressed="true"],
body.rb-calc-page #content .remboo-calculator .tabs button[aria-selected="true"],
body.rb-calc-page #content .remboo-calculator button.is-active { background: #FFF3B0; border-color: #111; color: #111; font-weight: 700; padding-left: 28px; position: relative; }
/* Состояние — метка: галка на выбранном пресете */
body.rb-calc-page #content .remboo-calculator [class*="presets"] button[aria-pressed="true"]::before,
body.rb-calc-page #content .remboo-calculator .segmented button[aria-pressed="true"]::before,
body.rb-calc-page #content .remboo-calculator .mode-switch button[aria-pressed="true"]::before,
body.rb-calc-page #content .remboo-calculator .tabs button[aria-selected="true"]::before,
body.rb-calc-page #content .remboo-calculator button.is-active::before {
  content: ""; position: absolute; left: 10px; top: 50%; width: 10px; height: 5px; margin-top: -5px;
  border-left: 2px solid #111; border-bottom: 2px solid #111; transform: rotate(-45deg);
}

/* Результат: белая карточка с чернильной рамкой, главная цифра подчёркнута маркером */
body.rb-calc-page #content .remboo-calculator aside { top: 24px; }
body.rb-calc-page #content .remboo-calculator .result-card {
  position: relative; overflow: visible; border: 1.5px solid #111; border-radius: 0; box-shadow: none;
  background: #fff; color: #111; padding: 22px 24px 22px;
}
body.rb-calc-page #content .remboo-calculator .result-card,
body.rb-calc-page #content .remboo-calculator .result-card p,
body.rb-calc-page #content .remboo-calculator .result-card strong,
body.rb-calc-page #content .remboo-calculator .result-card span,
body.rb-calc-page #content .remboo-calculator .result-card em,
body.rb-calc-page #content .remboo-calculator .result-card div,
body.rb-calc-page #content .remboo-calculator .result-card td,
body.rb-calc-page #content .remboo-calculator .result-card th,
body.rb-calc-page #content .remboo-calculator .result-card caption,
body.rb-calc-page #content .remboo-calculator .result-card li { color: #111; }
body.rb-calc-page #content .remboo-calculator .result-card a { color: #111; }
body.rb-calc-page #content .remboo-calculator .primary-result strong {
  display: inline-block; width: fit-content; max-width: 100%; align-self: flex-start; font-size: clamp(38px, 5vw, 60px); font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums;
  background: var(--rb-mark); background-repeat: no-repeat; background-size: 100% 100%; padding: 0 .06em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
/* Пересчёт: маркер проводится под цифрой заново; при reduced-motion — статичен */
body.rb-calc-page #content .remboo-calculator .result-card.rb-fresh .primary-result strong { animation: rb-mark .55s cubic-bezier(.2, .8, .2, 1); }
@keyframes rb-mark { from { background-size: 0 100%; } to { background-size: 100% 100%; } }
@media (prefers-reduced-motion: reduce) {
  body.rb-calc-page #content .remboo-calculator .result-card.rb-fresh .primary-result strong { animation: none; }
}
body.rb-calc-page #content .remboo-calculator .primary-result span,
body.rb-calc-page #content .remboo-calculator .primary-result em { color: #5A5A56; font-size: 15px; }
body.rb-calc-page #content .remboo-calculator .primary-result em { color: #B23A0C; }
body.rb-calc-page #content .remboo-calculator .top-metrics { border-radius: 0; background: transparent; gap: 0; border-top: 1.5px solid #111; border-bottom: 1px solid #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .top-metrics > div { background: transparent; padding: 12px 12px 12px 0; border-left: 0; border-right: 1px solid #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .top-metrics > div:last-child { border-right: 0; }
body.rb-calc-page #content .remboo-calculator .top-metrics > div + div { padding-left: 12px; }
body.rb-calc-page #content .remboo-calculator .top-metrics span { color: #5A5A56; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
body.rb-calc-page #content .remboo-calculator .top-metrics strong { font-size: 19px; font-variant-numeric: tabular-nums; white-space: nowrap; }
/* В столбик (≤560 в калькуляторах) разделитель между метриками — горизонтальная линия, не правая кромка */
@media (max-width: 560px) {
  body.rb-calc-page #content .remboo-calculator .top-metrics > div { border-right: 0; padding-right: 0; border-bottom: 1px solid #E8E8E5; }
  body.rb-calc-page #content .remboo-calculator .top-metrics > div:last-child { border-bottom: 0; }
  body.rb-calc-page #content .remboo-calculator .top-metrics > div + div { padding-left: 0; }
}
body.rb-calc-page #content .remboo-calculator .direct-answer { border: 0; border-radius: 0; background: transparent; padding: 0; margin: 18px 0; font-size: 17px; font-weight: 500; line-height: 1.5; }
/* Подробности — серые панели, предупреждение — с оранжевой чертой слева */
/* Детали и сравнение стоимости — линейки: чернильная черта над группой, серые между ячейками */
body.rb-calc-page #content .remboo-calculator .details-grid,
body.rb-calc-page #content .remboo-calculator .cost-comparison { gap: 0 20px; border-top: 1.5px solid #111; }
body.rb-calc-page #content .remboo-calculator .details-grid > div,
body.rb-calc-page #content .remboo-calculator .cost-comparison > div,
body.rb-calc-page #content .remboo-calculator .result-card .variants,
body.rb-calc-page #content .remboo-calculator .result-card table { background: transparent; border-radius: 0; border: 0; }
body.rb-calc-page #content .remboo-calculator .details-grid > div,
body.rb-calc-page #content .remboo-calculator .cost-comparison > div { padding: 10px 0; border-bottom: 1px solid #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .details-grid span,
body.rb-calc-page #content .remboo-calculator .cost-comparison span { color: #5A5A56; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
body.rb-calc-page #content .remboo-calculator .details-grid em { color: #5A5A56; font-size: 13px; }
body.rb-calc-page #content .remboo-calculator .result-card .variants { padding: 0; border-top: 0; }
body.rb-calc-page #content .remboo-calculator .result-card .variants th,
body.rb-calc-page #content .remboo-calculator .result-card .variants td { border-top: 1px solid #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .result-card .variants thead th { color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .result-card .variants tr.chosen,
body.rb-calc-page #content .remboo-calculator .result-card .variants tr.chosen:hover { background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .result-card .variants tbody tr:hover { background: #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .warnings { background: transparent; border-radius: 0; border: 0; border-left: 4px solid #FF5A1F; color: #111; font-size: 14px; padding: 4px 0 4px 14px; margin-top: 16px; }
body.rb-calc-page #content .remboo-calculator .warnings::before { content: "Обратите внимание"; display: block; color: #B23A0C; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
body.rb-calc-page #content .remboo-calculator .warnings:empty { display: none; }
body.rb-calc-page #content .remboo-calculator .warnings p { color: #111; }
body.rb-calc-page #content .remboo-calculator #calc-error { background: #fff; color: #B23A0C; border-radius: 0; border: 0; border-left: 4px solid #B23A0C; padding: 4px 0 4px 14px; font-weight: 600; }
body.rb-calc-page #content .remboo-calculator .actions { margin-top: 20px; gap: 10px; padding: 0; background: transparent; border: 0; }
body.rb-calc-page #content .remboo-calculator .actions button,
body.rb-calc-page #content .remboo-calculator button.primary,
body.rb-calc-page #content .remboo-calculator button[type="submit"] {
  min-height: 48px; border: 1.5px solid #111; border-radius: 0; background: #fff; color: #111; font-weight: 700; font-size: 14px;
  letter-spacing: .04em; text-transform: uppercase; box-shadow: none;
}
body.rb-calc-page #content .remboo-calculator .actions button:first-child,
body.rb-calc-page #content .remboo-calculator button.primary,
body.rb-calc-page #content .remboo-calculator button[type="submit"] { background: #FFD500; color: #111; }
body.rb-calc-page #content .remboo-calculator .actions button:hover { background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .actions button:first-child:hover { background: #111; color: #fff; }
body.rb-calc-page #content .remboo-calculator .article-link { color: #111; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
body.rb-calc-page #content .remboo-calculator #share-link { border: 1.5px solid #111; border-radius: 0; background: #fff; color: #111; }
body.rb-calc-page #content .remboo-calculator #share-status { color: #111; background: transparent; }

/* Доски и брус — первый калькулятор, у него старые классы (.result/.primary/.metrics вместо .result-card/.primary-result/.top-metrics): та же белая карточка */
body.rb-calc-page #content .remboo-calculator .result { border: 1.5px solid #111; border-radius: 0; box-shadow: none; background: #fff; color: #111; padding: 22px 24px; }
body.rb-calc-page #content .remboo-calculator .result p, body.rb-calc-page #content .remboo-calculator .result strong, body.rb-calc-page #content .remboo-calculator .result span,
body.rb-calc-page #content .remboo-calculator .result small, body.rb-calc-page #content .remboo-calculator .result dt, body.rb-calc-page #content .remboo-calculator .result dd,
body.rb-calc-page #content .remboo-calculator .result div, body.rb-calc-page #content .remboo-calculator .result a { color: #111; }
body.rb-calc-page #content .remboo-calculator .result .eyebrow { color: #111; }
body.rb-calc-page #content .remboo-calculator .result .primary strong {
  display: inline-block; width: fit-content; max-width: 100%; font-size: clamp(38px, 5vw, 60px); font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums;
  background: var(--rb-mark); background-repeat: no-repeat; background-size: 100% 100%; padding: 0 .06em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
body.rb-calc-page #content .remboo-calculator .result.rb-fresh .primary strong { animation: rb-mark .55s cubic-bezier(.2, .8, .2, 1); }
body.rb-calc-page #content .remboo-calculator .result .primary span { color: #5A5A56; font-size: 15px; }
body.rb-calc-page #content .remboo-calculator .result .metrics { gap: 0 20px; margin: 20px 0; border-top: 1.5px solid #111; }
body.rb-calc-page #content .remboo-calculator .result .metrics > div { padding: 12px 0; border-bottom: 1px solid #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .result .metrics span { color: #5A5A56; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
body.rb-calc-page #content .remboo-calculator .result .metrics strong { font-size: 19px; font-weight: 700; }
body.rb-calc-page #content .remboo-calculator .result .metrics small { color: #5A5A56; font-size: 13px; }
body.rb-calc-page #content .remboo-calculator .result .divider { border-top-color: #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .result dl { font-size: 14px; }
body.rb-calc-page #content .remboo-calculator .result dt { color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .result p { font-size: 15px; }
body.rb-calc-page #content .remboo-calculator .warning { background: transparent; color: #111; border-radius: 0; border-left: 4px solid #FF5A1F; padding: 4px 0 4px 14px; }

/* Свой селект (rb-calc.mjs customSelects): кнопка как поле, список — белая панель в чернильной рамке.
   Выбранный пункт — след маркера с галкой (как пресет), подсвеченный клавишами — серый. */
/* contain: inline-size — длинный пункт не раздвигает колонку сетки, текст режется многоточием */
body.rb-calc-page #content .remboo-calculator .rb-select { position: relative; margin-top: 6px; min-width: 0; contain: inline-size; }
body.rb-calc-page #content .remboo-calculator .rb-select__native { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: 0; padding: 0; border: 0; opacity: 0; pointer-events: none; overflow: hidden; clip: rect(0 0 0 0); }
body.rb-calc-page #content .remboo-calculator .rb-select__btn {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px; margin: 0; padding: 8px 40px 8px 12px; position: relative;
  border: 1px solid #BDBDB8; border-radius: 0; background: #fff; color: #111; font: inherit; font-size: 16px; font-weight: 500; line-height: 1.3; text-align: left; cursor: pointer; box-shadow: none;
}
body.rb-calc-page #content .remboo-calculator .rb-select__btn:hover { border-color: #767671; background: #fff; }
body.rb-calc-page #content .remboo-calculator .rb-select.is-open .rb-select__btn,
body.rb-calc-page #content .remboo-calculator .rb-select__btn:focus-visible { outline: none; border-color: #111; box-shadow: 0 0 0 1px #111; background: #fff; }
body.rb-calc-page #content .remboo-calculator .rb-select.is-invalid .rb-select__btn { border-color: #B23A0C; box-shadow: 0 0 0 3px rgba(255, 90, 31, .25); }
body.rb-calc-page #content .remboo-calculator .rb-select__btn:disabled { background: #F5F5F3; color: #767671; border-color: #BDBDB8; cursor: default; }
body.rb-calc-page #content .remboo-calculator .rb-select__btn::after { content: ""; position: absolute; right: 15px; top: 50%; width: 8px; height: 8px; margin-top: -7px; border-right: 1.5px solid #111; border-bottom: 1.5px solid #111; transform: rotate(45deg); transition: transform .15s; }
body.rb-calc-page #content .remboo-calculator .rb-select.is-open .rb-select__btn::after { transform: rotate(-135deg); margin-top: -2px; }
body.rb-calc-page #content .remboo-calculator .rb-select__val { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rb-calc-page #content .remboo-calculator .rb-select__icon { flex: none; width: 26px; height: 26px; color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-select__vtext { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rb-calc-page #content .remboo-calculator .rb-select__vgroup { color: #5A5A56; font-weight: 400; }
body.rb-calc-page #content .remboo-calculator .rb-select__swatch { flex: none; width: 18px; height: 18px; border: 1px solid rgba(17, 17, 17, .25); }
body.rb-calc-page #content .remboo-calculator .rb-select__pop {
  position: absolute; left: 0; right: 0; top: calc(100% - 1px); z-index: 30; display: flex; flex-direction: column; max-height: min(380px, 60vh); min-width: 240px;
  background: #fff; border: 1.5px solid #111; box-shadow: 0 14px 30px rgba(17, 17, 17, .14);
}
body.rb-calc-page #content .remboo-calculator .rb-select.is-up .rb-select__pop { top: auto; bottom: calc(100% - 1px); box-shadow: 0 -14px 30px rgba(17, 17, 17, .14); }
body.rb-calc-page #content .remboo-calculator .rb-select__pop[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__search { flex: none; width: 100%; height: 44px; margin: 0; padding: 8px 12px; border: 0; border-bottom: 1px solid #E8E8E5; border-radius: 0; font-size: 15px; font-weight: 500; background: #fff; }
body.rb-calc-page #content .remboo-calculator .rb-select__search:hover { border-color: #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .rb-select__search:focus { outline: none; box-shadow: none; border-bottom-color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-select__search[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__search::-webkit-search-cancel-button { -webkit-appearance: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__list { overflow-y: auto; overscroll-behavior: contain; padding: 4px 0; outline: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__list:focus, body.rb-calc-page #content .remboo-calculator .rb-select__list:focus-visible { outline: none; box-shadow: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__group { padding: 12px 12px 4px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #767671; }
body.rb-calc-page #content .remboo-calculator .rb-select__group[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__opt {
  display: flex; align-items: center; gap: 10px; width: 100%; margin: 0; padding: 9px 12px 9px 34px; position: relative;
  border: 0; border-radius: 0; background: transparent; color: #111; font: inherit; font-size: 15px; font-weight: 500; line-height: 1.35; text-align: left; cursor: pointer; box-shadow: none;
}
body.rb-calc-page #content .remboo-calculator .rb-select__opt:hover, body.rb-calc-page #content .remboo-calculator .rb-select__opt.is-hot { background: #F5F5F3; }
body.rb-calc-page #content .remboo-calculator .rb-select__opt.is-selected { background: #FFF3B0; font-weight: 700; }
body.rb-calc-page #content .remboo-calculator .rb-select__opt.is-selected::before { content: ""; position: absolute; left: 13px; top: 50%; width: 10px; height: 5px; margin-top: -5px; border-left: 2px solid #111; border-bottom: 2px solid #111; transform: rotate(-45deg); }
body.rb-calc-page #content .remboo-calculator .rb-select__opt:disabled { color: #767671; cursor: default; background: transparent; }
body.rb-calc-page #content .remboo-calculator .rb-select__opt[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__text { display: flex; flex-direction: column; min-width: 0; }
body.rb-calc-page #content .remboo-calculator .rb-select__desc { display: block; margin: 1px 0 0; font-size: 13px; font-weight: 400; color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .rb-select__empty { margin: 0; padding: 12px; font-size: 14px; color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .rb-select__empty[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-select__head { display: none; }
/* На телефоне список — лист снизу экрана с подписью поля и крестиком, страница за ним притемнена */
@media (max-width: 560px) {
  body.rb-calc-page #content .remboo-calculator .rb-select__pop { position: fixed; left: 0; right: 0; bottom: 0; top: auto; max-height: 72vh; border-width: 1.5px 0 0; box-shadow: none; z-index: 70; padding-bottom: env(safe-area-inset-bottom); }
  body.rb-calc-page #content .remboo-calculator .rb-select.is-up .rb-select__pop { bottom: 0; }
  body.rb-calc-page #content .remboo-calculator .rb-select.is-open::before { content: ""; position: fixed; inset: 0; background: rgba(17, 17, 17, .4); z-index: 69; }
  body.rb-calc-page #content .remboo-calculator .rb-select__head { display: flex; align-items: center; justify-content: space-between; flex: none; padding: 12px 12px 12px 16px; border-bottom: 1px solid #E8E8E5; }
  body.rb-calc-page #content .remboo-calculator .rb-select__title { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  body.rb-calc-page #content .remboo-calculator .rb-select__close { position: relative; width: 40px; height: 40px; margin: -8px 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; }
  body.rb-calc-page #content .remboo-calculator .rb-select__close::before, body.rb-calc-page #content .remboo-calculator .rb-select__close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 1.5px; margin: -1px 0 0 -9px; background: #111; transform: rotate(45deg); }
  body.rb-calc-page #content .remboo-calculator .rb-select__close::after { transform: rotate(-45deg); }
  body.rb-calc-page #content .remboo-calculator .rb-select__opt { padding-top: 12px; padding-bottom: 12px; font-size: 16px; }
}
@media print {
  body.rb-calc-page #content .remboo-calculator .rb-select__btn::after { display: none; }
}

/* Пояснения, формулы, справочник, FAQ — на белом, в типографике темы */
body.rb-calc-page #content .remboo-calculator .formula-card { border: 0; border-top: 1.5px solid #111; border-radius: 0; box-shadow: none; background: transparent; padding-left: 0; padding-right: 0; }
body.rb-calc-page #content .remboo-calculator .formula-card span { border-color: #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .formula-card small { border-color: #E8E8E5; color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .howto-steps li::before,
body.rb-calc-page #content .remboo-calculator .howto-steps li::marker { color: #111; }
/* Таблицы: линейки, не заливки */
body.rb-calc-page #content .remboo-calculator table { font-variant-numeric: tabular-nums; }
body.rb-calc-page #content .remboo-calculator thead th { background: transparent; color: #5A5A56; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; border-radius: 0; border-bottom: 1.5px solid #111; }
body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable thead th:first-child { background: #fff; }
body.rb-calc-page #content .remboo-calculator tbody tr:nth-child(even) td { background: transparent; }
body.rb-calc-page #content .remboo-calculator tbody tr:hover td { background: #F5F5F3; }
body.rb-calc-page #content .remboo-calculator td, body.rb-calc-page #content .remboo-calculator tbody th { border-color: #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .faq details,
body.rb-calc-page #content .remboo-calculator .faq details summary { border-color: #E8E8E5; border-radius: 0; background: transparent; }
body.rb-calc-page #content .remboo-calculator .legend, body.rb-calc-page #content .remboo-calculator details.legend { background: transparent; border: 0; border-top: 1px solid #E8E8E5; border-bottom: 1px solid #E8E8E5; border-radius: 0; padding-left: 0; padding-right: 0; }
body.rb-calc-page #content .remboo-calculator a { color: #111; }
/* Маркер по наведению — только у строчных ссылок в тексте: у блочной ссылки (карточка
   «читать дальше» под результатом, кнопка) градиент маркера ложился полосой по нижней
   половине блока и выглядел как сбой. Блочные ссылки — свой ховер ниже. */
body.rb-calc-page #content .remboo-calculator a:hover { background: var(--rb-mark); }
body.rb-calc-page #content .remboo-calculator a.article-link:hover, body.rb-calc-page #content .remboo-calculator a.article:hover,
body.rb-calc-page #content .remboo-calculator a.to-search:hover { background: #F5F5F3; border-color: #111; }
body.rb-calc-page #content .remboo-calculator .sources a { overflow-wrap: anywhere; }
body.rb-calc-page #content .remboo-calculator [class*="badge"], body.rb-calc-page #content .remboo-calculator .tag, body.rb-calc-page #content .remboo-calculator .pill { border-radius: 0; }
body.rb-calc-page #content .remboo-calculator svg text { font-family: inherit; }

/* Схемы (rb-draw.mjs): <svg class="rb-scheme">. Толщины линий — в пикселях экрана
   при любом viewBox; текст задаёт размер атрибутом в единицах viewBox.
   Правила линий держатся на svg.rb-scheme без #content — те же классы работают у клона
   схемы в печатном листе (cloneForPrint), который лежит вне #content. */
#content .remboo-calculator svg.rb-scheme { display: block; width: 100%; height: auto; margin: 0; background: #fff; border: 0; border-radius: 0; }
svg.rb-scheme .ink { stroke: #111; stroke-width: 1.5px; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
svg.rb-scheme .thin { stroke: #111; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .gray { stroke: #767671; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .light { stroke: #BDBDB8; stroke-width: 1px; vector-effect: non-scaling-stroke; }
/* Заливки у линий нет, пока не задан атрибут fill (штриховка fill="url(#…)" на контуре) */
svg.rb-scheme .ink:not([fill]):not(text), svg.rb-scheme .thin:not([fill]):not(text), svg.rb-scheme .gray:not([fill]):not(text), svg.rb-scheme .light:not([fill]):not(text) { fill: none; }
svg.rb-scheme .dash { stroke-dasharray: 4 3; }
svg.rb-scheme .dim line, svg.rb-scheme .dim path { fill: none; stroke: #767671; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .dim text { fill: #5A5A56; }
/* Размерная заданной величины (cls:'ink'): чернильные и линия, и подпись */
svg.rb-scheme .dim.ink line, svg.rb-scheme .dim.ink path { stroke: #111; }
svg.rb-scheme .dim.ink text { fill: #111; }
svg.rb-scheme .body { stroke: #111; stroke-width: 1.5px; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
svg.rb-scheme .hatch { stroke: #A9A9A4; stroke-width: .3; }
svg.rb-scheme .dot { fill: #BDBDB8; }
svg.rb-scheme .arrow { fill: #767671; stroke: none; }
svg.rb-scheme .arrow.fill-ink { fill: #111; }
svg.rb-scheme text { fill: #5A5A56; font-family: inherit; font-weight: 600; font-variant-numeric: tabular-nums; }
svg.rb-scheme text.ink, svg.rb-scheme text.thin { fill: #111; }
svg.rb-scheme text.gray { fill: #767671; }
svg.rb-scheme text.big { fill: #111; font-weight: 800; }
svg.rb-scheme .marker rect { fill: #FFD500; }
svg.rb-scheme .fill-paper { fill: #fff; }
svg.rb-scheme .fill-panel { fill: #F5F5F3; }
svg.rb-scheme .fill-yellow { fill: #FFF3B0; }
svg.rb-scheme .fill-ink { fill: #111; }
svg.rb-scheme .tag rect.frame { stroke: #111; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme text.ink, svg.rb-scheme text.big, svg.rb-scheme .dim text, svg.rb-scheme .tag text { stroke: none; }
/* Подсветка элемента по наведению или тапу (строка спецификации ↔ деталь): класс active */
svg.rb-scheme [data-el] { cursor: pointer; }
svg.rb-scheme line.active, svg.rb-scheme polyline.active, svg.rb-scheme path.active, svg.rb-scheme rect.active { stroke: #111; stroke-width: 3px; }
svg.rb-scheme g.tag.active rect { fill: #111; }
svg.rb-scheme g.tag.active text { fill: #fff; }
/* Фигура схемы в карточке результата: отбита линией от метрик, подпись под svg.
   Свои .layout/.svg-caption в style.css страницы не нужны. */
#content .remboo-calculator figure:has(> svg.rb-scheme), #content .remboo-calculator figure:has(> .svg-caption) { max-width: none; width: auto; margin: 16px 0 0; padding: 14px 0 0; border: 0; border-top: 1px solid #E8E8E5; background: transparent; }
#content .remboo-calculator figure:has(> svg.rb-scheme) figcaption,
#content .remboo-calculator .svg-caption, #content .remboo-calculator .rb-scheme-caption { margin: 6px 0 0; padding: 0; color: #5A5A56; font-size: .8rem; line-height: 1.35; text-align: left; }
/* Подпись схемы — без жёлтой черты и «Рис. N» темы: жёлтый на схеме только у маркера главной цифры */
body.rb-calc-page #content .remboo-calculator figcaption { padding-left: 0; border-left: 0; }
body.rb-calc-page #content .remboo-calculator figcaption::before { content: none; }
/* На телефоне карточка с полями 16 px, схема выходит за них ещё на 10 px: на 360
   svg получает 316 px, кегль 3,6 ед. ≈ 11,4 px. Правила ширины на страницах не нужны. */
@media (max-width: 560px) {
  body.rb-calc-page #content .remboo-calculator .result-card, body.rb-calc-page #content .remboo-calculator .result { padding: 18px 16px; }
  body.rb-calc-page #content .remboo-calculator .result-card figure:has(> svg.rb-scheme) > svg.rb-scheme,
  body.rb-calc-page #content .remboo-calculator .result figure:has(> svg.rb-scheme) > svg.rb-scheme { width: calc(100% + 20px); max-width: none; margin: 0 -10px; }
}
/* На бумаге: клон схемы в печатном листе — те же классы; маркер и заливки печатать цветом */
@media print {
  svg.rb-scheme { font-family: Arial, sans-serif; }
  svg.rb-scheme .marker rect, svg.rb-scheme .fill-yellow, svg.rb-scheme .fill-panel, svg.rb-scheme .fill-ink, svg.rb-scheme g.tag.active rect { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Объёмная схема (rb-3d.mjs) по кнопке «Посмотреть в 3D»: кнопка — чернильная рамка
   со знаком куба, холст — белый лист в рамке, подписи — HTML над холстом, панель снизу */
body.rb-calc-page #content .remboo-calculator .rb-3d-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; margin: 12px 0 0; padding: 8px 14px; border: 1.5px solid #111; border-radius: 0; background: #fff; color: #111; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: none; }
body.rb-calc-page #content .remboo-calculator .rb-3d-btn:hover { background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .rb-3d-btn:disabled { opacity: .6; cursor: progress; }
body.rb-calc-page #content .remboo-calculator .rb-3d-btn svg { width: 20px; height: 20px; flex: none; }
#content .remboo-calculator .rb-3d { margin: 12px 0 0; border: 1px solid #E8E8E5; background: #fff; }
#content .remboo-calculator .rb-3d__view { position: relative; overflow: hidden; touch-action: none; }
#content .remboo-calculator .rb-3d canvas { display: block; width: 100% !important; max-width: none; border: 0; border-radius: 0; margin: 0; }
#content .remboo-calculator .rb-3d__labels { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
#content .remboo-calculator .rb-3d__label { position: absolute; transform: translate(-50%, -50%); padding: 0 3px; background: rgba(255, 255, 255, .85); color: #5A5A56; font-size: 13px; line-height: 1.3; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
#content .remboo-calculator .rb-3d__label.ink { color: #111; }
#content .remboo-calculator .rb-3d__label.marker { padding: 1px 7px; background: #FFD500; color: #111; font-size: 15px; font-weight: 800; }
#content .remboo-calculator .rb-3d__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 6px 10px; border-top: 1px solid #E8E8E5; color: #5A5A56; font-size: 12px; line-height: 1.35; }
#content .remboo-calculator .rb-3d__hint { flex: 1 1 160px; }
body.rb-calc-page #content .remboo-calculator .rb-3d__btn { min-height: 0; margin: 0; padding: 4px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #111; font: inherit; font-size: 12px; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; cursor: pointer; }
body.rb-calc-page #content .remboo-calculator .rb-3d__btn:hover { background: #FFF3B0; }
@media (max-width: 560px) {
  body.rb-calc-page #content .remboo-calculator .result-card .rb-3d { margin-left: -10px; margin-right: -10px; }
  #content .remboo-calculator .rb-3d__label { font-size: 11.5px; }
  #content .remboo-calculator .rb-3d__label.marker { font-size: 14px; }
}
@media print {
  #content .remboo-calculator .rb-3d, #content .remboo-calculator .rb-3d-btn { display: none !important; }
}

/* Липкая полоска на телефоне: белая, отчёркнута маркером сверху */
body.rb-calc-page #content .remboo-calculator .rb-sticky { background: #fff; color: #111; box-shadow: 0 -1px 0 #111; border-top: 4px solid #FFD500; font-family: inherit; }
body.rb-calc-page #content .remboo-calculator .rb-sticky strong { color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-sticky span { color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .rb-sticky em { color: #111; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 2px; }
body.rb-calc-page #content .remboo-calculator .rb-sticky.rb-error { background: #fff; border-top-color: #B23A0C; color: #B23A0C; }
body.rb-calc-page #content .remboo-calculator .rb-sticky.rb-error strong,
body.rb-calc-page #content .remboo-calculator .rb-sticky.rb-error span,
body.rb-calc-page #content .remboo-calculator .rb-sticky.rb-error em { color: #B23A0C; }
body.rb-calc-page #content .remboo-calculator .rb-scroll-hint { color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .table-scroll.rb-scrollable::after { background: linear-gradient(90deg, rgba(17, 17, 17, 0), rgba(17, 17, 17, .12)); }

/* Собственные панели калькуляторов (в их style.css — тёмные): строка-вывод с жёлтой чертой, карточки — белые в линейке */
body.rb-calc-page #content .remboo-calculator .order, body.rb-calc-page #content .remboo-calculator .note, body.rb-calc-page #content .remboo-calculator .note-ok, body.rb-calc-page #content .remboo-calculator .per-m3, body.rb-calc-page #content .remboo-calculator .next-section { background: transparent; color: #111; border: 0; border-left: 4px solid #FFD500; border-radius: 0; padding: 4px 0 4px 14px; font-weight: 600; }
body.rb-calc-page #content .remboo-calculator .alt-card, body.rb-calc-page #content .remboo-calculator .cross-panel, body.rb-calc-page #content .remboo-calculator .check-row, body.rb-calc-page #content .remboo-calculator .materials article, body.rb-calc-page #content .remboo-calculator .swatch-card, body.rb-calc-page #content .remboo-calculator .cutting-map { background: #fff; color: #111; border: 1px solid #E8E8E5; border-radius: 0; box-shadow: none; }
body.rb-calc-page #content .remboo-calculator .alt-card *, body.rb-calc-page #content .remboo-calculator .cross-panel *, body.rb-calc-page #content .remboo-calculator .check-row *, body.rb-calc-page #content .remboo-calculator .materials article *, body.rb-calc-page #content .remboo-calculator .cutting-map li { color: #111; }
body.rb-calc-page #content .remboo-calculator .cutting-map li.useful { background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .check-row .check-dot { background: #111; }

/* ---- Волна А (16.09.2026) ---------------------------------------------------- */
/* Сквозные: «прозрачный расчёт» без серой заливки — линейка сверху; кнопки под
   результатом все контурные (жёлтая заливка — только главное действие, печать им
   не является); шапки таблиц не рвутся по буквам; чекбоксы — цель тапа 32 px. */
body.rb-calc-page #content .remboo-calculator { position: relative; }
body.rb-calc-page #content .remboo-calculator .explanation { background: transparent; border: 0; border-top: 1.5px solid #111; border-radius: 0; padding-left: 0; padding-right: 0; }
body.rb-calc-page #content .remboo-calculator .actions button:first-child { background: #fff; color: #111; }
body.rb-calc-page #content .remboo-calculator .actions button:first-child:hover { background: #FFF3B0; color: #111; }
body.rb-calc-page #content .remboo-calculator th, body.rb-calc-page #content .remboo-calculator td { overflow-wrap: normal; word-break: normal; hyphens: manual; }
body.rb-calc-page #content .remboo-calculator thead th { white-space: nowrap; }
body.rb-calc-page #content .remboo-calculator table.rb-narrow thead th { white-space: normal; }
body.rb-calc-page #content .remboo-calculator input[type="checkbox"], body.rb-calc-page #content .remboo-calculator input[type="radio"] { width: 24px; height: 24px; flex: none; }
body.rb-calc-page #content .remboo-calculator label.check, body.rb-calc-page #content .remboo-calculator label:has(> input[type="checkbox"]), body.rb-calc-page #content .remboo-calculator label:has(> input[type="radio"]) { display: flex; align-items: center; gap: 10px; min-height: 32px; cursor: pointer; }

/* Справка у поля: кнопка «?» — кружок 22 px в чернильной линии рядом с подписью */
body.rb-calc-page #content .remboo-calculator .rb-help {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin: -2px 0 0 8px; padding: 0; vertical-align: middle;
  min-height: 0; min-width: 0; border: 1.5px solid #111; border-radius: 50%; background: #fff; color: #111; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1; letter-spacing: 0; text-transform: none; cursor: pointer; box-shadow: none; position: relative;
}
body.rb-calc-page #content .remboo-calculator .rb-help::before { content: ""; position: absolute; inset: -6px; }
body.rb-calc-page #content .remboo-calculator .rb-help:hover, body.rb-calc-page #content .remboo-calculator .rb-help[aria-expanded="true"] { background: #111; color: #fff; }
body.rb-calc-page #content .remboo-calculator label .rb-help { margin-top: -3px; }

/* Карточка справки / пояснения к букве: под кнопкой, на телефоне — лист снизу */
body.rb-calc-page #content .remboo-calculator .rb-card { position: absolute; z-index: 40; background: #fff; border: 1.5px solid #111; box-shadow: 0 14px 30px rgba(17, 17, 17, .14); font-size: 15px; line-height: 1.5; color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-card[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-card:focus { outline: none; }
body.rb-calc-page #content .remboo-calculator .rb-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 8px 8px 16px; border-bottom: 1px solid #E8E8E5; }
body.rb-calc-page #content .remboo-calculator .rb-card__title { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
body.rb-calc-page #content .remboo-calculator .rb-card__close { position: relative; flex: none; width: 36px; height: 36px; margin: -6px 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; }
body.rb-calc-page #content .remboo-calculator .rb-card__close::before, body.rb-calc-page #content .remboo-calculator .rb-card__close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 1.5px; margin: -1px 0 0 -8px; background: #111; transform: rotate(45deg); }
body.rb-calc-page #content .remboo-calculator .rb-card__close::after { transform: rotate(-45deg); }
body.rb-calc-page #content .remboo-calculator .rb-card__body { padding: 12px 16px 14px; max-height: 50vh; overflow-y: auto; overscroll-behavior: contain; }
body.rb-calc-page #content .remboo-calculator .rb-card__body p { margin: 0 0 8px; font-size: 15px; color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-card__body p:last-child { margin-bottom: 0; }
body.rb-calc-page #content .remboo-calculator .rb-card__body b { font-weight: 700; }
body.rb-calc-page #content .remboo-calculator .rb-card__body ul, body.rb-calc-page #content .remboo-calculator .rb-card__body ol { margin: 0 0 8px 18px; padding: 0; }
@media (max-width: 560px) {
  body.rb-calc-page #content .remboo-calculator .rb-card { position: fixed; left: 0; right: 0; bottom: 0; top: auto !important; width: auto !important; max-height: 72vh; border-width: 1.5px 0 0; box-shadow: none; z-index: 70; padding-bottom: env(safe-area-inset-bottom); }
  body.rb-calc-page #content .remboo-calculator.rb-card-open::after { content: ""; position: fixed; inset: 0; background: rgba(17, 17, 17, .4); z-index: 69; }
  body.rb-calc-page #content .remboo-calculator .rb-card__body { max-height: 60vh; padding-bottom: 20px; }
}

/* Буквы в формулах — кнопки: пунктир под буквой, по клику карточка из легенды */
body.rb-calc-page #content .remboo-calculator .rb-var { display: inline; min-height: 0; min-width: 0; height: auto; margin: 0; padding: 0 1px; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; box-shadow: none; text-decoration: underline; text-decoration-style: dotted; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
body.rb-calc-page #content .remboo-calculator .rb-var:hover, body.rb-calc-page #content .remboo-calculator .rb-var[aria-expanded="true"] { background: #FFF3B0; text-decoration-style: solid; }
body.rb-calc-page #content .remboo-calculator .rb-var { position: relative; }
body.rb-calc-page #content .remboo-calculator .rb-var::before { content: ""; position: absolute; inset: -8px -2px; }
/* На тач-экране буква — заметная плашка, в которую попадёшь пальцем */
@media (hover: none) {
  body.rb-calc-page #content .remboo-calculator .rb-var { display: inline-block; padding: 3px 6px; margin: 2px 1px; background: #F5F5F3; text-decoration: none; box-shadow: inset 0 -1.5px 0 #111; }
  body.rb-calc-page #content .remboo-calculator .rb-var[aria-expanded="true"] { background: #FFF3B0; }
  body.rb-calc-page #content .remboo-calculator .formula-card > span { line-height: 1.7; }
}
body.rb-calc-page #content .remboo-calculator .formula-card > span { max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
body.rb-calc-page #content .remboo-calculator .formula-card .rb-f { display: inline; min-width: 0; }
body.rb-calc-page #content .remboo-calculator .formula-card.rb-vars::after { content: "Нажмите на букву — что она значит"; display: block; margin-top: 8px; font-size: 12px; color: #767671; }

/* Плитки-радио вместо селекта (select[data-tiles]) */
body.rb-calc-page #content .remboo-calculator .rb-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin-top: 6px; }
body.rb-calc-page #content .remboo-calculator .rb-tiles[style*="--rb-tiles"] { grid-template-columns: repeat(var(--rb-tiles), minmax(0, 1fr)); }
body.rb-calc-page #content .remboo-calculator .rb-tile {
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 56px; margin: 0; padding: 10px 12px; position: relative;
  border: 1.5px solid #BDBDB8; border-radius: 0; background: #fff; color: #111; font: inherit; font-size: 15px; font-weight: 600; line-height: 1.3; text-align: left; cursor: pointer; box-shadow: none;
}
body.rb-calc-page #content .remboo-calculator .rb-tile:hover { border-color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-tile.is-selected { border-color: #111; background: #FFF3B0; box-shadow: inset 0 0 0 1px #111; }
body.rb-calc-page #content .remboo-calculator .rb-tile:disabled { color: #767671; border-color: #E8E8E5; cursor: default; }
body.rb-calc-page #content .remboo-calculator .rb-tile__icon { width: 32px; height: 32px; color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-tile__desc { display: block; font-size: 13px; font-weight: 400; color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .rb-tiles.is-invalid .rb-tile { border-color: #B23A0C; }
/* На телефоне заданное число колонок не держим: четыре плитки по 80 px рвут слова — две в ряд */
@media (max-width: 560px) { body.rb-calc-page #content .remboo-calculator .rb-tiles, body.rb-calc-page #content .remboo-calculator .rb-tiles[style*="--rb-tiles"] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); } }
body.rb-calc-page #content .remboo-calculator .rb-tile { overflow-wrap: normal; word-break: normal; hyphens: manual; min-width: 0; }

/* Чипы-пресеты под числовым полем (из datalist) */
body.rb-calc-page #content .remboo-calculator .rb-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
body.rb-calc-page #content .remboo-calculator .rb-chip { min-height: 32px; margin: 0; padding: 4px 12px; border: 1px solid #BDBDB8; border-radius: 0; background: #fff; color: #111; font: inherit; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer; box-shadow: none; }
body.rb-calc-page #content .remboo-calculator .rb-chip:hover { border-color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-chip[aria-pressed="true"] { border-color: #111; background: #FFF3B0; box-shadow: inset 0 0 0 1px #111; }

/* Комбобокс (текстовый datalist): список совпадений под полем */
body.rb-calc-page #content .remboo-calculator .rb-combo { position: relative; }
body.rb-calc-page #content .remboo-calculator .rb-combo__pop { position: absolute; left: 0; right: 0; top: calc(100% - 1px); z-index: 30; max-height: min(320px, 40vh); overflow-y: auto; overscroll-behavior: contain; background: #fff; border: 1.5px solid #111; box-shadow: 0 14px 30px rgba(17, 17, 17, .14); padding: 4px 0; }
body.rb-calc-page #content .remboo-calculator .rb-combo__pop[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-combo__pop .rb-select__opt { padding-left: 12px; }

/* Репитер: строки-сетка с колонками из конфига, кнопки в строке, итог и «вставить списком» */
body.rb-calc-page #content .remboo-calculator .rb-rep { margin-top: 6px; }
body.rb-calc-page #content .remboo-calculator .rb-rep__head, body.rb-calc-page #content .remboo-calculator .rb-rep__row { display: grid; grid-template-columns: var(--rb-cols) var(--rb-ops, 72px); gap: 6px; align-items: center; }
body.rb-calc-page #content .remboo-calculator .rb-rep--order { --rb-ops: 148px; }
body.rb-calc-page #content .remboo-calculator .rb-rep:has(.rb-rep__rows:empty) .rb-rep__head { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-rep__head { margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5A5A56; }
body.rb-calc-page #content .remboo-calculator .rb-rep__row { margin-bottom: 6px; }
body.rb-calc-page #content .remboo-calculator .rb-rep__cell { width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 6px 10px; font-size: 16px; }
body.rb-calc-page #content .remboo-calculator select.rb-rep__cell { padding-right: 28px; }
body.rb-calc-page #content .remboo-calculator .rb-rep__ops { display: flex; gap: 4px; }
body.rb-calc-page #content .remboo-calculator .rb-rep__row .rb-select { margin-top: 0; }
body.rb-calc-page #content .remboo-calculator .rb-rep__row .rb-select__btn { min-height: 44px; padding: 6px 26px 6px 9px; font-size: 15px; font-weight: 400; }
body.rb-calc-page #content .remboo-calculator .rb-rep__row .rb-select__btn::after { right: 9px; }
body.rb-calc-page #content .remboo-calculator .rb-rep__calc { display: flex; align-items: center; min-height: 44px; padding: 6px 10px; border: 1px solid transparent; background: transparent; color: #5A5A56; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.rb-calc-page #content .remboo-calculator .rb-rep__cell.is-off { visibility: hidden; }
body.rb-calc-page #content .remboo-calculator .rb-rep__c { min-width: 0; }
body.rb-calc-page #content .remboo-calculator .rb-rep__cl { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-rep__up, body.rb-calc-page #content .remboo-calculator .rb-rep__down, body.rb-calc-page #content .remboo-calculator .rb-rep__dup, body.rb-calc-page #content .remboo-calculator .rb-rep__del { width: 34px; height: 44px; margin: 0; padding: 0; border: 1px solid #BDBDB8; border-radius: 0; background: #fff; color: #111; font: inherit; font-size: 18px; line-height: 1; cursor: pointer; box-shadow: none; }
body.rb-calc-page #content .remboo-calculator .rb-rep__up:hover, body.rb-calc-page #content .remboo-calculator .rb-rep__down:hover, body.rb-calc-page #content .remboo-calculator .rb-rep__dup:hover, body.rb-calc-page #content .remboo-calculator .rb-rep__del:hover { border-color: #111; }
body.rb-calc-page #content .remboo-calculator .rb-rep__up:disabled, body.rb-calc-page #content .remboo-calculator .rb-rep__down:disabled { color: #BDBDB8; border-color: #E8E8E5; cursor: default; }
body.rb-calc-page #content .remboo-calculator .rb-rep__del:hover { color: #B23A0C; }
body.rb-calc-page #content .remboo-calculator .rb-rep__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 4px; }
body.rb-calc-page #content .remboo-calculator .rb-rep__add { min-height: 40px; margin: 0; padding: 6px 14px; border: 1.5px solid #111; border-radius: 0; background: #fff; color: #111; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: none; }
body.rb-calc-page #content .remboo-calculator .rb-rep__add:hover { background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .rb-rep__add:disabled { color: #767671; border-color: #BDBDB8; cursor: default; background: #fff; }
body.rb-calc-page #content .remboo-calculator .rb-rep__total { font-size: 14px; font-weight: 500; color: #5A5A56; font-variant-numeric: tabular-nums; }
body.rb-calc-page #content .remboo-calculator .rb-rep__raw { margin: 0 0 0 auto; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: #111; font: inherit; font-size: 14px; font-weight: 500; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; cursor: pointer; box-shadow: none; }
body.rb-calc-page #content .remboo-calculator .rb-rep__rawwrap { margin-top: 10px; }
body.rb-calc-page #content .remboo-calculator .rb-rep__rawwrap[hidden] { display: none; }
body.rb-calc-page #content .remboo-calculator .rb-rep__rawwrap textarea { width: 100%; min-height: 120px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 15px; }
/* Карточный режим репитера: на телефоне и в узкой колонке формы широкого экрана
   (волна Г: форма ≤ 420 px, таблица с 4+ колонками в неё не входит) */
@media (max-width: 560px), (min-width: 901px) {
  body.rb-calc-page #content .remboo-calculator .rb-rep__head, body.rb-calc-page #content .remboo-calculator .rb-rep__row { grid-template-columns: var(--rb-cols) var(--rb-ops, 64px); gap: 4px; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--order { --rb-ops: 128px; }
  /* Карточка вместо строки: ячейки переносятся, подписи над ними, кнопки строки справа снизу */
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__head { display: none; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 8px; margin: 0; padding: 8px 0 10px; border-bottom: 1px dashed #BDBDB8; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__row:first-child { padding-top: 0; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__c { flex: 1 1 68px; min-width: 68px; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__c--select:not(:first-child) { flex: 1.5 1 96px; min-width: 96px; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__c--select:first-child, body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__c--text:first-child { flex: 1 1 calc(100% - 140px); min-width: 160px; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__c.is-off { display: none; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__cl { display: block; margin-bottom: 3px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5A5A56; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__ops { margin-left: auto; }
  body.rb-calc-page #content .remboo-calculator .rb-rep--stack .rb-rep__rows { margin-bottom: 8px; }
  body.rb-calc-page #content .remboo-calculator .rb-rep__up, body.rb-calc-page #content .remboo-calculator .rb-rep__down, body.rb-calc-page #content .remboo-calculator .rb-rep__dup, body.rb-calc-page #content .remboo-calculator .rb-rep__del { width: 30px; }
  body.rb-calc-page #content .remboo-calculator .rb-rep__cell { padding: 6px 8px; }
}
@media print {
  body.rb-calc-page #content .remboo-calculator .rb-help, body.rb-calc-page #content .remboo-calculator .rb-card, body.rb-calc-page #content .remboo-calculator .rb-rep__foot, body.rb-calc-page #content .remboo-calculator .rb-rep__ops, body.rb-calc-page #content .remboo-calculator .formula-card.rb-vars::after { display: none !important; }
  body.rb-calc-page #content .remboo-calculator .rb-var { text-decoration: none; }
}

/* ---- Волна Г (16.09.2026): результату — полноценная колонка --------------------- */

/* Форма — узкая колонка до 420 px, всё остальное (≈ 660 px в контейнере 1110) — карточке
   результата: схема и 3D в ней читаются, а не ужаты до почтовой марки. На широких
   экранах зазор между колонками 32 px; свои пропорции в style.css страниц перекрываются
   отсюда — правила ширины колонок на страницах больше не нужны. Ниже 901 px страницы
   складывают workspace в одну колонку сами. */
@media (min-width: 901px) {
  body.rb-calc-page #content .remboo-calculator .workspace { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 32px; }
  body.rb-calc-page #content .remboo-calculator .workspace > form .field-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  /* Плитки в половинной ячейке формы получали по 61 px и рвали слова — группа плиток
     занимает всю ширину формы (три плитки по ≈ 135 px) */
  body.rb-calc-page #content .remboo-calculator .workspace > form .field-grid > :has(.rb-tiles),
  body.rb-calc-page #content .remboo-calculator .workspace > form .field-grid-3 > :has(.rb-tiles) { grid-column: 1 / -1; }
}

/* Схема: кнопка «На весь экран» в углу фигуры (ставит rb-calc.js), схема в оверлее во
   весь экран — белый лист, Esc и крестик закрывают. */
#content .remboo-calculator figure:has(> svg.rb-scheme) { position: relative; }
body.rb-calc-page #content .remboo-calculator .rb-zoom-btn { position: absolute; top: 14px; right: 0; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-height: 0; margin: 0; padding: 0; border: 1px solid #BDBDB8; border-radius: 0; background: rgba(255, 255, 255, .92); color: #111; box-shadow: none; cursor: pointer; opacity: .75; }
body.rb-calc-page #content .remboo-calculator .rb-zoom-btn:hover, body.rb-calc-page #content .remboo-calculator .rb-zoom-btn:focus-visible { opacity: 1; border-color: #111; background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .rb-zoom-btn svg { width: 16px; height: 16px; }
.rb-zoom { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: #fff; }
.rb-zoom__bar { display: flex; align-items: center; gap: 12px; padding: 10px 16px; border-bottom: 1px solid #E8E8E5; color: #5A5A56; font: 600 13px/1.35 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.rb-zoom__title { flex: 1 1 auto; min-width: 0; color: #111; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb-zoom__close { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 12px; border: 1.5px solid #111; background: #fff; color: #111; font: inherit; font-weight: 700; cursor: pointer; }
.rb-zoom__close:hover { background: #FFF3B0; }
.rb-zoom__body { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 16px; overflow: auto; touch-action: pan-x pan-y pinch-zoom; }
.rb-zoom__frame { width: 100%; height: 100%; max-width: 1400px; }
.rb-zoom__frame > svg { display: block; width: 100%; height: 100%; max-width: none; }
/* Телефон вертикально: широкая схема на боку — рамка размером с экран, повёрнута на 90° */
.rb-zoom__frame--rotate { position: relative; max-width: none; }
.rb-zoom__frame--rotate > svg { position: absolute; left: 50%; top: 50%; max-width: none; transform: translate(-50%, -50%) rotate(90deg); }
.rb-zoom__caption { padding: 8px 16px 12px; border-top: 1px solid #E8E8E5; color: #5A5A56; font: 400 13px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
@media (max-width: 560px) {
  body.rb-calc-page #content .remboo-calculator .rb-zoom-btn { top: 10px; right: -6px; }
  .rb-zoom__body { padding: 8px; }
  .rb-zoom__frame:not(.rb-zoom__frame--rotate) > svg { height: auto; }
}

/* 3D: панель навигации — квадратные кнопки чернилами (повороты, наклон, масштаб,
   переключатель «двигать», сброс, во весь экран); во весь экран блок растягивается
   на окно, холст занимает всё над панелью. */
#content .remboo-calculator .rb-3d__bar { gap: 6px 10px; }
#content .remboo-calculator .rb-3d__nav { display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; }
#content .remboo-calculator .rb-3d__nav + .rb-3d__nav { margin-left: 6px; }
body.rb-calc-page #content .remboo-calculator .rb-3d__nav button { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-height: 0; margin: 0; padding: 0; border: 1px solid #BDBDB8; border-radius: 0; background: #fff; color: #111; font: inherit; box-shadow: none; cursor: pointer; text-decoration: none; }
body.rb-calc-page #content .remboo-calculator .rb-3d__nav button:hover, body.rb-calc-page #content .remboo-calculator .rb-3d__nav button:focus-visible { border-color: #111; background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .rb-3d__nav button[aria-pressed="true"] { border-color: #111; background: #111; color: #fff; padding: 0; }
body.rb-calc-page #content .remboo-calculator .rb-3d__nav button[aria-pressed="true"]::before { content: none; }
body.rb-calc-page #content .remboo-calculator .rb-3d__nav button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#content .remboo-calculator .rb-3d__spacer { flex: 1 1 auto; }
#content .remboo-calculator .rb-3d__view:focus-visible { outline: 2px solid #111; outline-offset: -2px; }
#content .remboo-calculator .rb-3d.is-full { position: fixed; inset: 0; z-index: 100000; margin: 0; border: 0; display: flex; flex-direction: column; }
#content .remboo-calculator .rb-3d.is-full .rb-3d__view { flex: 1 1 auto; min-height: 0; }
#content .remboo-calculator .rb-3d.is-full .rb-3d__bar { flex: none; padding: 8px 16px; }
@media (max-width: 560px) {
  #content .remboo-calculator .rb-3d__hint { flex-basis: 100%; }
}

/* rb-plan */
/* Редактор плана (rb-plan.mjs): панель над холстом — пресеты и текстовые кнопки в стиле
   rb-3d__btn, квадратные кнопки 32 px в стиле rb-3d__nav; холст — svg.rb-scheme с ручками
   вершин, хит-областями (прозрачные, ≥ 32 px) и подписями длин-кнопками. Правила ручек
   держатся на svg.rb-scheme без #content — те же классы у клона в печати, где [data-ui] скрыт. */
#content .remboo-calculator .rb-plan { position: relative; }
#content .remboo-calculator .rb-plan__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 8px; padding: 0 40px 8px 0; border-bottom: 1px solid #E8E8E5; color: #5A5A56; font-size: 12px; line-height: 1.35; }
#content .remboo-calculator .rb-plan__starts { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; }
body.rb-calc-page #content .remboo-calculator .rb-plan__text { min-height: 0; margin: 0; padding: 4px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #111; font: inherit; font-size: 12px; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; cursor: pointer; }
body.rb-calc-page #content .remboo-calculator .rb-plan__text:hover, body.rb-calc-page #content .remboo-calculator .rb-plan__text:focus-visible { background: #FFF3B0; }
#content .remboo-calculator .rb-plan__nav { display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; }
body.rb-calc-page #content .remboo-calculator .rb-plan__nav button { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-height: 0; margin: 0; padding: 0; border: 1px solid #BDBDB8; border-radius: 0; background: #fff; color: #111; font: inherit; box-shadow: none; cursor: pointer; text-decoration: none; }
body.rb-calc-page #content .remboo-calculator .rb-plan__nav button:hover, body.rb-calc-page #content .remboo-calculator .rb-plan__nav button:focus-visible { border-color: #111; background: #FFF3B0; }
body.rb-calc-page #content .remboo-calculator .rb-plan__nav button:disabled { opacity: .4; cursor: default; background: #fff; border-color: #BDBDB8; }
body.rb-calc-page #content .remboo-calculator .rb-plan__nav button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#content .remboo-calculator .rb-plan__hint { flex: 1 1 100%; color: #5A5A56; }
#content .remboo-calculator .rb-plan__hint.is-warn { color: #B23A0C; font-weight: 600; }
/* Холст: пальцем тянем ручки, не страницу; выделение текста выключено */
svg.rb-scheme.rb-plan__svg { touch-action: none; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; outline: none; }
svg.rb-scheme.rb-plan__svg:focus-visible { outline: 2px solid #111; outline-offset: -2px; }
svg.rb-scheme .rb-plan__grid { stroke: #EEEEEC; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__grid5 { stroke: #DCDCD8; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__body.is-bad, svg.rb-scheme .rb-plan__line.is-bad { stroke: #B23A0C; stroke-dasharray: 4 3; }
svg.rb-scheme .rb-plan__inner { stroke: #111; stroke-width: 3px; stroke-linecap: butt; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__inner.is-sel { stroke-width: 4.5px; }
svg.rb-scheme .rb-plan__pt { fill: #fff; stroke: #111; stroke-width: 1.5px; vector-effect: non-scaling-stroke; pointer-events: none; }
svg.rb-scheme .rb-plan__pt.is-sel { fill: #111; }
svg.rb-scheme .rb-plan__hit { fill: transparent; stroke: none; cursor: grab; }
svg.rb-scheme .rb-plan__hit:active { cursor: grabbing; }
svg.rb-scheme .rb-plan__seghit { fill: none; stroke: transparent; stroke-width: 14px; vector-effect: non-scaling-stroke; cursor: move; }
svg.rb-scheme .rb-plan__plusbg { fill: #fff; stroke: #BDBDB8; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__plusln { stroke: #111; stroke-width: 1.5px; stroke-linecap: round; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__plus { cursor: copy; }
svg.rb-scheme .rb-plan__plus:hover .rb-plan__plusbg, svg.rb-scheme .rb-plan__plus.is-on .rb-plan__plusbg { stroke: #111; fill: #FFF3B0; }
@media (hover: hover) {
  svg.rb-scheme .rb-plan__plus { opacity: .45; }
  svg.rb-scheme .rb-plan__plus:hover, svg.rb-scheme .rb-plan__plus.is-on { opacity: 1; }
}
svg.rb-scheme .rb-plan__len { cursor: pointer; }
svg.rb-scheme .rb-plan__len:hover rect, svg.rb-scheme .rb-plan__len:focus-visible rect { fill: #FFF3B0; }
svg.rb-scheme .rb-plan__len text { fill: #111; }
svg.rb-scheme .rb-plan__mark { fill: #fff; stroke: #111; stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__markhit { fill: transparent; stroke: none; cursor: grab; }
/* Проёмы (такт 4): дверь и ниша — разрыв в стене (белый прямоугольник поверх контура, косяки,
   у двери полотно и дуга), окно — три линии, люк — квадрат с крестом, ванна — серый контур внутрь */
svg.rb-scheme .rb-plan__markgap { fill: #fff; stroke: none; }
svg.rb-scheme .rb-plan__markink { stroke: #111; stroke-width: 1.2px; stroke-linecap: butt; vector-effect: non-scaling-stroke; fill: none; }
svg.rb-scheme .rb-plan__markarc { stroke: #111; stroke-width: 1px; fill: none; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__markdash { stroke: #111; stroke-width: 1px; stroke-dasharray: 3 2; fill: none; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__markbox { fill: #fff; stroke: #111; stroke-width: 1.2px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__markgray { fill: #fff; stroke: #767671; stroke-width: 1px; vector-effect: non-scaling-stroke; }
svg.rb-scheme .rb-plan__markg.is-sel .rb-plan__markink, svg.rb-scheme .rb-plan__markg.is-sel .rb-plan__markbox, svg.rb-scheme .rb-plan__markg.is-sel .rb-plan__mark { stroke-width: 2.5px; }
svg.rb-scheme .rb-plan__markg.is-sel .rb-plan__markgray { stroke: #111; stroke-width: 2px; }
svg.rb-scheme .rb-plan__marklabhit { cursor: pointer; }
svg.rb-scheme .rb-plan__marklab[role="button"]:hover > rect.fill-paper, svg.rb-scheme .rb-plan__marklab.is-hover > rect.fill-paper { fill: #FFF3B0; }
svg.rb-scheme .rb-plan__marklab.is-sel > rect.frame { stroke: #111; }
#content .remboo-calculator .rb-plan__adds { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; }
svg.rb-scheme .rb-plan__err text { fill: #B23A0C; }
svg.rb-scheme .rb-plan__err rect.frame { stroke: #B23A0C; }
/* Поле ввода длины — поверх подписи, где бы svg ни лежал (карточка, оверлей во весь экран) */
.rb-plan__input { position: fixed; z-index: 100001; box-sizing: border-box; width: 84px; height: 34px; margin: 0; padding: 0 8px; border: 1.5px solid #111; border-radius: 0; background: #fff; color: #111; font: 700 16px/1 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-variant-numeric: tabular-nums; text-align: center; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); outline: none; }
.rb-plan__input:focus { background: #FFF3B0; }
/* Форма размеров метки (клик по подписи «Дверь 0,8 × 2,1»): поля словами, Enter применяет */
.rb-plan__form { position: fixed; z-index: 100001; display: grid; grid-template-columns: auto 84px; gap: 6px 10px; align-items: center; box-sizing: border-box; width: max-content; margin: 0; padding: 10px 12px; border: 1.5px solid #111; border-radius: 0; background: #fff; color: #111; font: 13px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
.rb-plan__form-title { grid-column: 1 / -1; font-weight: 700; }
.rb-plan__form-field { display: contents; }
.rb-plan__form-field > span { color: #5A5A56; white-space: nowrap; }
.rb-plan__form .rb-plan__input--form { position: static; width: 84px; box-shadow: none; }
body .rb-plan__form .rb-plan__form-ok { grid-column: 1 / -1; justify-self: end; min-height: 0; margin: 0; padding: 4px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #111; font: inherit; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; cursor: pointer; }
body .rb-plan__form .rb-plan__form-ok:hover, body .rb-plan__form .rb-plan__form-ok:focus-visible { background: #FFF3B0; }
@media (max-width: 560px) {
  #content .remboo-calculator .rb-plan__bar { gap: 6px 10px; }
  #content .remboo-calculator .rb-plan__adds { flex: 1 1 100%; }
  body.rb-calc-page #content .remboo-calculator .result-card .rb-plan > svg.rb-scheme { width: calc(100% + 20px); max-width: none; margin: 0 -10px; }
}
@media print {
  #content .remboo-calculator .rb-plan__bar { display: none !important; }
  svg.rb-scheme [data-ui] { display: none !important; }
  .rb-plan__input, .rb-plan__form { display: none !important; }
}
