/* fh-rooms.css — экраны образца 4.2.3: План 2D, Объём 3D, Отделка, Каталог, Смета, Покупки.
   Расширяет fh-tokens.css / fh-theme-4.2.2.css, новых цветов не вводит. Канвасы (План 2D,
   Объём 3D) рисует движок прототипа 3.6.1 (js/engine/editor2d.js, renderer3d.js) — здесь
   только контейнер, панель инструментов и карточки деталей вокруг них. */

/* ---------- общий тулбар канваса (2D и 3D) ---------- */
.fh-canvas-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--fh-space-2)}
.fh-canvas-toolbar button{min-height:var(--fh-touch);min-width:var(--fh-touch);padding:0 12px;
  border-radius:var(--fh-radius-m);background:var(--fh-white);border:1px solid var(--fh-hairline);
  font:600 13px/1 var(--fh-font-ui);display:flex;align-items:center;justify-content:center;gap:6px}
.fh-canvas-toolbar button:disabled{opacity:.4}
.fh-canvas-toolbar button[aria-pressed="true"]{background:var(--fh-deep-blue);color:#fff;border-color:var(--fh-deep-blue)}
.fh-canvas-toolbar .fh-spacer{flex:1}

.fh-canvas-wrap{position:relative;height:min(52vh,420px);border-radius:var(--fh-radius-xl);
  overflow:hidden;background:var(--fh-white);border:1px solid var(--fh-hairline);touch-action:none}
.fh-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}
.fh-canvas-wrap.is-full{position:fixed;inset:0;z-index:60;border-radius:0;height:100vh}
.fh-canvas-wrap__exit{position:absolute;right:var(--fh-space-3);top:var(--fh-space-3);z-index:2;
  min-height:var(--fh-touch);padding:0 var(--fh-space-3);border-radius:var(--fh-radius-m);
  background:rgba(8,9,15,.82);color:#fff;border:0;font:600 13px/1 var(--fh-font-ui)}
.fh-canvas-wrap__exit[hidden]{display:none}
.fh-canvas-wrap__label{position:absolute;left:var(--fh-space-3);top:var(--fh-space-3);z-index:2;
  background:rgba(8,9,15,.82);color:#fff;border-radius:8px;padding:6px 10px;font:var(--fh-caption);pointer-events:none}

.fh-hint{margin-top:var(--fh-space-2);border-radius:var(--fh-radius-m);padding:8px 12px;font:var(--fh-caption)}
.fh-hint--info{background:var(--fh-cloud);color:var(--fh-ink-72)}
.fh-hint--error{background:var(--fh-critical-bg);color:var(--fh-critical-ink)}
.fh-hint[hidden]{display:none}

/* ---------- панель выбранного элемента (2D) ---------- */
.fh-detail{margin-top:var(--fh-space-3);border-top:1px solid var(--fh-hairline);padding-top:var(--fh-space-3)}
.fh-detail[hidden]{display:none}
.fh-detail__fields{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--fh-space-2);margin:var(--fh-space-3) 0}
.fh-detail__field label{display:block;font:var(--fh-caption);color:var(--fh-ink-62);margin-bottom:4px}
.fh-detail__field input{width:100%;min-height:var(--fh-touch);border:1px solid var(--fh-border);
  border-radius:var(--fh-radius-m);padding:0 10px;font:var(--fh-num);box-sizing:border-box;background:var(--fh-white)}
.fh-add-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--fh-space-3)}
.fh-add-row button{min-height:var(--fh-touch);padding:0 12px;border-radius:20px;font:600 13px/1 var(--fh-font-ui);
  background:var(--fh-white);border:1px solid var(--fh-hairline)}

/* ---------- Объём 3D — легенда/слои поверх canvas-toolbar ---------- */
.fh-3d__layers{display:flex;gap:var(--fh-space-4);margin:var(--fh-space-2) 0 var(--fh-space-3);flex-wrap:wrap}
.fh-3d__layers label{display:flex;align-items:center;gap:6px;min-height:var(--fh-touch-text);font:var(--fh-body-s)}
.fh-swatches{display:flex;gap:var(--fh-space-2);margin:var(--fh-space-3) 0}
.fh-swatches>div{flex:1}
.fh-swatch{height:28px;border-radius:6px;border:1px solid var(--fh-hairline)}
.fh-swatch__label{font:var(--fh-caption);color:var(--fh-ink-62);margin-top:4px}

/* ---------- Каталог: поиск и фильтры ---------- */
.fh-catalog-search{min-height:var(--fh-touch);width:100%;border:1px solid var(--fh-border);
  border-radius:var(--fh-radius-m);padding:0 var(--fh-space-3);font:var(--fh-body);box-sizing:border-box;
  background:var(--fh-white);margin-bottom:var(--fh-space-2)}
.fh-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-bottom:var(--fh-space-2)}
.fh-chip{flex:none;min-height:36px;padding:0 12px;border-radius:18px;font:600 12px/1 var(--fh-font-ui);
  background:var(--fh-white);border:1px solid var(--fh-hairline);white-space:nowrap}
.fh-chip[aria-pressed="true"]{background:var(--fh-signal-blue);color:#fff;border-color:var(--fh-signal-blue)}
.fh-catalog-count{font:var(--fh-caption);color:var(--fh-ink-55);margin-bottom:var(--fh-space-2)}
.fh-catalog-item{background:var(--fh-white);border:1px solid var(--fh-hairline);border-radius:var(--fh-radius-m);
  padding:10px 12px;margin-bottom:8px}
.fh-catalog-item__row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.fh-catalog-item__t{font:600 14px/19px var(--fh-font-ui)}
.fh-catalog-item__s{font:var(--fh-caption);color:var(--fh-ink-55);margin-top:2px}
.fh-catalog-item__v{font:var(--fh-num);white-space:nowrap}
.fh-catalog-item[data-selected="true"]{border:1.8px solid var(--fh-signal-blue)}
