/* ITODI 0.7.12 — structural shell only. Visual appearance lives in design-system.css. */
[hidden]{display:none!important}
.hidden,.is-hidden,[class*="-hidden"]{display:none!important}
html,body{width:100%;height:100%}
body{margin:0;overflow:hidden}
.app{width:100%;height:100%;min-width:0;min-height:0}
.viewer{position:relative;min-width:0;min-height:0;overflow:hidden}
#canvas{display:block;width:100%;height:100%}
#itodiActionIconsSprite{display:none!important}

html.itodi-studio-ui body .app{
  display:grid!important;
  grid-template-rows:64px minmax(0,1fr) 72px!important;
  min-height:0!important;
  height:var(--its-height,100dvh)!important;
  overflow:hidden!important;
}
html.itodi-studio-ui body .app>#itsHeader{grid-row:1}
html.itodi-studio-ui body .app>.main{grid-row:2}
html.itodi-studio-ui body .app>#itsFooter{grid-row:3}

/* Retire every older shell. Their functional step nodes are preserved inside #itodiShellSections. */
html.itodi-studio-ui body .app>.header,
html.itodi-studio-ui body .app>.dream-promo,
html.itodi-studio-ui .stepper-wrap,
html.itodi-studio-ui #v55ConfigHead,
html.itodi-studio-ui #itodiFlowTopbar,
html.itodi-studio-ui #itodiFlowPanelHead,
html.itodi-studio-ui #itodiFlowNextBar,
html.itodi-studio-ui #itodiConfigurationModePanel,
html.itodi-studio-ui .left>#skirtingProxyPanel,
html.itodi-studio-ui .left>.footer,
html.itodi-studio-ui .left>.tabs,
html.itodi-studio-ui .left>.itodi-shell-top,
html.itodi-studio-ui .left>.itodi-shell-header,
html.itodi-studio-ui .itodi-shell-section-head,
html.itodi-studio-ui .itodi-shell-footer-next,
html.itodi-studio-ui .itodi-shell-footer-prev,
html.itodi-studio-ui #itodiLocaleControls,
html.itodi-studio-ui #itodiViewerActions,
html.itodi-studio-ui .viewer>.v55-right-rail,
html.itodi-studio-ui #designStyleStartOverlay{display:none!important}

html.itodi-studio-ui .main{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:184px minmax(0,1fr) 372px!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:14px!important;
  padding:14px!important;
  overflow:hidden!important;
}
html.itodi-studio-ui .main>#itsLeft{
  grid-column:1!important;grid-row:1!important;
  min-width:0!important;min-height:0!important;overflow:auto!important;
}
html.itodi-studio-ui .main>#viewer{
  grid-column:2!important;grid-row:1!important;
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
}
html.itodi-studio-ui .main>.left{
  grid-column:3!important;grid-row:1!important;
  min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;
}
html.itodi-studio-ui #itsPanelHeader,
html.itodi-studio-ui #itsUnavailable,
html.itodi-studio-ui #itsDimensionInfo{flex:0 0 auto}
html.itodi-studio-ui #itsStylePanel,
html.itodi-studio-ui #itodiShellSections{flex:1 1 auto;min-height:0}
html.itodi-studio-ui #itodiShellSections{overflow:auto!important;overscroll-behavior:contain}
html.itodi-studio-ui #itodiShellSections>.itodi-shell-section{display:none!important}
html.itodi-studio-ui #itodiShellSections>.itodi-shell-section[data-studio-current]{display:block!important}
html.itodi-studio-ui #itodiShellSections .itodi-shell-section-body{display:block!important}
html.itodi-studio-ui #itodiShellSections [data-studio-current]>.itodi-shell-section-body>.scroll{display:block!important}
html.itodi-studio-ui [data-studio-material-hidden]{display:none!important}
html.itodi-studio-ui [data-studio-offpage]{visibility:visible!important}
html.itodi-studio-ui #itsPager{display:none!important}
html.itodi-studio-ui #itsMobileCategory{display:none}

/* Drawers remain functional overlays and only render when actually opened. */
html.itodi-studio-ui #itodiAdvancedDrawer[aria-hidden="true"],
html.itodi-studio-ui #itodiMdfMaterialDrawer[aria-hidden="true"],
html.itodi-studio-ui .itodi-material-context-drawer[aria-hidden="true"]{display:none!important}
#itodiHomeDialog{max-width:100vw;max-height:100vh;overflow:auto}
#itodiRalTip{position:fixed;z-index:2147483647;pointer-events:none}
#itodiRalTip[hidden]{display:none!important}

