/* Shared touch layout. Loaded after editor.css so older desktop flyouts cannot win. */
.module-add-status{position:fixed;z-index:190;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100vw - 32px);padding:16px 20px;border:1px solid var(--accent);border-radius:8px;background:var(--panel);color:var(--text);font:500 14px var(--font-body);box-shadow:0 8px 32px #0005;pointer-events:none}.editor-access-mobile-error{display:none}
@media(max-width:700px){.editor-access-mobile-error{display:block;position:absolute;z-index:25;left:8px;right:8px;bottom:70px;margin:0;padding:12px;border:1px solid var(--accent);border-radius:6px;background:var(--panel);color:var(--text);font:500 13px/1.5 var(--font-body)}}
.editor-shell{grid-template-columns:340px minmax(0,1fr);min-width:0}.editor-shell>*{min-width:0}.editor-canvas-wrap{min-width:0;isolation:isolate}.editor-access-panel{min-width:0;overflow-wrap:anywhere}.editor-access-panel select{min-width:0}.editor-mobile-bar,.editor-mobile-close{display:none}.editor-touch-help{color:var(--text);border:1px solid var(--line-bright);border-radius:8px;background:var(--panel);max-width:min(560px,calc(100vw - 24px));max-height:85dvh;padding:20px}.editor-touch-help::backdrop{background:#080b11bb}.editor-touch-help header{display:flex;align-items:center;justify-content:space-between;gap:16px}.editor-touch-help h2{font-size:18px;margin:0}.editor-touch-help p,.editor-touch-help li{font-size:14px;line-height:1.6}.editor-touch-help li{margin-bottom:12px}.editor-touch-help button{min-height:44px;min-width:44px}.editor-touch-help ul{padding-left:20px}
.plus-menu{z-index:180;max-height:calc(100dvh - 24px);overflow:auto}.plus-menu button{touch-action:manipulation}.plus-btn{touch-action:manipulation}
@media(max-width:960px){.editor-shell{grid-template-columns:minmax(0,1fr)}.editor-panel{width:100%;min-width:0}.editor-canvas-wrap{width:100%;overflow:clip}.editor-shell input,.editor-shell select{max-width:100%}.module-hud-group[open]>.module-hud-group-body{position:static;width:100%;max-height:none;margin-top:8px;box-shadow:none}.module-preview{display:none!important}}
@media(max-width:700px){
 .editor-shell{display:flex;flex-direction:column;min-height:0}.editor-canvas-wrap{order:-1;height:calc(100svh - 68px);min-height:450px;max-height:850px}.editor-shell>.editor-panel{max-height:none;overflow:visible}
 .has-mobile-editor .editor-shell>.editor-panel{display:none}.has-mobile-editor .editor-shell>.editor-panel.is-mobile-open{display:flex;position:fixed;inset:0;z-index:95;width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px calc(24px + env(safe-area-inset-bottom))}
 .editor-mobile-bar{position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:6px;z-index:24;pointer-events:auto}.editor-mobile-bar button{flex:1;min-height:44px;padding:8px;border:1px solid var(--line-bright);background:var(--panel);color:var(--text);border-radius:6px;font:500 12px var(--font-body)}.editor-mobile-bar .mobile-add-module{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.editor-mobile-close{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-18px;z-index:3;flex:none;background:var(--panel);margin:-18px -16px 0;padding:12px 16px;border-bottom:1px solid var(--line)}.editor-mobile-close button{min-height:44px;min-width:44px;border:1px solid var(--line-bright);background:var(--bg);color:var(--text);border-radius:6px;font:inherit}
 .editor-canvas-wrap>.editor-toolbar,.editor-canvas-wrap:has(>.viewport-right)>.editor-toolbar{left:8px;right:8px;top:8px;gap:6px}.editor-toolbar .viewport-left{width:100%;max-width:100%;min-width:0;gap:6px}.scene-tb{width:100%;flex-wrap:wrap;justify-content:center;gap:2px;padding:3px}.scene-tb .tb-grp,.scene-tb .viewport-left-circles{flex-wrap:wrap;justify-content:center;min-width:0}.scene-tb .tb-l{display:block;max-width:64px;white-space:normal;text-align:center;font-size:9px}.scene-tb button.icon-btn,.scene-tb button.hud-circle,.scene-tb button.tb-b,.scene-tb .viewport-left-circles button.hud-circle{min-width:42px;min-height:46px;max-width:70px;padding:4px;gap:3px}.scene-tb .tb-grp:not([hidden]){margin-left:0;padding-left:2px}.scene-tb .icon-sep{display:none}
 .viewport-totals{flex-wrap:wrap;justify-content:center;gap:5px 10px;max-width:100%;font-size:10px}.viewport-totals .room-dims{max-width:100%;flex-wrap:wrap}.viewport-totals .room-dims input{width:54px;min-height:30px;font-size:12px}.viewport-right{right:8px;top:170px;gap:6px}.viewport-right .hud-circle{width:40px;height:40px}.editor-hint{display:none}.scene-hint{display:none!important}
 .module-hud{position:absolute;left:8px!important;right:8px!important;bottom:70px!important;top:auto!important;width:auto!important;max-width:none;max-height:calc(100% - 230px);overflow:auto;background:var(--panel)}.module-hud-edit{max-height:none;overflow:visible}.module-hud-head{position:sticky;top:0;z-index:2;background:var(--panel);padding-top:6px}.module-hud-close{min-width:40px;min-height:40px}.module-hud-group>summary{min-height:44px;padding-block:10px}.module-hud-group[open]>.module-hud-group-body{left:auto;bottom:auto;transform:none;animation:none!important}.module-hud-group-body input,.module-hud-group-body select{font-size:16px;min-height:40px}.module-hud-field{min-width:0}.module-hud-field input{min-width:0}.hud-pop,.scene-tb .hud-pop,.scene-tb .viewport-left-circles .hud-pop{position:fixed;inset:140px 10px auto!important;width:auto;max-width:none;max-height:calc(100dvh - 170px);overflow:auto}
 .plus-anchor .plus-btn{width:44px;height:44px;opacity:1!important;transform:none!important}.plus-menu,.plus-menu.plus-menu-2{position:fixed!important;inset:auto 8px calc(8px + env(safe-area-inset-bottom))!important;transform:none!important;min-width:0;width:auto;max-width:none;max-height:min(65dvh,560px);grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:6px}.plus-menu button{min-height:44px;font-size:13px;white-space:normal;padding:9px 7px}.plus-menu-head{font-size:11px;padding:8px 4px}.plus-menu-col{min-width:0}.plus-menu-2 .plus-menu-col+.plus-menu-col{padding-left:6px;margin-left:0}
 .material-modal{padding:0}.material-modal-panel{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.material-modal-head{padding:10px 12px;gap:8px;flex-wrap:wrap;min-height:56px}.material-modal-close{min-width:44px;min-height:44px;margin-left:auto}.material-modal-count{font-size:11px;max-width:50%;overflow-wrap:anywhere}.material-modal-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.material-modal-rail{flex-direction:row;align-items:center;justify-content:flex-start;flex-shrink:0;gap:8px;padding:8px 12px!important;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;max-width:100%;min-height:70px}.material-rail-btn{flex-shrink:0;min-width:60px;min-height:52px}.material-rail-btn small{font-size:11px}.material-rail-btn .material-rail-ico{width:30px;height:30px}.material-rail-sep{width:1px;height:30px;flex:none}
 .material-modal-side{border-right:0;overflow:visible;flex:none;display:block;min-height:0}.material-modal-side .material-modal-search{display:grid;grid-template-columns:minmax(0,1fr) 110px;padding:10px 12px 6px;gap:6px}.material-modal-side .material-modal-search input,.material-modal-sort{min-width:0;min-height:42px;font-size:14px!important}.material-modal-side .material-modal-tabs{flex-direction:row;overflow-x:auto;flex-wrap:nowrap;padding:4px 12px 8px;max-width:100%;gap:5px}.material-modal-side .material-modal-tabs button{width:auto;flex-shrink:0;white-space:nowrap;border:1px solid var(--line);padding:8px 10px;min-height:40px}.material-modal-side-title,.material-modal-side .material-modal-used{display:none}.material-modal-filters{max-height:110px;overflow:auto}.material-modal-main{flex:1;min-height:0;overflow:hidden}.material-modal-grid{padding:10px 12px 18px;overflow:auto;overscroll-behavior:contain}.material-modal-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.material-cell{min-width:0}.material-cell-name{font-size:12px;-webkit-line-clamp:3}.material-star,.material-cmp{opacity:1;width:32px;height:32px}.material-cmp{right:5px;bottom:5px}.material-cell-thumb{min-height:110px}.material-modal-note{font-size:10px;padding:6px 12px}.material-modal-view{font-size:12px;padding:8px 12px}.material-cmp-pop{position:fixed;left:10px;right:10px;bottom:10px;top:auto;width:auto;z-index:110}
 .cut-modal-box,.adv-box{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:8px;overflow:auto}.cut-modal-head{gap:10px;flex-wrap:wrap}.cut-modal-head h2{font-size:18px;overflow-wrap:anywhere}.cut-modal-body{min-width:0;overflow:auto}.project-row,.proj-row{min-width:0}.editor-panel input,.editor-panel select,.editor-panel textarea{font-size:16px!important}.editor-panel .field{min-width:0}.mat-card,.mat-card-edge{min-width:0}.material-trigger-name{min-width:0}.module-hud-order .btn{min-height:40px}.wr-config,.wr-sizes{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.plus-btn{transition:none}}
.material-mobile-filters{display:none}
@media(max-width:700px){.material-mobile-filters{display:block;grid-column:1/-1;min-height:36px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);font:500 12px var(--font-body)}.material-modal:not(.mobile-filters-open) .material-modal-filters{display:none}.material-modal.mobile-filters-open .material-modal-filters:not([hidden]){display:flex}.material-modal-view{flex-shrink:0}.viewport-totals{padding:6px 8px}.editor-mobile-bar button{min-width:0;overflow-wrap:anywhere}}
@media(max-width:700px){.wh-part{left:8px;right:8px;top:auto;bottom:70px;width:auto;max-height:calc(100% - 240px);overflow:auto;z-index:20}.wh-part-close{min-width:40px;min-height:40px}.wh-part .btn{min-height:44px}.wh-sizes{left:8px;top:64px;width:min(270px,calc(100% - 60px));padding:8px}.wh-size-input{font-size:16px;min-height:36px}.wh-size-range{height:32px}.wh-size-row{grid-template-columns:52px minmax(0,1fr) 66px auto}.wh-part-note{font-size:13px}.wr-config{max-width:calc(100vw - 16px)}}
@media(max-width:700px){.wo-dim{display:none!important}}
@media(max-width:700px){.is-client-editor .hw-panel{display:none}.editor-canvas-wrap>.hw-panel{left:8px;right:8px;bottom:80px;width:auto;max-width:none;max-height:32dvh;overflow:auto}.editor-canvas-wrap:has(.module-hud:not([hidden]))>.hw-panel{display:none}}
/* ТЕЛЕФОН: МЕСТО — МОДЕЛИ (17.10.2026, заказчик: «меню скрыть в одну иконку, чтобы освободить место для просмотра»; «ширину и высоту спрятать в иконку»; «функции очень большие»; «всего 2 текстуры — нужно хотя бы 6»; «конструктор дверей на телефоне отображается не верно»).
   1) Страница редактора не прокручивается: подвал скрыт, сцена ровно до низа экрана. Раньше открытие меню модулей уводило страницу на 365 px вниз — к подвалу, и казалось, что модуль не добавился.
   2) Панель инструментов и размеры — за одной кнопкой «Меню» (editor-mobile.js).
   3) Карточка модуля — компактнее; материалы — по 3 в ряд; конструктор дверей — на весь экран, схема ужимается по ширине. */
.editor-mobile-tools{display:none}
@media(max-width:700px){
html.has-mobile-editor,html.has-mobile-editor body{overflow:hidden;overscroll-behavior:none}
html.has-mobile-editor .site-footer{display:none}
.has-mobile-editor .editor-canvas-wrap{height:calc(100dvh - 61px);min-height:0;max-height:none}
.editor-mobile-tools{display:flex;align-items:center;gap:6px;position:absolute;top:8px;left:8px;z-index:26;min-height:40px;padding:0 14px 0 10px;border:1px solid var(--line-bright);border-radius:20px;background:var(--panel);color:var(--text);font:500 12px var(--font-body);box-shadow:0 4px 16px #0006}
.editor-mobile-tools svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
html.mobile-tools-open .editor-mobile-tools{border-color:var(--accent);color:var(--accent)}
html.has-mobile-editor:not(.mobile-tools-open) .editor-toolbar,html.has-mobile-editor:not(.mobile-tools-open) .wh-sizes{display:none!important}
html.mobile-tools-open .editor-toolbar{margin-top:52px}
html.mobile-tools-open .wh-sizes{top:56px}
.module-hud{max-height:46%;font-size:13px;padding:8px 10px}
.module-hud-group[open]>.module-hud-group-body::before{display:none}
.module-hud-group[open]>.module-hud-group-body{padding:8px;border-radius:6px}
.module-hud-head b{font-size:14px}
.module-hud-group>summary{min-height:36px;padding-block:6px;font-size:11px}
.module-hud-field{margin-top:6px;gap:2px}
.module-hud-field span{font-size:10.5px}
.module-hud-group-body input,.module-hud-group-body select{min-height:34px;padding:4px 8px}
.module-hud .btn,.module-hud button{min-height:34px}
.module-hud-note,.module-hud-info,.module-hud-warn{font-size:12px;line-height:1.4}
.material-modal-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px}
.material-cell-thumb{min-height:0;height:auto!important;aspect-ratio:1/1}
.material-cell-name{font-size:11px;line-height:1.3;-webkit-line-clamp:2}
.material-cell-size{display:none}
.material-star,.material-cmp{width:26px;height:26px}
.wardrobe-panel{padding:0;align-items:stretch}
.wardrobe-panel .cut-modal-box{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}
.wardrobe-panel .wp-tabs{display:flex;flex-wrap:nowrap;flex:none;overflow-x:auto;scrollbar-width:none}
.wardrobe-panel .wp-tab{flex:none;padding:10px 12px;font-size:11.5px}
.wardrobe-panel .wp-body{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:12px}
.wardrobe-panel .wp-svg{display:block;max-width:100%;height:auto}
.wardrobe-panel .wp-lists{display:block}
.wardrobe-panel .wp-scroll{max-height:none}
.wardrobe-panel .wp-search,.wardrobe-panel .wp-sort{min-width:0;max-width:100%}
.wp-t3 .wp-item-card{grid-template-columns:56px minmax(0,1fr) auto;padding:8px;gap:8px}
.wp-t3 .wp-item-card .wp-item-pic{width:56px;height:56px}
.wp-t3 .wp-item-name{font-size:12px}
.wardrobe-panel .wp-row.wp-sticky{flex-wrap:wrap;gap:6px}
.wardrobe-panel .wp-row.wp-sticky .wp-search{flex:1 1 100%;width:100%;min-height:40px;font-size:16px}
.wardrobe-panel .wp-color-filter{flex:1 1 auto;font-size:12px}
.wardrobe-panel .wp-item-note{white-space:normal;overflow-wrap:anywhere}
}
