/* ==========================================================================
   MakHome Kitchen Designer — "Кухня студио"
   Studio system: ink rail + paper drawing surface, dark glass plates, red hairlines,
   sharp corners (round only for icon controls). Reads theme tokens from studio.css.
   ========================================================================== */

.mkd { --rail-w: 430px; --mkd-canvas: #f1f0eb; --mkd-canvas-2: #e9e8e2; position: relative; background: var(--ink); color: #fff; }
.mkd *, .mkd *::before, .mkd *::after { box-sizing: border-box; }
.mkd button { font: inherit; }
.mkd [hidden] { display: none !important; }
.mkd-page-main { background: var(--ink); }
.mkd-page .mhs-header { background: var(--ink); }

/* hide floating widgets (Maki concierge, RoomVision) while the studio is open — they collide with the rail footer */
body.mkd-studio-on #mkc-launcher, body.mkd-studio-on .mkc-launcher, body.mkd-studio-on #mkc-panel, body.mkd-studio-on .mkrv-fab { display: none !important; }

/* ---------- welcome ---------- */
.mkd-welcome { position: relative; min-height: calc(100svh - var(--nav-h)); display: grid; align-items: end; overflow: hidden; isolation: isolate; }
.mkd-welcome__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transform: scale(1.04); }
.mkd-welcome::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,10,11,.25) 0%, rgba(10,10,11,.15) 35%, rgba(10,10,11,.86) 100%), linear-gradient(90deg, rgba(10,10,11,.55) 0%, rgba(10,10,11,0) 60%); }
.mkd-welcome__in { width: 100%; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 420px); gap: clamp(28px, 4vw, 64px); align-items: end; padding-top: clamp(80px, 12vh, 160px); padding-bottom: clamp(36px, 6vh, 80px); }
.mkd-welcome .mhs-display { margin: .3em 0 .35em; max-width: 14ch; }
.mkd-welcome__sub { max-width: 52ch; color: rgba(255,255,255,.78); }
.mkd-welcome .mhs-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: clamp(22px, 3vw, 36px); --fg: #fff; --surface: var(--ink); --line-strong: rgba(255,255,255,.35); }
.mkd-welcome__plate { padding: 20px 22px 22px; }
.mkd-welcome__steps { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; font-size: .95rem; }
.mkd-welcome__steps li { display: flex; gap: 12px; align-items: baseline; padding-bottom: 8px; border-bottom: 1px solid var(--glass-line); }
.mkd-welcome__steps b { font-weight: 500; color: var(--red); font-size: .74rem; letter-spacing: .1em; }
.mkd-welcome__plate .mhs-plate__facts { margin-top: 14px; }

/* ---------- studio grid ---------- */
.mkd-studio { display: grid; grid-template-columns: minmax(0, 1fr) var(--rail-w); height: calc(100svh - var(--nav-h)); min-height: 620px; }
body.admin-bar .mkd-studio { height: calc(100svh - var(--nav-h) - 32px); }

/* ---------- canvas ---------- */
.mkd-canvas { position: relative; display: flex; flex-direction: column; background: var(--mkd-canvas); color: var(--ink); overflow: hidden; }
.mkd-canvas.mhs-light { background: var(--mkd-canvas); }
.mkd-canvasbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px 0; flex-wrap: wrap; z-index: 3; }
.mkd-canvasbar__views, .mkd-canvasbar__walls, .mkd-canvasbar__tools { display: flex; gap: 6px; }
.mkd-viewbtn, .mkd-walltab { height: 38px; padding: 0 16px; border: 1px solid rgba(10,10,11,.25); background: rgba(255,255,255,.55); color: var(--ink); font-weight: 500; font-size: .86rem; letter-spacing: .01em; cursor: pointer; transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease); }
.mkd-viewbtn:hover, .mkd-walltab:hover { border-color: var(--ink); }
.mkd-viewbtn.is-active, .mkd-walltab[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.mkd-iconbtn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(10,10,11,.25); background: rgba(255,255,255,.55); color: var(--ink); display: grid; place-items: center; cursor: pointer; transition: background .25s var(--ease), color .25s var(--ease); }
.mkd-iconbtn svg { width: 18px; height: 18px; }
.mkd-iconbtn:hover { background: var(--ink); color: #fff; }
.mkd-stage { position: relative; flex: 1; min-height: 0; }
.mkd-view { position: absolute; inset: 12px 20px 20px; }
@media (min-width: 901px) and (min-height: 700px) { .mkd-view { bottom: 200px; } } /* keep drawings clear of the spec plate + inset */
.mkd-view svg { width: 100%; height: 100%; display: block; }
.mkd-inset { position: absolute; right: 20px; bottom: 20px; width: 240px; aspect-ratio: 4 / 3; padding: 6px; border: 1px solid rgba(10,10,11,.2); background: rgba(255,255,255,.7); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); cursor: pointer; z-index: 3; box-shadow: 0 20px 50px -30px rgba(0,0,0,.5); transition: transform .35s var(--ease), border-color .25s; }
.mkd-inset:hover { transform: translateY(-3px); border-color: var(--ink); }
.mkd-inset svg { width: 100%; height: 100%; display: block; }
.mkd-inset::after { content: "Смени изгледа"; position: absolute; left: 8px; top: 6px; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(10,10,11,.5); }
.mkd-specwrap { position: absolute; left: 20px; bottom: 20px; width: 320px; z-index: 3; transition: transform .5s var(--ease); }
.mkd-spec { pointer-events: none; }
.mkd-spectab { position: absolute; right: -22px; top: 50%; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; border: 1px solid rgba(10,10,11,.25); background: var(--ink); color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: 0 10px 30px -14px rgba(0,0,0,.6); transition: background .25s var(--ease), color .25s var(--ease), transform .5s var(--ease); }
.mkd-spectab svg { width: 18px; height: 18px; transition: transform .4s var(--ease); }
.mkd-spectab:hover { background: var(--red); border-color: var(--red); }
.mkd-specwrap.is-hidden { transform: translateX(calc(-100% - 20px + 44px)); }
.mkd-specwrap.is-hidden .mkd-spec { opacity: 0; transition: opacity .3s; }
.mkd-specwrap:not(.is-hidden) .mkd-spec { transition: opacity .3s .15s; }
.mkd-specwrap.is-hidden .mkd-spectab svg { transform: rotate(180deg); }
.mkd-spec .mhs-plate__swatches { display: flex; gap: 6px; margin-top: 12px; }
.mkd-spec .mhs-plate__swatches i { width: 26px; height: 26px; border-radius: 50%; background-size: cover; border: 1px solid var(--glass-line); display: block; }
.mkd-spec .mhs-plate__facts dd { font-weight: 500; }
.mkd-toast { position: absolute; left: 50%; bottom: 24px; transform: translate(-50%, 16px); background: var(--ink); color: #fff; padding: 10px 16px; font-size: .9rem; opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s var(--ease); z-index: 6; box-shadow: 0 20px 50px -20px rgba(0,0,0,.6); }
.mkd-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.mkd-toast--error { background: var(--red); }

/* render view */
.mkd-renderview { position: absolute; inset: 0; background: var(--ink); display: grid; place-items: center; z-index: 2; }
.mkd-renderview img { width: 100%; height: 100%; object-fit: contain; display: block; }
.mkd-rendercap { position: absolute; left: 20px; bottom: 20px; width: 360px; }
.mkd-rendercap__actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.mkd-progress-card { width: min(320px, 86%); padding: 16px 18px 18px; }
.mkd-progress-card .mhs-plate__title { font-size: 1rem; }
.mkd-progress-card .mhs-plate__meta { min-height: 2.6em; }
.mkd-progress-steps { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.mkd-progress-steps li { position: relative; padding-left: 26px; color: var(--fg-2); font-size: .95rem; }
.mkd-progress-steps li::before { content: ""; position: absolute; left: 0; top: .45em; width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); }
.mkd-progress-steps li.is-done { color: #fff; }
.mkd-progress-steps li.is-done::before { background: var(--red); border-color: var(--red); }
.mkd-progress-bar { height: 2px; background: rgba(255,255,255,.14); margin-top: 14px; overflow: hidden; }
.mkd-progress-bar i { display: block; height: 100%; width: 35%; background: var(--red); animation: mkd-slide 1.8s var(--ease) infinite; }
@keyframes mkd-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(300%); } }