@media(max-width:1180px) and (min-width:1001px){
  html.itodi-studio-ui .main{grid-template-columns:164px minmax(0,1fr) 336px!important;gap:10px!important;padding:10px!important}
}

/* A single navigation remains visible at every viewport size. */
@media(max-width:1000px){
  html.itodi-studio-ui body .app{grid-template-rows:52px minmax(0,1fr) calc(64px + env(safe-area-inset-bottom,0px))!important}
  html.itodi-studio-ui .main{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:44px minmax(120px,1fr) minmax(200px,1.05fr)!important;
    gap:8px!important;padding:0 8px 8px!important;
  }
  html.itodi-studio-ui .main>#itsLeft{display:block!important;grid-column:1!important;grid-row:1!important;overflow:hidden!important}
  html.itodi-studio-ui .main>#viewer{grid-column:1!important;grid-row:2!important}
  html.itodi-studio-ui .main>.left{grid-column:1!important;grid-row:3!important}
  html.itodi-studio-ui #itsMenu{display:flex!important}
  html.itodi-studio-ui #itsMobileCategory{display:none!important}
}
@media(max-width:1000px) and (max-height:600px) and (orientation:landscape){
  html.itodi-studio-ui .main{grid-template-columns:minmax(0,1fr) minmax(300px,42%)!important;grid-template-rows:44px minmax(0,1fr)!important}
  html.itodi-studio-ui .main>#itsLeft{grid-column:1 / -1!important}
  html.itodi-studio-ui .main>#viewer{grid-column:1!important;grid-row:2!important}
  html.itodi-studio-ui .main>.left{grid-column:2!important;grid-row:2!important}
}

/* 0.7.17 — storefront status messages are overlays, never document-flow nodes.
   This prevents iOS Safari from creating a second scrollable page below the app. */
#itodiPriceStatus,#itodiCartStatus{
  position:fixed!important;
  left:50%!important;
  bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;
  z-index:2147483000!important;
  width:min(520px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #d9e0eb!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 10px 32px rgba(23,43,73,.16)!important;
  color:#34445a!important;
  font:500 11px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif!important;
  white-space:normal!important;
}
#itodiPriceStatus button{
  margin-left:8px!important;
  min-height:28px!important;
  padding:3px 9px!important;
  border:1px solid #cbd6e6!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#194bbf!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:600!important;
  font-family:inherit!important;
}
#itodiPriceStatus[hidden],#itodiCartStatus[hidden]{display:none!important}
@media(max-width:1000px){
  #itodiPriceStatus,#itodiCartStatus{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
}