/* ---------- rail ---------- */
.mkd-rail { display: flex; flex-direction: column; min-height: 0; background: var(--coal); color: rgba(255,255,255,.72); border-left: 1px solid rgba(255,255,255,.08); }
.mkd-rail__head { padding: 22px 26px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.mkd-rail__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.mkd-rail__count { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.mkd-rail__title { font-size: 1.7rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.05; color: #fff; margin: .45em 0 .7em; }
.mkd-progress { list-style: none; margin: 0; padding: 0 0 16px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.mkd-progress li button { width: 100%; padding: 0; border: 0; background: none; color: rgba(255,255,255,.45); font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; text-align: left; cursor: pointer; display: grid; gap: 8px; }
.mkd-progress li button::before { content: ""; display: block; height: 2px; background: rgba(255,255,255,.16); transition: background .3s; }
.mkd-progress li.is-done button::before { background: rgba(255,255,255,.55); }
.mkd-progress li.is-active button { color: #fff; }
.mkd-progress li.is-active button::before { background: var(--red); }
.mkd-progress li button:hover::before { background: rgba(255,255,255,.7); }
.mkd-rail__body { flex: 1; min-height: 0; overflow-y: auto; padding: 8px 26px 28px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
.mkd-rail__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 26px; border-top: 1px solid rgba(255,255,255,.1); background: var(--coal); --fg: #fff; --surface: var(--coal); --line-strong: rgba(255,255,255,.35); --glass: rgba(255,255,255,.06); --glass-line: rgba(255,255,255,.18); }
.mkd-rail__foot .mhs-btn--red { margin-left: auto; }
.mkd-rail__foot .mhs-btn.is-busy { opacity: .6; pointer-events: none; }
.mkd-rail__price { display: grid; line-height: 1.1; color: #fff; }
.mkd-rail__price small { font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.mkd-rail__price b { font-weight: 500; font-size: 1.1rem; }
.mkd-send { transform: rotate(-30deg); }

/* ---------- components (kdu-) ---------- */
.kdu-group { padding: 20px 0 6px; border-bottom: 1px solid rgba(255,255,255,.08); }
.kdu-group:last-child { border-bottom: 0; }
.kdu-group__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 12px; }
.kdu-group__title { margin: 0; font-size: .74rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); display: inline-flex; align-items: center; gap: .7em; }
.kdu-group__title::before { content: ""; width: 14px; height: 1px; background: var(--red); }
.kdu-group__hint, .kdu-hint { margin: 0; font-size: .84rem; color: rgba(255,255,255,.5); flex-basis: 100%; }
.kdu-hint { margin-top: 8px; }
.kdu-rowhead { padding-top: 22px; display: grid; gap: 8px; }
.kdu-rowhead .mhs-eyebrow { color: #fff; }
.kdu-rowhead--upper { margin-top: 10px; padding-top: 26px; border-top: 2px solid rgba(255,255,255,.14); }
.kdu-label { display: block; font-size: .88rem; font-weight: 500; color: #fff; }
.kdu-label i { color: var(--red); font-style: normal; }
.kdu-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0 8px; }
.kdu-row .kdu-label { line-height: 1.3; }

/* cards */
.kdu-cards { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 8px; }
.kdu-card { position: relative; display: grid; gap: 4px; text-align: left; padding: 14px 40px 14px 14px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.03); color: #fff; cursor: pointer; transition: border-color .25s var(--ease), background .25s var(--ease); min-height: 64px; }
.kdu-card:hover { border-color: rgba(255,255,255,.5); }
.kdu-card[aria-pressed="true"] { border-color: var(--red); background: rgba(221,51,51,.08); }
.kdu-card__icon { display: block; height: 34px; margin-bottom: 4px; }
.kdu-card__icon svg { height: 100%; width: auto; fill: rgba(255,255,255,.75); stroke: none; }
.kdu-card__icon svg .w { fill: none; stroke: rgba(255,255,255,.4); stroke-width: 1.5; }
.kdu-card__icon svg[viewBox="0 0 24 24"] { fill: none; stroke: #fff; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.kdu-card__name { font-weight: 500; font-size: .95rem; line-height: 1.25; }
.kdu-card__desc { font-size: .8rem; color: rgba(255,255,255,.55); line-height: 1.4; }
.kdu-card__check, .kdu-tile__check, .kdu-swatch__check { position: absolute; right: 12px; top: 12px; width: 20px; height: 20px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; opacity: 0; transform: scale(.6); transition: opacity .2s, transform .25s var(--ease); }
.kdu-card__check svg, .kdu-tile__check svg, .kdu-swatch__check svg { width: 12px; height: 12px; }
[aria-pressed="true"] > .kdu-card__check, [aria-pressed="true"] > .kdu-tile__check, [aria-pressed="true"] .kdu-swatch__check { opacity: 1; transform: scale(1); }


/* list-style option rows (appliances) */
.kdu-cards--list .kdu-card { grid-template-columns: 26px 1fr; align-items: center; gap: 0 12px; padding: 10px 40px 10px 12px; min-height: 48px; }
.kdu-cards--list .kdu-card__icon { height: 24px; margin: 0; grid-row: 1 / span 2; }
.kdu-cards--list .kdu-card__icon svg { height: 24px; width: 24px; }
.kdu-cards--list .kdu-card:not(:has(.kdu-card__icon)) { grid-template-columns: 1fr; padding-left: 50px; }
.kdu-cards--list .kdu-card__name { font-size: .92rem; }
.kdu-cards--list .kdu-card__desc { font-size: .76rem; }
.kdu-cards--list .kdu-card__check { top: 50%; transform: translateY(-50%) scale(.6); }
.kdu-cards--list .kdu-card[aria-pressed="true"] > .kdu-card__check { transform: translateY(-50%) scale(1); }
/* rhythm inside groups */
.kdu-group__body > .mhs-btn { margin-top: 14px; }
.kdu-group__body > .kdu-hint:first-child { margin-top: 0; }
.kdu-group__body > .kdu-notice:first-child { margin-top: 0; }
.kdu-group__body > .kdu-hint + .mhs-btn { margin-top: 12px; }

/* slider */
.kdu-slider { padding: 10px 0 6px; }
.kdu-slider__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.kdu-slider__val { display: flex; align-items: center; gap: 6px; }
.kdu-num { width: 72px; height: 34px; padding: 0 8px; text-align: right; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05); color: #fff; font-weight: 500; font-size: .95rem; -moz-appearance: textfield; }
.kdu-num::-webkit-inner-spin-button, .kdu-num::-webkit-outer-spin-button { -webkit-appearance: none; }
.kdu-num:focus { outline: 2px solid var(--red); outline-offset: 1px; border-color: transparent; }
.kdu-unit { font-size: .8rem; color: rgba(255,255,255,.5); min-width: 2ch; }
.kdu-range { -webkit-appearance: none; appearance: none; width: 100%; height: 22px; background: transparent; margin: 0; cursor: pointer; --p: 50%; }
.kdu-range::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(90deg, var(--red) var(--p), rgba(255,255,255,.2) var(--p)); }
.kdu-range::-moz-range-track { height: 2px; background: rgba(255,255,255,.2); }
.kdu-range::-moz-range-progress { height: 2px; background: var(--red); }
.kdu-range::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--coal); margin-top: -8px; box-shadow: 0 0 0 1px rgba(255,255,255,.4); transition: transform .2s var(--ease); }
.kdu-range::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--coal); box-shadow: 0 0 0 1px rgba(255,255,255,.4); }
.kdu-range:hover::-webkit-slider-thumb, .kdu-range:active::-webkit-slider-thumb { transform: scale(1.15); }
.kdu-range:focus-visible { outline: none; }
.kdu-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px var(--red); }

/* toggle */
.kdu-toggle { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; cursor: pointer; color: #fff; }
.kdu-toggle input { position: absolute; left: 0; top: 50%; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.kdu-toggle__track { flex: none; width: 40px; height: 22px; border-radius: 11px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.2); position: relative; transition: background .25s; margin-top: 1px; }
.kdu-toggle__thumb { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .25s var(--ease); }
.kdu-toggle input:checked + .kdu-toggle__track { background: var(--red); border-color: var(--red); }
.kdu-toggle input:checked + .kdu-toggle__track .kdu-toggle__thumb { transform: translateX(18px); }
.kdu-toggle input:focus-visible + .kdu-toggle__track { outline: 2px solid var(--red); outline-offset: 2px; }
.kdu-toggle__text { display: grid; gap: 2px; }
.kdu-toggle__text b { font-weight: 500; font-size: .95rem; }
.kdu-toggle__text small { font-size: .8rem; color: rgba(255,255,255,.5); }

/* segmented */
.kdu-seg { display: inline-flex; flex: none; border: 1px solid rgba(255,255,255,.2); }
.kdu-seg__btn { padding: 0 14px; height: 34px; white-space: nowrap; border: 0; background: transparent; color: rgba(255,255,255,.75); font-size: .86rem; font-weight: 500; cursor: pointer; transition: background .2s, color .2s; }
.kdu-seg__btn + .kdu-seg__btn { border-left: 1px solid rgba(255,255,255,.2); }
.kdu-seg__btn[aria-checked="true"] { background: #fff; color: var(--ink); }

/* swatches */
.kdu-swatches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 8px; }
.kdu-swatches--sm { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kdu-swatches--sm .kdu-swatch__check { width: 16px; height: 16px; right: 5px; top: 5px; }
.kdu-swatches--sm .kdu-swatch__check svg { width: 10px; height: 10px; }
.kdu-swatch { position: relative; display: grid; gap: 6px; padding: 0; border: 0; background: none; color: #fff; text-align: left; cursor: pointer; }
.kdu-swatch__chip { position: relative; display: block; aspect-ratio: 1; background-size: cover; background-position: center; border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 0 0 0 var(--coal); transition: box-shadow .2s, outline-color .2s; }
.kdu-swatch:hover .kdu-swatch__chip { outline: 1px solid rgba(255,255,255,.7); }
.kdu-swatch[aria-pressed="true"] .kdu-swatch__chip { outline: 2px solid var(--red); outline-offset: 2px; }
.kdu-swatch__check { right: 6px; top: 6px; }
.kdu-swatch__name { font-size: .78rem; line-height: 1.25; }
.kdu-swatch__code { font-size: .68rem; color: rgba(255,255,255,.45); letter-spacing: .04em; }

/* tiles */
.kdu-tiles { display: grid; gap: 8px; }
.kdu-tile { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: center; padding: 8px 40px 8px 8px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.03); color: #fff; text-align: left; cursor: pointer; transition: border-color .25s var(--ease), background .25s var(--ease); }
.kdu-tile:hover { border-color: rgba(255,255,255,.5); }
.kdu-tile[aria-pressed="true"] { border-color: var(--red); background: rgba(221,51,51,.08); }
.kdu-tile__thumb { display: block; width: 76px; height: 58px; overflow: hidden; background: rgba(255,255,255,.06); }
.kdu-tile__thumb > * { width: 100%; height: 100%; display: block; }
.kdu-tile__body { display: grid; gap: 2px; min-width: 0; }
.kdu-tile__name { font-weight: 500; font-size: .95rem; }
.kdu-tile__meta { font-size: .78rem; color: rgba(255,255,255,.55); }
.kdu-tile__desc { font-size: .8rem; color: rgba(255,255,255,.5); line-height: 1.4; }
.kdu-texthumb { background-size: cover; background-position: center; }
.kdu-texthumb--none { background: repeating-linear-gradient(45deg, rgba(255,255,255,.06) 0 6px, transparent 6px 12px); }
.kdu-front { position: relative; background-size: 140%; background-position: center; }
.kdu-front i { position: absolute; inset: 22% 26%; border: 1px solid rgba(0,0,0,.25); opacity: 0; }
.kdu-front--frame i { opacity: 1; box-shadow: inset 0 0 0 3px rgba(255,255,255,.18); }
.kdu-front::after { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(0,0,0,.35); }
.kdu-handleicon { display: grid; place-items: center; padding: 8px; }
.kdu-handleicon svg { width: 100%; height: 100%; fill: none; stroke: rgba(255,255,255,.55); stroke-width: 1.5; }
.kdu-handleicon svg .f { fill: #fff; stroke: none; }

/* fields */
.kdu-field { display: grid; gap: 6px; padding: 8px 0; }
.kdu-input { width: 100%; height: 44px; padding: 0 12px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05); color: #fff; font: inherit; font-size: .95rem; line-height: 1.4; }
textarea.kdu-input { height: auto; padding: 10px 12px; resize: vertical; min-height: 84px; }
.kdu-input:focus { outline: 2px solid var(--red); outline-offset: 1px; border-color: transparent; }
.kdu-input::placeholder { color: rgba(255,255,255,.35); }
.kdu-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.kdu-error { margin: 0; font-size: .8rem; color: #ff7a7a; }
.has-error .kdu-input { border-color: #ff7a7a; }
.kdu-check { padding: 10px 0; }
.kdu-check label { position: relative; display: flex; gap: 12px; align-items: flex-start; font-size: .86rem; color: rgba(255,255,255,.75); cursor: pointer; }
.kdu-check input { position: absolute; left: 0; top: 0; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.kdu-check__box { flex: none; width: 20px; height: 20px; border: 1px solid rgba(255,255,255,.35); display: grid; place-items: center; margin-top: 1px; }
.kdu-check__box svg { width: 12px; height: 12px; opacity: 0; }
.kdu-check input:checked + .kdu-check__box { background: var(--red); border-color: var(--red); }
.kdu-check input:checked + .kdu-check__box svg { opacity: 1; }
.kdu-check input:focus-visible + .kdu-check__box { outline: 2px solid var(--red); outline-offset: 2px; }
.kdu-hp { position: absolute; left: -9999px; opacity: 0; }
.kdu-files { padding: 8px 0; display: grid; gap: 8px; }
.kdu-drop { display: block; position: relative; padding: 18px; border: 1px dashed rgba(255,255,255,.3); text-align: center; cursor: pointer; transition: border-color .2s; }
.kdu-drop:hover { border-color: #fff; }
.kdu-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.kdu-drop span { display: grid; gap: 2px; justify-items: center; color: rgba(255,255,255,.7); font-size: .86rem; }
.kdu-drop svg { width: 22px; height: 22px; margin-bottom: 4px; }
.kdu-drop b { color: #fff; font-weight: 500; }
.kdu-drop small { color: rgba(255,255,255,.45); }
.kdu-filelist { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .84rem; }
.kdu-filelist li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 10px; background: rgba(255,255,255,.05); }
.kdu-filelist button { width: 26px; height: 26px; border-radius: 50%; border: 0; background: rgba(255,255,255,.1); color: #fff; display: grid; place-items: center; cursor: pointer; }
.kdu-filelist button svg { width: 12px; height: 12px; }
.kdu-notice { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0; padding: 12px 14px; background: rgba(255,255,255,.05); border-left: 2px solid rgba(255,255,255,.35); font-size: .86rem; color: rgba(255,255,255,.75); }
.kdu-notice svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.kdu-notice--error { border-left-color: #ff7a7a; color: #ffb3b3; }
.kdu-working { display: flex; align-items: center; gap: 8px; color: #fff; }
.kdu-working svg { width: 16px; height: 16px; flex: none; color: var(--red); animation: mkd-spin 3s linear infinite; }
.kdu-group__body > .mhs-btn:disabled { opacity: .45; cursor: default; }
@keyframes mkd-spin { to { transform: rotate(360deg); } }

/* placement */
.kdu-place { padding: 8px 0 4px; border-top: 1px solid rgba(255,255,255,.08); }
.kdu-place:first-child { border-top: 0; }
.kdu-place__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.kdu-place__head b { font-weight: 500; color: #fff; }

/* summary */
.kdu-sum { padding: 18px 0 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
.kdu-sum__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.kdu-sum__head h3 { margin: 0; font-size: .74rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); display: inline-flex; align-items: center; gap: .7em; }
.kdu-sum__head h3::before { content: ""; width: 14px; height: 1px; background: var(--red); }
.kdu-sum__edit { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: #fff; font-size: .8rem; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,.3); padding: 0 0 2px; }
.kdu-sum__edit svg { width: 13px; height: 13px; }
.kdu-sum__edit:hover { border-color: var(--red); }
.kdu-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0; font-size: .88rem; }
.kdu-kv dt { color: rgba(255,255,255,.5); }
.kdu-kv dd { margin: 0; color: #fff; font-weight: 500; text-align: right; }
.kdu-price__total { font-size: 1.3rem; font-weight: 500; color: #fff; }
.kdu-price__lines { width: 100%; border-collapse: collapse; font-size: .86rem; }
.kdu-price__lines td { padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.06); color: rgba(255,255,255,.75); }
.kdu-price__lines td:nth-child(2) { color: rgba(255,255,255,.45); text-align: right; padding-right: 12px; }
.kdu-price__lines td:last-child { text-align: right; color: #fff; }

/* ---------- SVG: plan ---------- */
.kdp { font-family: var(--mh-font-sans); }
.kdp-floor { fill: none; stroke: none; }
.kdp-grid { fill: none; stroke: rgba(10,10,11,.09); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kdp-wall { fill: none; stroke: var(--ink); stroke-width: 5; vector-effect: non-scaling-stroke; stroke-linecap: square; }
.kdp-wall--thin { stroke-width: 2.5; stroke: rgba(10,10,11,.6); }
.kdp-window { fill: none; stroke: #4f7fa8; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.kdp-base { fill: #d8cbb5; stroke: rgba(10,10,11,.65); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kdp-base--filler { fill: rgba(10,10,11,.08); }
.kdp-tall { stroke: var(--ink); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.kdp-upper { fill: none; stroke: rgba(10,10,11,.5); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.kdp-worktop { fill: none; stroke: var(--ink); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.kdp-seam { stroke: rgba(10,10,11,.5); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kdp-sym { fill: none; stroke: var(--ink); stroke-width: 1.3; vector-effect: non-scaling-stroke; }
.kdp-sym--thin { stroke-width: .8; stroke: rgba(10,10,11,.6); }
.kdp-ext { fill: none; stroke: rgba(10,10,11,.35); stroke-width: 1; stroke-dasharray: 2 2; vector-effect: non-scaling-stroke; }
.kdp-dim { fill: none; stroke: var(--ink); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kdp-arrow { fill: var(--ink); }
.kdp-label { font-size: 11px; font-weight: 500; fill: var(--ink); letter-spacing: .02em; }
.kdp-label-bg { fill: var(--mkd-canvas, #f1f0eb); }
.kdp--compact .kdp-label { font-size: 13px; }
.kdp--compact .kdp-handle { display: none; }
.kdp-run.is-active .kdp-base { stroke: var(--red); }
.kdp-handle { cursor: grab; }
.kdp-handle.is-dragging { cursor: grabbing; }
.kdp-handle__hit { fill: transparent; }
.kdp-handle__dot { fill: var(--red); stroke: #fff; stroke-width: 2; vector-effect: non-scaling-stroke; transition: r .15s; }
.kdp-handle:hover .kdp-handle__dot, .kdp-handle.is-dragging .kdp-handle__dot { r: 9; }
.kdp-handle__arr { fill: none; stroke: #fff; stroke-width: 1.4; vector-effect: non-scaling-stroke; pointer-events: none; }

/* ---------- SVG: elevation ---------- */
.kde { font-family: var(--mh-font-sans); }
.kde-bg { fill: #e7e5df; }
.kde-floor { stroke: var(--ink); stroke-width: 2; vector-effect: non-scaling-stroke; }
.kde-ceiling { stroke: rgba(10,10,11,.25); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kde-wallend { stroke: rgba(10,10,11,.2); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.kde-door { stroke: rgba(0,0,0,.18); stroke-width: .6; }
.kde-frame { fill: none; stroke: rgba(0,0,0,.28); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kde-bevel-dark { fill: none; stroke: rgba(0,0,0,.22); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kde-bevel-light { fill: none; stroke: rgba(255,255,255,.35); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kde-carcass { stroke: rgba(0,0,0,.1); stroke-width: .5; }
.kde-plinth { stroke: none; }
.kde-worktop { stroke: rgba(0,0,0,.35); stroke-width: .6; }
.kde-worktop-edge { stroke: rgba(255,255,255,.5); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kde-splash { stroke: none; opacity: .95; }
.kde-splash--wall { fill: #efeee9; }
.kde-hob { fill: #101012; }
.kde-tap { fill: none; stroke: #6f7379; stroke-width: 2; stroke-linecap: round; }
.kde-tap-dot { fill: #6f7379; }
.kde-oven { fill: #1c1c1f; }
.kde-oven-glass { fill: #35373c; }
.kde-oven-handle { fill: #9a9ea5; }
.kde-oven-knob { fill: #c9ccd1; }
.kde-appl-strip { fill: #2a2b2e; }
.kde-steel { fill: #c7cacf; stroke: rgba(0,0,0,.2); stroke-width: .5; }
.kde-steel-dark { fill: #aeb2b8; }
.kde-darkglass { fill: rgba(20,20,24,.72); stroke: rgba(255,255,255,.25); stroke-width: .5; }
.kde-gola { stroke: none; }
.kde-handle { stroke: rgba(0,0,0,.25); stroke-width: .3; }
.kde-sheen { pointer-events: none; }
.kde-end { stroke: none; }
.kde-winframe { fill: #fbfbfa; stroke: rgba(0,0,0,.2); stroke-width: .5; }
.kde-glass { stroke: rgba(0,0,0,.15); stroke-width: .5; }
.kde-mullion { stroke: #fbfbfa; stroke-width: 3; }
.kde-sill { fill: #f2f1ee; stroke: rgba(0,0,0,.15); stroke-width: .5; }
.kde-dim { fill: none; stroke: var(--ink); stroke-width: 1; vector-effect: non-scaling-stroke; }
.kde-label { font-size: 10px; font-weight: 500; fill: var(--ink); letter-spacing: .02em; }
.kde-label--sm { font-size: 8px; fill: rgba(10,10,11,.6); }

/* ---------- success ---------- */
.mkd-success { min-height: calc(100svh - var(--nav-h)); display: grid; place-items: center; padding: clamp(40px, 8vh, 100px) var(--gutter); }
.mkd-success__in { max-width: 900px; width: 100%; display: grid; gap: 22px; --fg: #fff; --surface: var(--ink); --line-strong: rgba(255,255,255,.35); --glass: rgba(255,255,255,.06); --glass-line: rgba(255,255,255,.18); }
.mkd-success .mhs-h-xl .mhs-thin { display: block; font-size: .5em; margin-top: .4em; color: rgba(255,255,255,.7); }
.mkd-success__img img { width: 100%; height: auto; display: block; border: 1px solid rgba(255,255,255,.12); }
.mkd-success .mhs-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- responsive ---------- */
@media (max-width: 1280px) { .mkd { --rail-w: 380px; } .mkd-specwrap { width: 280px; } .mkd-inset { width: 190px; } }
@media (max-width: 900px) {
  .mkd-studio { grid-template-columns: 1fr; height: auto; min-height: 0; }
  body.admin-bar .mkd-studio { height: auto; }
  .mkd-canvas { height: 46svh; min-height: 330px; position: sticky; top: var(--nav-h); z-index: 5; box-shadow: 0 12px 30px -18px rgba(0,0,0,.5); }
  body.mkd-page .mhs-header.mh-header--hidden { transform: none; } /* keep the header in place so the sticky canvas never leaves a gap */
  .mkd-canvasbar { padding: 10px 14px 0; gap: 8px; }
  .mkd-viewbtn, .mkd-walltab { height: 34px; padding: 0 12px; font-size: .8rem; }
  .mkd-view { inset: 8px 12px 12px; }
  .mkd-inset { width: 132px; right: 12px; bottom: 12px; }
  .mkd-inset::after { display: none; }
  .mkd-specwrap { left: 12px; bottom: 12px; width: min(58%, 260px); }
  .mkd-specwrap.is-hidden { transform: translateX(calc(-100% - 12px + 40px)); }
  .mkd-spectab { width: 36px; height: 36px; margin-top: -18px; right: -18px; }
  .mkd-spec { padding: 10px 12px 12px; }
  .mkd-spec .mhs-plate__facts, .mkd-spec .mhs-plate__swatches { display: none; }
  .mkd-rail { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .mkd-rail__body { overflow: visible; padding: 4px 18px 20px; }
  .mkd-rail__head { padding: 18px 18px 0; }
  .mkd-rail__foot { position: sticky; bottom: 0; padding: 12px 18px; z-index: 4; }
  .mkd-rendercap { left: 12px; bottom: 12px; width: min(92%, 360px); }
  .mkd-welcome__in { grid-template-columns: 1fr; }
  .mkd-welcome__plate { display: none; }
  .kdu-swatches { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .kdu-2col { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .kdu-cards { grid-template-columns: 1fr !important; } .kdu-swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); } .mkd-specwrap { display: none; } }
@media (prefers-reduced-motion: reduce) { .mkd * { transition-duration: 0s !important; animation-duration: 0s !important; } }

/* ==========================================================================
   v1.1 — editing, panels, openings, kiosk
   ========================================================================== */
.mkd-studio { position: relative; }
.mkd-canvasbar__tools { align-items: center; }
.mkd-canvasbar__sep { width: 1px; height: 22px; background: rgba(10,10,11,.2); margin: 0 4px; }
.mkd-iconbtn:disabled { opacity: .3; cursor: default; }
.mkd-iconbtn:disabled:hover { background: rgba(255,255,255,.55); color: var(--ink); }
.mkd-rail__body { --fg: #fff; --surface: var(--coal); --line-strong: rgba(255,255,255,.35); --glass: rgba(255,255,255,.06); --glass-line: rgba(255,255,255,.18); }

/* on-canvas module editor */
.mkd-editor-host { position: absolute; right: 20px; top: 12px; width: 340px; z-index: 5; }
.mkd-editor { padding: 16px 18px 18px; display: grid; gap: 6px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); animation: mkd-pop .25s var(--ease); }
@keyframes mkd-pop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.mkd-editor__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.mkd-editor__close { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--glass-line); background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; flex: none; }
.mkd-editor__close svg { width: 14px; height: 14px; }
.mkd-editor__close:hover { background: var(--red); border-color: var(--red); }
.mkd-editor .mhs-plate__title { margin-bottom: 4px; }
.mkd-editor .kdu-row { padding: 6px 0 4px; }
.mkd-editor .kdu-slider { padding: 6px 0 2px; }
.mkd-editor .kdu-hint { margin-top: 6px; display: flex; gap: 8px; align-items: flex-start; }
.mkd-editor .kdu-hint svg { width: 14px; height: 14px; flex: none; margin-top: 2px; }
.mkd-editor > .mhs-btn { margin-top: 10px; justify-self: start; --fg: #fff; --surface: var(--ink); --line-strong: rgba(255,255,255,.35); --glass: rgba(255,255,255,.06); --glass-line: rgba(255,255,255,.18); }

/* small controls */
.kdu-iconbtn { width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; flex: none; transition: background .2s, border-color .2s; }
.kdu-iconbtn svg { width: 14px; height: 14px; }
.kdu-iconbtn:hover { background: var(--red); border-color: var(--red); }
.kdu-seg--sm .kdu-seg__btn { height: 30px; padding: 0 10px; font-size: .8rem; }
.kdu-seg__btn span svg { width: 14px; height: 14px; vertical-align: -3px; margin-right: 6px; }
.kdu-addrow { display: flex; gap: 8px; flex-wrap: wrap; padding: 8px 0 4px; }
.kdu-corner + .kdu-corner { margin-top: 14px; }
.kdu-corner > .kdu-label { margin-bottom: 8px; }
.kdu-renderopts { display: grid; gap: 2px; margin-bottom: 6px; }
.kdu-renderopts .kdu-row { padding: 6px 0; }
.kdu-notice--ok { border-left-color: #6fcf97; color: #c9f0d8; }
.kdu-notice--ok svg { color: #6fcf97; }

/* openings rows (step 1) */
.kdu-opening { padding: 10px 0 6px; border-top: 1px solid rgba(255,255,255,.08); transition: box-shadow .4s; }
.kdu-opening:first-child { border-top: 0; }
.kdu-opening.is-focus { box-shadow: inset 3px 0 0 var(--red); padding-left: 12px; }
.kdu-opening__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.kdu-opening__head b { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; color: #fff; }
.kdu-opening__head b svg { width: 16px; height: 16px; color: rgba(255,255,255,.7); }
.kdu-opening__tools { display: flex; align-items: center; gap: 8px; }

/* modal panel (share / saved designs) */
.mkd-panel { position: absolute; inset: 0; z-index: 30; background: rgba(10,10,11,.7); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); display: grid; place-items: center; padding: 24px; }
.mkd-panel__in { position: relative; width: min(980px, 100%); max-height: 100%; overflow: auto; background: var(--coal); color: #fff; padding: 30px 34px 34px; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 40px 100px -40px rgba(0,0,0,.9); scrollbar-width: thin; --fg: #fff; --surface: var(--coal); --line-strong: rgba(255,255,255,.35); --glass: rgba(255,255,255,.06); --glass-line: rgba(255,255,255,.18); }
.mkd-panel__close { position: absolute; right: 16px; top: 16px; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; z-index: 2; }
.mkd-panel__close svg { width: 16px; height: 16px; }
.mkd-panel__close:hover { background: var(--red); border-color: var(--red); }
.mkd-panel__head { display: grid; gap: 6px; margin-bottom: 20px; padding-right: 48px; }
.mkd-panel__title { margin: 0; font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.mkd-share__grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; }
.mkd-share__qrimg { background: #fff; padding: 10px; }
.mkd-share__qrimg svg { width: 100%; height: auto; display: block; }
.mkd-share__qr .kdu-hint { margin-top: 10px; }
.mkd-share__link { display: flex; gap: 8px; align-items: center; }
.mkd-share__link .kdu-input { font-size: .84rem; }
.mkd-share__side .kdu-addrow { padding-top: 4px; }
.mkd-saved__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; margin-bottom: 8px; }
.mkd-saved__form .mhs-btn { margin-bottom: 8px; }
.mkd-saved__list { list-style: none; margin: 12px 0 0; padding: 0; }
.mkd-saved__item { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 12px 0 12px 10px; border-top: 1px solid rgba(255,255,255,.1); box-shadow: inset 3px 0 0 transparent; transition: box-shadow .3s; }
.mkd-saved__item.is-compare { box-shadow: inset 3px 0 0 var(--red); }
.mkd-saved__thumb { aspect-ratio: 16 / 9; background: #e7e5df; overflow: hidden; }
.mkd-saved__thumb svg { width: 100%; height: 100%; display: block; }
.mkd-saved__body { display: grid; gap: 4px; min-width: 0; }
.mkd-saved__body b { font-weight: 500; font-size: 1.02rem; }
.mkd-saved__body .kdu-hint { margin: 0; }
.mkd-saved__date { font-size: .74rem; color: rgba(255,255,255,.4); letter-spacing: .04em; }
.mkd-saved__actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.mkd-saved__foot { margin-top: 18px; }
.mkd-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 22px; padding-top: 22px; border-top: 2px solid rgba(255,255,255,.14); }
.mkd-compare__col { display: grid; gap: 10px; align-content: start; }
.mkd-compare__name { font-size: 1.1rem; font-weight: 500; }
.mkd-compare__view { aspect-ratio: 16 / 9; background: #e7e5df; }
.mkd-compare__view svg { width: 100%; height: 100%; display: block; }
.mkd-compare .mhs-btn { justify-self: start; }

/* plan: interaction + openings + corners */
.kdp-hit { fill: transparent; cursor: pointer; }
.kdp-hit--drag { cursor: grab; }
.kdp-hit.is-dragging { cursor: grabbing; }
.kdp-hit:hover { fill: rgba(221,51,51,.12); }
.kdp-hit--opening { cursor: grab; fill: transparent; }
.kdp-base.is-selected, .kdp-tall.is-selected, .kdp-upper.is-selected { stroke: var(--red); stroke-width: 2.4; }
.kdp-base--leg { fill-opacity: .25 !important; stroke-dasharray: 2 2; }
.kdp-sym--faint { stroke: rgba(10,10,11,.3); stroke-width: .7; }
.kdp-doorgap { stroke: #faf9f5; stroke-width: 7; vector-effect: non-scaling-stroke; stroke-linecap: butt; }
.kdp-doorleaf { stroke: var(--ink); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.kdp-doorarc { fill: none; stroke: rgba(10,10,11,.5); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.kdp-opening.is-selected .kdp-window, .kdp-opening.is-selected .kdp-doorleaf { stroke: var(--red); }
.kdp--compact .kdp-hit { display: none; }

/* elevation: interaction + new module types + doors */
.kde-hit { fill: transparent; cursor: pointer; transition: fill .15s; }
.kde-hit:hover { fill: rgba(221,51,51,.10); }
.kde-hit.is-selected { fill: rgba(221,51,51,.12); stroke: var(--red); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.kde-openbox { fill: rgba(0,0,0,.3); }
.kde-shelf { stroke: rgba(0,0,0,.2); stroke-width: .3; }
.kde-hinge { fill: none; stroke: rgba(10,10,11,.5); stroke-width: .8; stroke-dasharray: 2 1.5; vector-effect: non-scaling-stroke; pointer-events: none; }
.kde-diag-shade { fill: rgba(0,0,0,.16); }
.kde-leg { stroke: rgba(0,0,0,.18); stroke-width: .5; }
.kde-seam { stroke: rgba(0,0,0,.25); stroke-width: .5; }
.kde-doorframe { fill: #fbfbfa; stroke: rgba(0,0,0,.25); stroke-width: .5; }
.kde-doorleaf { fill: #f4f3ef; stroke: rgba(0,0,0,.2); stroke-width: .5; }
.kde-doorpanel { fill: none; stroke: rgba(0,0,0,.18); stroke-width: .8; }
.kde-doorknob { fill: #6f7379; }

/* kiosk / showroom mode */
.mkd-kioskexit { height: 30px; padding: 0 10px; border: 1px solid rgba(10,10,11,.25); background: transparent; color: rgba(10,10,11,.6); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
body.mkd-kiosk { --nav-h: 0px; }
body.mkd-kiosk .mhs-header, body.mkd-kiosk .mhs-footer, body.mkd-kiosk #wpadminbar, body.mkd-kiosk .mhs-offcanvas { display: none !important; }
body.mkd-kiosk.admin-bar { margin-top: 0 !important; }
body.mkd-kiosk .mkd-studio, body.mkd-kiosk.admin-bar .mkd-studio { height: 100svh; }
body.mkd-kiosk .mkd-welcome, body.mkd-kiosk .mkd-success { min-height: 100svh; }
body.mkd-kiosk .mkd { --rail-w: 480px; }
body.mkd-kiosk .mkd-viewbtn, body.mkd-kiosk .mkd-walltab { height: 46px; padding: 0 18px; font-size: .95rem; }
body.mkd-kiosk .mkd-iconbtn { width: 46px; height: 46px; }
body.mkd-kiosk .mkd-iconbtn svg { width: 21px; height: 21px; }
body.mkd-kiosk .kdu-seg__btn { height: 42px; padding: 0 16px; font-size: .95rem; }
body.mkd-kiosk .kdu-seg--sm .kdu-seg__btn { height: 38px; }
body.mkd-kiosk .kdu-card { min-height: 66px; padding: 16px 46px 16px 16px; }
body.mkd-kiosk .kdu-cards--list .kdu-card { min-height: 56px; }
body.mkd-kiosk .kdu-tile { padding: 10px 46px 10px 10px; grid-template-columns: 84px 1fr; }
body.mkd-kiosk .kdu-swatch__chip { min-height: 58px; }
body.mkd-kiosk .kdu-range { height: 34px; }
body.mkd-kiosk .kdu-range::-webkit-slider-thumb { width: 26px; height: 26px; margin-top: -12px; }
body.mkd-kiosk .kdu-range::-moz-range-thumb { width: 22px; height: 22px; }
body.mkd-kiosk .kdu-num { height: 40px; width: 84px; font-size: 1.05rem; }
body.mkd-kiosk .kdu-input { height: 52px; font-size: 1.05rem; }
body.mkd-kiosk .kdu-toggle__track { width: 52px; height: 30px; border-radius: 15px; }
body.mkd-kiosk .kdu-toggle__thumb { width: 24px; height: 24px; }
body.mkd-kiosk .kdu-toggle input:checked + .kdu-toggle__track .kdu-toggle__thumb { transform: translateX(22px); }
body.mkd-kiosk .kdu-check__box { width: 26px; height: 26px; }
body.mkd-kiosk .mkd-rail__body { font-size: 1.03rem; }
body.mkd-kiosk .kdu-card__name, body.mkd-kiosk .kdu-tile__name { font-size: 1.02rem; }
body.mkd-kiosk .mkd-rail__foot .mhs-btn { min-height: 52px; }
body.mkd-kiosk .kdu-iconbtn { width: 38px; height: 38px; }
body.mkd-kiosk .mkd-success .mhs-hero__actions a.mhs-btn { display: none; }
body.mkd-kiosk .mkd-welcome__plate { display: block; }
@media (max-width: 1280px) { .mkd-editor-host { width: 300px; } .mkd-share__grid { grid-template-columns: 220px 1fr; } }
@media (max-width: 900px) {
  .mkd-editor-host { right: 12px; left: 12px; top: auto; bottom: 12px; width: auto; }
  .mkd-editor { padding: 12px 14px 14px; }
  .mkd-panel { position: fixed; padding: 0; align-items: end; }
  .mkd-panel__in { max-height: 92svh; padding: 22px 18px 26px; }
  .mkd-share__grid { grid-template-columns: 1fr; gap: 20px; }
  .mkd-share__qrimg { max-width: 240px; }
  .mkd-saved__item { grid-template-columns: 110px 1fr; }
  .mkd-saved__actions { grid-column: 1 / -1; justify-content: flex-start; }
  .mkd-compare { grid-template-columns: 1fr; }
  .mkd-canvasbar__sep { display: none; }
  .mkd-kioskexit { display: none; }
}
body.mkd-dragging { cursor: grabbing; user-select: none; } body.mkd-dragging .kdp-hit { cursor: grabbing; }
/* decorative plan shapes never take the pointer — only .kdp-hit / .kdp-handle do */
.kdp-floor, .kdp-wall, .kdp-window, .kdp-doorgap, .kdp-doorleaf, .kdp-doorarc, .kdp-base, .kdp-upper, .kdp-tall, .kdp-worktop, .kdp-seam, .kdp-sym, .kdp-ext, .kdp-dim, .kdp-label, .kdp-label-bg, .kdp-island * { pointer-events: none; }
.mkd-editor.mhs-plate--on-image { background: rgba(10,10,11,.9); color: #fff; border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.mkd-editor .kdu-label, .mkd-editor .mhs-plate__title { color: #fff; }
.mkd-editor .kdu-hint { color: rgba(255,255,255,.6); }
/* kiosk: no floating assistants at all (welcome screen included) */
body.mkd-kiosk #mkc-launcher, body.mkd-kiosk .mkc-launcher, body.mkd-kiosk #mkc-panel, body.mkd-kiosk .mkrv-fab { display: none !important; }
@media (max-width: 900px) { .mkd-editor-host { max-height: calc(100% - 24px); overflow: auto; } .mkd-editor { gap: 2px; } }
.kdp-floorgrid { pointer-events: none; }