/* Show only the controls belonging to the current category and subtab. */
html#itodiUi.itodi-studio-ui[data-studio-category="mount"] #itodiShellSections #baseIntegratedSection,
html#itodiUi.itodi-studio-ui[data-studio-category="base"] #itodiShellSections :is(.installation-mode-section,#coverIntegratedSection),
html#itodiUi.itodi-studio-ui[data-studio-category="fronts"][data-studio-part="construction"] #itodiShellSections :is(.itodi-front-material-section,.itodi-grain-direction-section),
html#itodiUi.itodi-studio-ui[data-studio-category="fronts"][data-studio-part="finish"] #itodiShellSections :is(.itodi-front-construction-section,.itodi-front-type-section),
html#itodiUi.itodi-studio-ui[data-studio-category="layout"][data-studio-part="structure"] #itodiShellSections :is(#structureModeHeading,#itodiCompactShelfSelector,.structure-preset-grid,.structure-preset-hint),
html#itodiUi.itodi-studio-ui[data-studio-category="layout"][data-studio-part="presets"] #itodiShellSections :is(#structureWholeTitle,#structureCoreControls,#horizontalStructureCoreControls,#structureIndividualTitle,#structureIndividualEditor,#equalizeControls),
html#itodiUi.itodi-studio-ui[data-studio-category="cell"] #itodiShellSections #cablePassagePanel,
html#itodiUi.itodi-studio-ui[data-studio-category="cuts"][data-studio-part="cable"] #itodiShellSections :is(#step5ProgressiveRoot,#interiorShelfPositionTools){display:none!important}
/* The style picker and preset cards replace these duplicated legacy controls. */
html#itodiUi.itodi-studio-ui :is(#designStyleStructureSummary,#shelfSpanInfo,#itodiCompactShelfSelector,.structure-preset-hint){display:none!important}
/* Preserve visibility chosen by the engine, including unavailable options. */
html#itodiUi.itodi-studio-ui :is(#itodiShellSections,#itsStylePanel,#itodiAdvancedDrawer) :is([hidden],[style*="display: none"],[style*="display:none"]){display:none!important}
/* Wardrobes have their own interior presets and a shared section selector. */
html#itodiUi.itodi-studio-ui[data-itodi-product-type="wardrobe"] #itodiShellSections :is(#structureModeHeading,.structure-preset-grid,#structureIndividualTitle,#structureColumnPicker){display:none!important}
html#itodiUi.itodi-studio-ui[data-itodi-product-type="wardrobe"] #itodiShellSections [data-installation-mode="wall-mounted"]{display:none!important}
html#itodiUi.itodi-studio-ui:not([data-itodi-product-type="bookcase"]) #itodiShellSections .structure-preset-grid,
html#itodiUi.itodi-studio-ui[data-itodi-product-type="bookcase"]:not([data-design-style="basic"]):not([data-design-style="standard"]):not([data-design-style="asymmetry"]) #itodiShellSections .structure-preset-grid{display:none!important}
/* Prevent intrinsic button widths from expanding the page on narrow phones. */
html.itodi-studio-ui body .app{grid-template-columns:minmax(0,1fr)!important}
html.itodi-studio-ui :is(#itsHeader,#itsFooter){min-width:0;width:100%}

/* 0.7.12: one set of controls per step. */
html#itodiUi.itodi-studio-ui #itodiShellSections :is(.installation-mode-check,.installation-mode-icon,.plinth-style-card small,#itodiGuidedAutoCard,#lowerStorageDepthNote,.japandi-variant-card small),
html#itodiUi.itodi-studio-ui #step1>.step-section-title,
html#itodiUi.itodi-studio-ui[data-studio-category="dimensions"] .itodi-more-options-launch,
html#itodiUi.itodi-studio-ui:not([data-studio-plinth="true"]) .itodi-more-options-launch[data-advanced-for="step3"],
html#itodiUi.itodi-studio-ui[data-studio-category="cell"] :is(#structureWholeTitle,#equalizeSecondary),
html#itodiUi.itodi-studio-ui[data-itodi-product-type="wardrobe"] #viewerFillingToolbar :is(.viewer-filling-toolbar-head,#frontTypeGrid,#internalShelvesCard,.wardrobe-panel-title,.wardrobe-section-tabs),
html#itodiUi.itodi-studio-ui[data-studio-back-enabled="false"] #backColourSection,
html#itodiUi.itodi-studio-ui #backCustomMaterials:not(.visible),
html#itodiUi.itodi-studio-ui #frontCustomMaterials:not(.visible){display:none!important}
/* The skirting editor is visible only in its drawer, and measurements only when enabled. */
html#itodiUi.itodi-studio-ui #skirtingProxyPanel:not(.is-on) .itodi-cutout-proxy-controls{display:none!important}
/* Overlay geometry is essential to picking and dragging in the 3D view. */
#overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
#overlay :is(.handle,.compartment-target,.front-range-viewer-overlay,.overlay-item,.zone,.edge-offset-line,.row-dim,.step2-element-control){position:absolute}
#overlay .handle{pointer-events:auto;touch-action:none;user-select:none;z-index:12}
#overlay .compartment-target{pointer-events:none}
#overlay .compartment-target-shape{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
#overlay .compartment-target-polygon{fill:transparent;stroke:transparent;pointer-events:all;cursor:pointer;vector-effect:non-scaling-stroke}
html.itodi-studio-ui #canvas{touch-action:none!important;pointer-events:auto!important}
html.itodi-studio-ui #overlay :is(.compartment-target,.compartment-target-shape,.compartment-target-polygon){pointer-events:none!important}
#overlay .front-range-viewer-overlay{pointer-events:none;z-index:15}
#overlay .front-range-viewer-handle{position:absolute;pointer-events:auto;touch-action:none;user-select:none}
.front-range-mini{position:relative;display:flex;flex-direction:column;touch-action:none}
.front-range-mini-handle{position:absolute;touch-action:none;user-select:none}
html.itodi-studio-ui :is(#resumeOverlay,#configurationSaveOverlay,.itodi-material-context-drawer)[aria-hidden="true"]{display:none!important}
html#itodiUi.itodi-studio-ui #dimensionsAccordionBody>.step-section-title{display:none!important}
html#itodiUi.itodi-studio-ui #itodiAdvancedDrawer [data-advanced-step="skirtingProxyPanel"]>.itodi-advanced-block-head,
html#itodiUi.itodi-studio-ui #materialCards .itodi-material-mdf-option>.material-panel-material-title{display:none!important}

/* 0.7.92: no contextual editor or highlights without an interior selection. */
html#itodiUi.itodi-studio-ui[data-studio-category="cell"][data-studio-interior-selected="false"] #itodiShellSections{display:none!important}
html#itodiUi.itodi-studio-ui[data-studio-category="mount"] .itodi-more-options-launch[data-advanced-for="step3"]{display:none!important}

/* 0.7.97: old offscreen viewer controls must not receive keyboard focus in Studio. */
html.itodi-studio-ui[data-itodi-product-type="wardrobe"] #viewer > :is(#dreamViewToolbar,.viewer-top,#note,#reviewPreviewActions,#autoChangeToast:not(.visible)){display:none!important}
html.itodi-studio-ui[data-itodi-product-type="wardrobe"] #autoChangeToast.visible{position:absolute;left:16px;bottom:78px;max-width:calc(100% - 32px);padding:10px 14px;border-radius:8px;background:#fff;z-index:10}

/* 0.7.98: wardrobe adjustments remain in Layout; only the active section opens. */
html.itodi-studio-ui[data-itodi-product-type="wardrobe"][data-studio-category="layout"] #itsOpenFronts{display:none!important}
html[data-wardrobe-editor="adjust"] .w98-back{margin:0 0 14px;text-align:left}
html[data-wardrobe-editor="adjust"] #w97PresetPicker .w97-current-layout{margin-bottom:10px}
html.itodi-studio-ui[data-itodi-product-type="wardrobe"][data-studio-category="layout"] #itsUndo{margin-left:auto}
html.itodi-studio-ui[data-itodi-product-type="wardrobe"][data-studio-category="layout"][data-wardrobe-editor="adjust"] #w94LayoutPanel > :is(.wardrobe-drawer-choice,.w94-toggles,[data-w94-count-slot],.w94-equal){display:none!important}

/* ITODI 0.7.153: Kontur has an automatic base, not a chain of one-choice menus. */
html#itodiUi[data-design-style="kontur"] #baseIntegratedSection > .layout-heading,
html#itodiUi[data-design-style="kontur"] #baseChoiceGrid,
html#itodiUi[data-design-style="kontur"] #legsSettings > .base-settings-title,
html#itodiUi[data-design-style="kontur"] #legsSettings > .leg-model-grid,
html#itodiUi[data-design-style="kontur"] #legFinishSection,
html#itodiUi[data-design-style="kontur"] #itodiKonturBaseNote,
html#itodiUi[data-itodi-installation-mode="wall-mounted"] #baseIntegratedSection,
html#itodiUi #baseIntegratedSection[hidden],
html#itodiUi #skirtingProxyPanel[hidden]{display:none!important}
html#itodiUi[data-design-style="japandi"]:is([data-itodi-product-type="rtv_sideboard"],[data-itodi-product-type="sideboard"],[data-itodi-product-type="nightstand"],[data-itodi-product-type="bathroom_cabinet"]) #baseChoiceGrid [data-base="none"],
html#itodiUi[data-design-style="japandi"]:is([data-itodi-product-type="rtv_sideboard"],[data-itodi-product-type="sideboard"],[data-itodi-product-type="nightstand"],[data-itodi-product-type="bathroom_cabinet"]) [data-leg-model="l-panel-custom"]{display:none!important}
html#itodiUi[data-design-style="kontur"] #legsSettings{margin-top:0!important}

html#itodiUi[data-design-style="kontur"] #legsSettings > .setting-note{display:none!important}

/* 0.7.166: standing Japandi uses its continuous uprights and bay rails automatically. */
html#itodiUi[data-design-style="japandi"]:is([data-itodi-product-type="rtv_sideboard"],[data-itodi-product-type="sideboard"],[data-itodi-product-type="nightstand"],[data-itodi-product-type="bathroom_cabinet"]) :is(#baseIntegratedSection > .layout-heading,#baseChoiceGrid,#legsSettings > .base-settings-title,#legsSettings > .leg-model-grid,#legFinishSection,#legsSettings > .setting-note){display:none!important}
