*{box-sizing:border-box}html{background:#f3efe7;color:#40372e;font-family:Arial,Helvetica,sans-serif}body{margin:0;padding-bottom:98px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}header{display:flex;justify-content:space-between;align-items:center;padding:24px max(22px,calc((100vw - 1150px)/2));gap:20px}.brand{color:inherit;text-decoration:none;font-family:Georgia,serif;font-size:29px;letter-spacing:-1.1px}.text-button{background:none;border:0;padding:12px 0;font-size:14px;color:#8c7965}nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 20px 24px}nav button{border:0;background:none;white-space:nowrap;font-size:13px;color:#9c9184;padding:8px 0}nav span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e6dfd5;margin-right:6px}nav button[aria-current=step]{color:#493c2f}nav button[aria-current=step] span{background:#70583f;color:#fff}nav i{width:34px;height:1px;background:#d5c8b8}.stage{position:relative;height:clamp(320px,48svh,560px);overflow:hidden;background:#c7b5a1 url('assets/room-integrated-v61.png') center bottom/cover}.scene{position:absolute;bottom:65px;left:50%;display:flex;isolation:isolate;filter:drop-shadow(5px 6px 8px #3b2b2133)}.column{height:100%;position:relative;flex:none;overflow:visible}.picture{position:absolute;width:100%;height:100%;object-fit:fill}.select-module{position:absolute;inset:0;border:2px solid transparent;background:none;padding:0}.select-module.active{outline:2px solid #fff2d7;outline-offset:2px;box-shadow:0 0 0 5px #a48c6766}.badge{position:absolute;left:50%;top:-20px;transform:translateX(-50%);border:1px solid #c8b59d;background:#f3eadddf;color:#78634c;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;font-size:12px;z-index:5}.active .badge,.door.active .badge{background:#70583f;color:white;border-color:#fff0d9}.scene-tools{position:absolute;top:15px;right:15px}.scene-tools button{border:1px solid #e7ddcd;background:#f9f3e8e8;border-radius:24px;font-size:11px;padding:10px 15px}.dimensions{position:absolute;left:50%;transform:translateX(-50%);bottom:17px;background:#f9f1e3e8;border-radius:22px;padding:10px 18px;white-space:nowrap;font-size:12px;color:#776653}.preparing{position:absolute;inset:0;background:#ede5d8;display:grid;place-items:center;font-size:14px}.sheet{max-width:780px;margin:0 auto;padding:12px 24px 25px;background:#f8f5ef;border-radius:30px 30px 0 0;position:relative;margin-top:-1px;min-height:310px}.grab{width:42px;height:4px;background:#d7cfc3;border-radius:9px;margin:0 auto 22px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel-title h2{font-size:24px;font-weight:500;margin:0}.pill{font-size:12px;background:#ece6dd;border-radius:20px;padding:9px 15px}.fine{font-size:12px;line-height:1.6;color:#9a8977}.choices{display:flex;gap:10px;overflow:auto;padding:3px 2px 12px;scrollbar-width:thin}.tile{flex:0 0 145px;min-height:95px;border:1px solid #ddd0c0;border-radius:17px;background:#fffdf8;padding:15px 12px;text-align:center;font-size:12px;line-height:1.4;box-shadow:0 4px 14px #76634d08}.tile.active{border:2px solid #81674b;background:#eee4d4;padding:14px 11px}.tile img{height:92px;width:100%;object-fit:contain;margin-bottom:9px;display:block}.widths .tile{min-height:50px;flex:1;padding:15px 8px;font-size:15px}.row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #e4dbcd;font-size:13px}.row select{max-width:65%;background:#fffdf7;border:1px solid #dfd3c3;border-radius:12px;padding:12px 8px;font-size:12px}.row input{width:90px;padding:10px;border:1px solid #d2c5b5;border-radius:10px}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{border:1px solid #d9cbb8;border-radius:14px;background:#fffdf9;padding:11px;font-size:11px;min-width:88px;max-width:140px;flex:1}.swatch.active{outline:2px solid #85694a}.swatch i{display:block;margin:0 auto 8px;width:35px;height:35px;border-radius:50%;border:1px solid #0001}.remove{border:0;background:none;color:#9a7f66;text-decoration:underline;font-size:12px;padding:14px 0}#feedback{color:#94513d;font-size:12px;line-height:1.5}.toolbar{display:flex;align-items:center;justify-content:space-around;gap:15px;position:fixed;bottom:0;left:0;right:0;background:#fbf8f1f7;backdrop-filter:blur(16px);padding:13px 22px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #dfd4c4;z-index:20}.toolbar button{border:0;background:none;min-width:65px;font-size:24px}.toolbar span{display:block;font-size:10px;margin-top:4px}.primary,.toolbar .primary{background:#66513d;border:0;border-radius:23px;color:#fff9ef;padding:16px 26px;font-size:15px}.toolbar .primary{width:min(50%,300px)}dialog{border:1px solid #dfd0bc;border-radius:26px;padding:28px;width:min(92vw,460px);color:#463a30;background:#faf6ee}dialog::backdrop{background:#2f261b80;backdrop-filter:blur(5px)}dialog .close{float:right;background:none;border:0;font-size:26px}dialog label{font-size:13px;display:block;margin:15px 0}dialog input{width:100%;padding:12px;margin-top:7px;border:1px solid #d7c6b2;border-radius:10px;background:white}dialog .primary{width:100%;margin:15px 0}.upload{border:1px solid #cfbfa9;padding:12px;border-radius:20px;text-align:center;cursor:pointer}#summary{max-height:250px;overflow:auto;font-size:12px;line-height:1.6}.door-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.door{position:absolute;top:0;bottom:1.4%;pointer-events:auto;padding:0;border:1px solid #ac9780;box-shadow:inset 2px 1px 3px #fff7, inset -3px -2px 4px #59432c40;background:linear-gradient(105deg,#fff4 0%,transparent 45%,#0001 100%),var(--finish,#d8cbb6)}.door.active{outline:2px solid #fff1ca;outline-offset:1px;z-index:4}.door.mirror{background:linear-gradient(125deg,#a6a7a0,#e9e6d8 37%,#c3c8c4 39%,#f1f0e6 64%,#a6aaa4);border-color:#9b9b92}.handle{position:absolute;top:47%;width:3px;min-width:2px;border-radius:3px;background:linear-gradient(90deg,#514a40,#d4cec2,#75654e);box-shadow:2px 2px 3px #0005}.door.sliding{bottom:0;box-shadow:inset 2px 0 2px #eee8,inset -3px 0 2px #0003}.sliding:after{content:'';position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--rail,#92958f)}.rail{position:absolute;height:1.3%;left:0;right:0;background:linear-gradient(#cbc9be,#626058,#d0c8bb);z-index:4}.rail.top{top:0}.rail.bottom{bottom:0}.crossbar{position:absolute;top:50%;height:2px;background:#928977;left:0;right:0}@media(min-width:1000px){main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);max-width:1440px;margin:auto;gap:24px;padding:0 28px}.stage{height:650px;border-radius:22px}.sheet{margin:0;border:1px solid #e3d8c8;border-radius:24px;width:100%;max-width:none}.toolbar{left:50%;transform:translateX(-50%);width:680px;border:1px solid #dacebd;border-radius:24px 24px 0 0}nav{padding-bottom:28px}.brand{font-size:36px}}
.scene.swipe-enabled{touch-action:none;user-select:none}.scene img{-webkit-user-drag:none}.swipe-width{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;border:1px solid #d9cbb9;background:#fffdf8;border-radius:24px;min-height:60px;touch-action:pan-y;user-select:none;margin-bottom:16px}.swipe-width strong{text-align:center;font-size:21px;font-weight:400}.swipe-width button{height:58px;border:0;background:none;font-size:32px;color:#8c755b}.swipe-layout{display:grid;grid-template-rows:42px auto 42px;border:1px solid #d9cbb9;background:linear-gradient(120deg,#fffdf9,#f0e9de);border-radius:24px;touch-action:pan-x;user-select:none}.swipe-layout>button{border:0;background:none;font-size:29px;line-height:1;color:#8c755b;width:100%}.swipe-layout-content{display:flex;align-items:center;justify-content:center;gap:22px;min-height:110px;padding:8px 26px;pointer-events:none}.swipe-layout-content img{width:64px;height:110px;object-fit:contain}.swipe-layout-content strong{font-weight:400;font-size:18px;line-height:1.4;max-width:240px}.gesture-hint{display:flex;justify-content:space-between;color:#a08d77;font-size:11px;margin:16px 4px 20px}
.scene-action{position:absolute;z-index:8;width:44px;height:44px;border-radius:50%;border:1px solid #d7c5ab;background:#faf5e8f5;box-shadow:0 3px 12px #4b35231a;transform:translate(-50%,-50%);display:grid;place-items:center;font-size:30px;font-weight:300;line-height:1;padding:0;touch-action:manipulation}.scene-action:disabled{opacity:.35}.scene-action:hover:not(:disabled){background:#fffaf0;border-color:#9b7e59}.scene-action:focus-visible{outline:3px solid #80654a;outline-offset:3px}
.door-scope{display:flex;border:1px solid #d5c6b1;background:#eee7dc;border-radius:17px;padding:4px;margin:6px 0 18px;gap:5px}.door-scope button{flex:1;border:0;padding:12px 10px;background:none;font-size:13px;border-radius:13px;color:#8c7861}.door-scope button.active{background:#fffaf1;color:#59432e;box-shadow:0 2px 7px #49341e12}
.stage.doors-visible .select-module .badge{display:none}.stage.doors-visible .select-module.active{outline:none;box-shadow:none}.badge{width:auto;min-width:30px;padding:0 5px;font-size:10px;white-space:nowrap}.door{background-color:var(--finish);background-image:linear-gradient(105deg,#ffffff30,transparent 40%,#0000000d),var(--surface-image);background-size:100% 100%,cover;background-position:center}.door.wood,.door.matte,.door.glass{background-color:var(--finish);background-image:linear-gradient(100deg,#ffffff2b,transparent 38%,#00000012),var(--surface-image);background-size:100% 100%,cover;background-position:center}.door.mirror{background-color:var(--finish);background-image:linear-gradient(120deg,#c8d5d24d,#f9faf5a6 35%,#8d9a9633 36%,#e6ece7a6 70%,#949d994d),url('assets/room-v4.webp');background-size:100% 100%,auto 130%;background-position:center;box-shadow:inset 0 0 0 1px #c8c8bd,inset 2px 0 3px #fff9}.door.glass:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 20%,#fff5 22%,#fff1 35%,transparent 37%)}.center-panel{position:absolute;left:0;right:0;top:33.333%;height:33.334%;background-color:var(--finish);background-image:linear-gradient(100deg,#fff2,transparent 40%,#0001),var(--surface-image);background-size:100% 100%,cover;background-position:center;pointer-events:none}.center-panel.mirror{background-image:linear-gradient(120deg,#d5ddd8aa,#fafbf7aa 45%,#9da9a866),url('assets/room-v4.webp');background-size:100% 100%,cover}.surround{position:absolute;pointer-events:none;bottom:0;border-style:solid;border-bottom:0;border-image-slice:18;border-image-repeat:stretch;box-shadow:inset 0 2px 3px #0002;z-index:6}.wall-connection{position:absolute;bottom:0;pointer-events:none;z-index:7;box-shadow:inset -1px 0 1px #0004}.pose-details{margin:14px 0 20px;border:1px solid #dfd1be;border-radius:16px;background:#f5eee3;padding:0 15px}.pose-details>summary{padding:16px 0;font-size:13px;cursor:pointer;color:#725b41;min-height:48px}.pose-details[open]{padding-bottom:12px}.pose-details .row select{max-width:64%;font-size:11px}.pose-details .row{font-size:12px}.pose-details input{max-width:100px}.pose-details .fine{font-size:11px;margin-bottom:0}
.door.mirror{background-image:linear-gradient(var(--glass-tint),var(--glass-tint)),linear-gradient(120deg,#c8d5d24d,#f9faf5a6 35%,#8d9a9633 36%,#e6ece7a6 70%,#949d994d),url('assets/room-v4.webp');background-size:100% 100%,100% 100%,auto 130%}.center-panel.mirror{background-image:linear-gradient(var(--glass-tint),var(--glass-tint)),linear-gradient(120deg,#d5ddd8aa,#fafbf7aa 45%,#9da9a866),url('assets/room-v4.webp');background-size:100% 100%,100% 100%,cover}
/* Photographic fronts; all panel geometry remains catalogue-driven. */
.room-ceiling{position:absolute;inset:0 0 auto;height:max(0px,var(--ceiling-y,0px));background:linear-gradient(#d7cdbc,#c5b8a6);box-shadow:0 2px 5px #55453235;pointer-events:none}.scene{z-index:1}.scene-tools{z-index:9}.dimensions{z-index:9}.doors-visible .column{background:#b7aa97}.doors-visible .picture{visibility:visible}.hinged-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.door.hinged-real,.door.sliding{background:none;border:0;box-shadow:0 0 .6px #34291c,inset 0 0 .4px #fff9;overflow:visible}.door.hinged-real.active,.door.sliding.active{outline:2px solid #fff1ca;outline-offset:1px}.front-surface{position:absolute;inset:0;overflow:hidden;background:var(--finish,#ddd3c3);pointer-events:none;box-shadow:inset .7px .4px .6px #fff8,inset -.6px -.3px .7px #30261766}.front-surface.wood{background-image:var(--surface-image);background-size:cover;background-position:center}.front-surface .front-light{position:absolute;inset:0;background:linear-gradient(100deg,#fff2,transparent 45%,#0000000a);box-shadow:inset 0 0 .6px #fff9}.lacquer-light{position:absolute;inset:0;background:url('assets/materials/lacquer-light-v7.webp') 12.4% 34%/930% 133%;filter:grayscale(1) brightness(1.25);mix-blend-mode:multiply;opacity:.33}.reflected-room{position:absolute;left:var(--surface-x);top:var(--surface-y);width:var(--surface-width);height:var(--surface-height);background:url('assets/materials/reflection-room-v61.png') center/100% 100% no-repeat}.front-surface.mirror .front-light{background:linear-gradient(var(--glass-tint),var(--glass-tint));box-shadow:inset 0 0 .7px #e6e5de}.front-surface.glass .reflected-room{opacity:.28}.front-surface.glass .front-light{background:linear-gradient(115deg,#fff3,transparent 50%,#0001)}.door.sliding:after,.door.glass:before{display:none}.center-panel{background:none;overflow:hidden;top:33.333%;height:33.334%}.profile-start,.profile-end{position:absolute;top:0;bottom:0;pointer-events:none;background:linear-gradient(90deg,#fff4,transparent 36%,#0004 65%,#fff3),var(--rail);box-shadow:1px 0 2px #0003;z-index:3}.profile-start{left:0}.profile-end{right:0}.crossbar{background:linear-gradient(#fff5,#0002),var(--rail);box-shadow:0 .5px 1px #0004;z-index:3;transform:translateY(-50%);pointer-events:none}.rail{background:linear-gradient(#fff4,#0003,#fff2),var(--rail);height:var(--rail-height,2px);pointer-events:none}.handle-real{position:absolute;display:block;pointer-events:none;min-width:.65px;z-index:4;background:linear-gradient(90deg,#fff3,transparent 30%,#0007 78%,#fff2),var(--handle-color);box-shadow:1.2px 1.2px 1.3px #0005;border-radius:.5px}.handle-real.round-grip{border-radius:10px;background:linear-gradient(90deg,#0005,#fff4 34%,transparent 55%,#0008),var(--handle-color)}.handle-real b{position:absolute;left:15%;right:15%;height:1px;background:var(--handle-color);box-shadow:1px 1px 1px #0004}.handle-real b:first-child{top:1%}.handle-real b:nth-child(2){bottom:1%}.handle-real b:nth-child(3){top:50%}.handle-real.edge-grip{box-shadow:1px 0 1px #0005;border-radius:0}
/* Selection is a single overlay above all doors, rails and adjacent modules. */
.select-module.active{outline:0;box-shadow:none}.door.hinged-real.active,.door.sliding.active{outline:0;box-shadow:none}.selection-ring{position:absolute;z-index:100;pointer-events:none;border:2px solid #fff2cc;outline:1px solid #876a42aa;outline-offset:1px;box-shadow:0 0 0 3px #fff0ce20}
/* Glass reveals the configured wardrobe, rather than an opaque sample. */
.stage.has-glass .picture{visibility:visible}.front-zone{position:absolute;left:0;right:0;overflow:hidden;pointer-events:none}.front-surface.glass{background:var(--transmission-tint);backdrop-filter:none}.front-surface.glass .reflected-room{opacity:.065}.front-surface.glass .front-light{background:linear-gradient(115deg,#fff2,transparent 35%,#fff1 72%,transparent);box-shadow:inset 0 0 .6px #fff7}
/* Wall geometry surrounds the exact niche opening; no cabinet cheeks added. */
.niche-architecture{position:absolute;left:0;bottom:0;z-index:8;pointer-events:none}.niche-wall{position:absolute;bottom:0;background:linear-gradient(110deg,#d6c9b7,#c5b6a2)}.niche-wall-left{right:100%;box-shadow:2px 0 5px #3d302b55}.niche-wall-right{left:100%;box-shadow:-2px 0 5px #3d302b55}.niche-header{left:0;right:0;bottom:100%;box-shadow:0 2px 4px #40302466}.niche-wall-left:after,.niche-wall-right:after{content:'';position:absolute;bottom:0;top:0;width:var(--reveal-depth);background:linear-gradient(90deg,#7d6d5c,#c4b5a1)}.niche-wall-left:after{right:0}.niche-wall-right:after{left:0;transform:scaleX(-1)}.niche-head-reveal{position:absolute;top:0;left:0;right:0;height:2px;background:#776756;box-shadow:0 2px 4px #47362666}
/* Catalogue Hide bars, with local diffuse illumination under the glass. */
.interior-lights{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.hide-light{position:absolute;top:50%;transform:translateY(-50%);background:#fff6d9;box-shadow:0 0 2px #fff1bc,0 0 5px #ffdc8ccc;border-radius:1px}.hide-glow{position:absolute;top:2%;bottom:2%;opacity:.4;background:linear-gradient(90deg,#ffe4a770,transparent)}.hide-glow.right{transform:none}.illuminated .picture{filter:brightness(1.06) saturate(1.025)}.scene-tools{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;left:12px;pointer-events:none}.scene-tools button{pointer-events:auto}button[hidden]{display:none!important}
.scene-tools .bulb-button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:50%;color:#6b5944;background:#faf5e8f5;border:1px solid #d7c5ab;box-shadow:0 3px 12px #4b35231a}.scene-tools .bulb-button.is-lit{color:#896326;background:#fff0c8;border-color:#c8a76f;box-shadow:0 0 15px #ffdf8a55}.bulb-button .bulb-rays{opacity:.35}.bulb-button.is-lit .bulb-rays{opacity:1}.bulb-button:focus-visible{outline:3px solid #80654a;outline-offset:3px}
/* A continuous wall plane, with a fine flush opening instead of a surround. */
.niche-wall{background-image:url('assets/room-v4.webp');background-repeat:no-repeat;background-color:#c7b5a1}.niche-wall-left{box-shadow:inset -1px 0 1px #463a2e35}.niche-wall-right{box-shadow:inset 1px 0 1px #463a2e35}.niche-header{box-shadow:inset 0 -1px 1px #463a2e35}.niche-wall-left:after,.niche-wall-right:after{display:none}.niche-head-reveal{display:none}
.recap-toolbar{padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.toolbar.recap-toolbar #recapBtn{width:min(100%,560px);font-size:16px;letter-spacing:.2px;border-radius:22px;padding:17px 24px}.recap-dialog{width:min(94vw,660px);max-height:90svh;overflow:auto;padding:28px;color:#40372e}.recap-dialog h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:0 0 24px}.recap-dialog #summary{max-height:none;overflow:visible;line-height:1.5;font-size:13px}.recap-overview{border:1px solid #dfd2c1;border-radius:20px;padding:20px;background:#f3ecdf;margin:20px 0}.recap-overview strong{font-size:18px;font-weight:500}.recap-overview p{color:#8d7d69;font-size:12px;margin:9px 0 0}.recap-heading{font-family:Georgia,serif;font-weight:400;font-size:21px;margin:26px 0 14px}.recap-module{border:1px solid #e2d7c8;border-radius:17px;padding:16px 18px;margin:10px 0;background:#fffdf8}.recap-module h3{font-size:14px;font-weight:500;margin:0 0 10px}.recap-module p{font-size:12px;color:#92806c;margin:5px 0}.recap-reference{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #e4dbcd;padding:12px 0;font-size:12px}.recap-reference strong{font-weight:500}.recap-reference small{display:block;color:#948573;font-size:11px;margin-top:4px}.recap-references,.project-files{margin:20px 0;color:#84715c;font-size:13px}.recap-references summary,.project-files summary{padding:12px 0;cursor:pointer}.recap-total{display:flex;justify-content:space-between;gap:15px;padding:20px 0;font-size:14px;border-top:1px solid #d8c7b1;margin-top:22px}.recap-total strong{font-weight:500}.recap-export{position:sticky;bottom:-28px;background:#faf6eef5;backdrop-filter:blur(12px);padding:12px 0}.recap-export .primary{border-radius:22px;margin:0}.project-files .upload{background:#fffaf3}
/* No pasted luminous stroke: a recessed, low-contrast profile and diffuse light. */
.hide-light{background:linear-gradient(transparent,#fff2dc70 8%,#fff2dc70 92%,transparent);box-shadow:none;opacity:.35;mix-blend-mode:soft-light}.hide-glow{background:radial-gradient(ellipse at 20% 50%,#ffe3a64d,transparent 76%);opacity:.42;filter:blur(.7px);mix-blend-mode:screen}.selection-ring{border:1px solid #fff3d5;outline:0;box-shadow:0 0 0 1px #8c76534d}.stage.niche-mode .scene{filter:none}.stage{background-repeat:no-repeat}.niche-architecture,.niche-wall-left,.niche-wall-right,.niche-header{box-shadow:none}.mount-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 16px}.mount-choice{min-height:52px;border:1px solid #ddcfbd;background:#fffdf7;border-radius:18px;font-size:15px;padding:14px 20px}.mount-choice.active{background:#ede2d0;border-color:#967959;box-shadow:inset 0 0 0 1px #967959}.mount-choice:focus-visible{outline:3px solid #80654a;outline-offset:3px}
/* Hide is represented by light within each side recess, not a line painted over shelves. */
.hide-light{display:none}

/* Night is a scene-only exposure change. Room and niche share the same veil. */
.stage{--night-veil:rgba(18,23,30,.79)}
.night-room-shade{position:absolute;inset:0;z-index:0;background:var(--night-veil);opacity:0;pointer-events:none;transition:opacity .45s ease}
.niche-wall:before{content:'';position:absolute;inset:0;background:var(--night-veil);opacity:0;pointer-events:none;transition:opacity .45s ease}
.stage.night-mode .night-room-shade,.stage.night-mode .niche-wall:before{opacity:1}
.stage .picture,.stage .front-surface,.stage .surround,.stage .wall-connection{transition:filter .45s ease}
.stage.night-mode .picture{filter:brightness(.29) saturate(.8)}
.night-light-detail{display:block;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}
.stage.night-mode .night-light-detail{opacity:.9}
.stage.night-mode .picture.night-lit-photo{filter:brightness(.95) saturate(.9) sepia(.07)}
.stage.night-mode .hide-glow{opacity:.62;background:radial-gradient(ellipse at 0% 50%,#ffe4b950,transparent 80%);filter:blur(1.2px)}
.stage.night-mode .front-surface:not(.glass),.stage.night-mode .surround,.stage.night-mode .wall-connection{filter:brightness(.36) saturate(.8)}
.stage.night-mode .profile-start,.stage.night-mode .profile-end,.stage.night-mode .rail,.stage.night-mode .crossbar,.stage.night-mode .handle-real{filter:brightness(.45)}
.stage.night-mode .front-surface.glass .reflected-room{opacity:.02}
.stage.night-mode .front-surface.glass .front-light{background:linear-gradient(115deg,#ffffff08,transparent 45%,#ffffff03);box-shadow:inset 0 0 .6px #ffffff30}
.stage.night-mode .selection-ring{border-color:#dfcfab90;box-shadow:0 0 0 1px #1c171c50}
.scene-tools .night-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 15px;font-size:12px;letter-spacing:.15px}
.stage.night-mode .scene-tools button,.stage.night-mode .scene-action{background:#272b30e8;border-color:#ffffff26;color:#e9e2d6;box-shadow:0 3px 12px #0002}
.stage.night-mode .scene-tools .bulb-button.is-lit{background:#433a2b;color:#f2d39c;border-color:#a18b6259;box-shadow:none}
.stage.night-mode .dimensions{background:#272b30e8;color:#ddd3c4;border:1px solid #ffffff1c}
.night-button:focus-visible{outline:3px solid #c5ab80;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.night-room-shade,.niche-wall:before,.stage .picture,.stage .front-surface,.stage .surround,.stage .wall-connection,.night-light-detail{transition:none}}

/* A centred price below the scene; the wardrobe keeps its full photo area. */
.brand{border:0;background:none;padding:0;text-align:left}.brand:focus-visible{outline:2px solid #967959;outline-offset:7px;border-radius:4px}
.visual-panel{min-width:0}.price-strip{padding:15px 24px 18px;background:#f3efe7}.price-strip[hidden]{display:none!important}
.scene-price{margin:0 auto;width:min(100%,310px);text-align:center;background:linear-gradient(125deg,#fffdf8,#f2e8d8);border:1px solid #dfd0ba;border-radius:22px;padding:16px 24px 18px;box-shadow:0 5px 20px #70583f08;color:#66513d}
.scene-price span{display:block;font-size:10px;letter-spacing:1.8px;margin-bottom:7px}.scene-price strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.tariff-dialog{width:min(92vw,470px);max-height:90svh;overflow:auto;padding:28px}.tariff-dialog h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:10px 0 24px}.tariff-eyebrow{color:#a28d75;font-size:9px;letter-spacing:2px;margin:8px 0}.tariff-dialog select{display:block;width:100%;margin-top:8px;border:1px solid #d7c6b2;border-radius:12px;padding:13px;background:#fffdf8;color:#40372e}.discount-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.tariff-dialog input{color:#40372e;background:#fffdf8}.tariff-dialog .primary{border-radius:22px;min-height:50px}.tariff-dialog [hidden]{display:none!important}#tariffError{font-size:12px;color:#94513d;line-height:1.5}
@media(min-width:1000px){.price-strip{padding:16px 0 0}.scene-price{width:310px}}

/* Controls occupy their own row, never the furniture image. */
.visual-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:66px;padding:10px 14px;background:#f3efe7}
.visual-controls .scene-tools{position:static;display:flex;align-items:center;justify-content:center;flex:1;gap:6px;flex-wrap:wrap;pointer-events:auto;min-width:0}
.visual-controls .scene-action{position:static;transform:none;flex:none;box-shadow:none}
.visual-controls .scene-tools button{min-height:44px}
.visual-panel.night-mode .visual-controls{background:#292c30}
.visual-panel.night-mode .visual-controls button{background:#303339;color:#e9e2d6;border-color:#ffffff26;box-shadow:none}
.visual-panel.night-mode .visual-controls .bulb-button.is-lit{background:#433a2b;color:#f2d39c;border-color:#a18b6259}
.price-strip{padding:10px 24px 12px}.scene-price{width:max-content;max-width:100%;min-width:170px;border-radius:17px;padding:10px 22px 11px;box-shadow:none}.scene-price span{font-size:9px;letter-spacing:1.1px;margin-bottom:4px}.scene-price strong{font-size:24px}
@media(min-width:1000px){.visual-controls{border-radius:18px 18px 0 0}.visual-panel .stage{border-top-left-radius:0;border-top-right-radius:0}.price-strip{padding-top:12px}.scene-price{width:max-content}}
@media(max-width:380px){.visual-controls{gap:5px;padding:9px 8px}.visual-controls .scene-tools{gap:4px}.visual-controls .scene-tools button:not(.bulb-button){font-size:10px;padding:9px 10px}}

.niche-filler{flex:none;height:100%;background:linear-gradient(90deg,#fff2,transparent 25%,#0000000b),#c5b7a1;box-shadow:inset 0 0 .6px #665b4a;pointer-events:none}
.niche-ceiling-band{position:absolute;left:0;background:linear-gradient(110deg,#ffffff1a,transparent 60%),#c5b7a1;box-shadow:0 -.6px 1px #2c251d44;z-index:9;pointer-events:none}
.niche-ceiling-band:before{content:'';position:absolute;bottom:100%;height:var(--joint);left:0;right:0;background:#544a3c80}
.stage.night-mode .niche-filler,.stage.night-mode .niche-ceiling-band{filter:brightness(.36) saturate(.8)}
.pose-details input[type=checkbox]{appearance:auto;accent-color:#80654a;width:22px;height:22px;min-width:22px;padding:0}

/* Finishing panels inherit the actual carcass material, including in night view. */
.niche-filler,.niche-ceiling-band{background-color:#d8cdbb;background-image:linear-gradient(100deg,#ffffff12,transparent 40%,#00000008),var(--surface-image);background-size:100% 100%,cover;background-position:center;background-repeat:no-repeat}

/* The wall and door fronts share the same opening; cabinets sit behind the rails. */
.cabinet-plane{position:absolute;left:0;top:0;height:100%;display:flex;transform-origin:0 0;z-index:1}
.niche-interior{position:absolute;left:0;bottom:0;display:block;overflow:hidden;z-index:0;pointer-events:none}
.niche-back{fill:#b5a48f}
.stage.night-mode .niche-interior{filter:brightness(.29) saturate(.8)}

/* Dedicated photographic niche environment, drawn from independently mapped surfaces. */
.niche-room-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.niche-room-canvas[hidden]{display:none!important}
.stage.photographic-room .room-ceiling{display:none}

/* Native disclosure state survives every field choice and rerender. */
.pose-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.pose-details>summary::-webkit-details-marker{display:none}
.pose-details>summary:after{content:'';width:9px;height:9px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 7px 4px}
.pose-details[open]>summary:after{transform:rotate(225deg);margin-bottom:-4px}
.niche-filler,.niche-ceiling-band{background-image:var(--surface-image);background-size:cover;background-position:center;box-shadow:inset 0 0 .5px #675b4d44}
/* Physical exterior depth, with the front kept square for configuration. */
.stage.free-standing .scene{isolation:auto;filter:none;transform-style:preserve-3d}
.carcass-side{position:absolute;top:0;transform-origin:left center;backface-visibility:hidden;background-color:#d8cdbb;background-image:linear-gradient(90deg,#0000000b,#00000022),var(--surface-image);background-size:100% 100%,cover;pointer-events:none;box-shadow:inset .5px 0 .8px #45382944}
.stage.night-mode .carcass-side{filter:brightness(.36) saturate(.8)}
/* One physically scaled material across fronts, right side, frame and trims. */
.carcass-side,.frame-depth{background-image:linear-gradient(90deg,#0000000c,#00000018),var(--surface-image);background-size:100% 100%,var(--surface-size);background-repeat:no-repeat,repeat;background-position:0 0;box-shadow:none}
.frame-depth{position:absolute;transform-origin:left center;backface-visibility:hidden;pointer-events:none}
.surround.physical-frame{border:0;box-shadow:none;z-index:6}
.frame-front,.carcass-front{position:absolute;display:block;background-image:linear-gradient(90deg,#ffffff16,transparent 22%,#00000008),var(--surface-image);background-size:100% 100%,var(--surface-size);background-repeat:no-repeat,repeat;box-shadow:inset .35px 0 .4px #fff3,inset -.35px 0 .5px #55453029}
.frame-top,.carcass-front.top,.carcass-front.plinth{background-image:linear-gradient(#ffffff1a,transparent 25%,#0000000c),var(--surface-image)}
.carcass-skin{position:absolute;inset:0;pointer-events:none}
.niche-filler,.niche-ceiling-band{background-image:var(--surface-image);background-size:var(--surface-size);background-repeat:repeat;background-position:0 0}
.stage.night-mode .carcass-skin,.stage.night-mode .frame-depth{filter:brightness(.36) saturate(.8)}
.carcass-colors{padding:0 0 24px;margin-bottom:26px;border-bottom:1px solid #dfd6c9}
.carcass-colors h2{font-size:20px;font-weight:400;margin:0 0 16px}
.carcass-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.carcass-option{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:16px 8px 12px;border:1px solid #ded3c5;border-radius:21px;background:linear-gradient(135deg,#fffefa,#f0eae0);transition:border-color .2s,box-shadow .2s}
.carcass-option.active{border-color:#8b7153;box-shadow:inset 0 0 0 1px #8b7153;background:#ebe2d5}
.carcass-option:focus-visible{outline:3px solid #80654a;outline-offset:3px}
.carcass-preview{display:block;position:relative;flex:none;filter:drop-shadow(2px 3px 3px #3a2e1c25)}
.carcass-preview>img{width:100%;height:100%;display:block}
.carcass-color-name{font-size:12px;line-height:1.35;min-height:32px;display:flex;align-items:center;justify-content:center}
.carcass-color-code{font-size:10px;letter-spacing:1.4px;color:#8b7b68}
.frame-reveal{position:absolute;pointer-events:none;background-image:linear-gradient(#00000018,#0000000a),var(--surface-image);background-size:100% 100%,var(--surface-size);background-repeat:no-repeat,repeat;backface-visibility:hidden}
.frame-reveal-left{transform-origin:left center}
.frame-reveal-top{transform-origin:center top}
.stage.night-mode .frame-reveal{filter:brightness(.36) saturate(.8)}
/* The selection stays inside the cabinet footprint, including at floor level. */
.stage .selection-ring{box-shadow:inset 0 0 0 1px #8c76534d;outline:none;border:1px solid #fff3d5}
/* Soft interior exposure and wide bilateral diffusion, visible through the glass. */
.stage .column.illuminated:not(.contact-off) .picture:not(.night-lit-photo){filter:brightness(1.18) saturate(1.06) sepia(.06)}
.stage .column.illuminated:not(.contact-off) .hide-glow{width:28%!important;opacity:.85;background:linear-gradient(90deg,#ffe2aa80,#ffe6b22b 45%,transparent);filter:blur(1.8px)}
.stage .column.illuminated:not(.contact-off) .hide-glow.right{background:linear-gradient(270deg,#ffe2aa80,#ffe6b22b 45%,transparent)}
.stage.night-mode .column.illuminated:not(.contact-off) .picture:not(.night-lit-photo){filter:brightness(.38) saturate(.85)}
.stage.night-mode .column.illuminated:not(.contact-off) .picture.night-lit-photo{filter:brightness(1.18) saturate(1.02) sepia(.1)}
.stage.night-mode .column.illuminated:not(.contact-off) .night-light-detail{opacity:1}
.stage.lighting-on .front-surface.glass{background:color-mix(in srgb,var(--transmission-tint) 68%,transparent)}
.stage.lighting-on .front-surface.glass .reflected-room{opacity:.035}
.stage.night-mode.lighting-on .front-surface.glass .reflected-room{opacity:.012}
.stage .column.contact-off .hide-glow,.stage .column.contact-off .night-light-detail{opacity:0!important}
/* Presentation only. Configuration gestures remain in step 1. */
.stage.dressing-preview .select-module{pointer-events:none}
.stage.dressing-preview .hinged-layer{transform-style:preserve-3d}
.stage.dressing-preview .hinged-real{transition:transform .8s cubic-bezier(.22,.7,.22,1);backface-visibility:hidden;will-change:transform}
.stage.dressing-preview .door.sliding{touch-action:pan-y;cursor:grab;transition:left .55s cubic-bezier(.22,.7,.22,1)}
.stage.dressing-preview .door.sliding.dragging{transition:none;cursor:grabbing}
.stage.dressing-preview .hinged-real.preview-open{z-index:8;filter:drop-shadow(4px 5px 7px #0003)}
.dressing-instruction{color:#8d7c67;font-size:14px;line-height:1.6;margin:0 0 18px}
.preview-close{width:100%;border:1px solid #d8cabb;border-radius:19px;background:#fffaf3;padding:15px 20px;margin:0 0 20px}
.dressing-composition{border:1px solid #dfd2c1;border-radius:22px;padding:6px 18px;margin:8px 0 20px;background:#fffaf4}
.dressing-composition>summary{padding:17px 0;cursor:pointer;font-size:15px;color:#67533d}
.dressing-composition .recap-overview{margin-top:8px}
@media(max-width:600px){nav{gap:6px;padding-left:14px;padding-right:14px}nav button{font-size:12px;min-height:44px}nav span{width:23px;height:23px;margin-right:4px}nav i{width:16px;flex:none}}
@media(prefers-reduced-motion:reduce){.stage.dressing-preview .hinged-real,.stage.dressing-preview .door.sliding{transition:none}}
.stage.dressing-preview .hinged-layer{z-index:12}

/* Keep the photographic interior alive behind every moving leaf. */
.stage .picture{visibility:visible}
.stage.dressing-preview .hinged-real{backface-visibility:visible;-webkit-backface-visibility:visible}
.stage.dressing-preview .door-layer{clip-path:inset(0);overflow:hidden}
/* Feather to zero across a broad area; no bright rectangular band. */
.stage .column.illuminated:not(.contact-off) .picture:not(.night-lit-photo){filter:brightness(1.1) saturate(1.025) sepia(.035)}
.stage .column.illuminated:not(.contact-off) .hide-glow{width:42%!important;opacity:.58;background:linear-gradient(90deg,#ffe2ab45 0%,#ffe2ab28 18%,#ffe2ab10 48%,transparent 100%);filter:blur(2.5px)}
.stage .column.illuminated:not(.contact-off) .hide-glow.right{transform:none;background:linear-gradient(270deg,#ffe2ab45 0%,#ffe2ab28 18%,#ffe2ab10 48%,transparent 100%)}
.stage.night-mode .column.illuminated:not(.contact-off) .picture:not(.night-lit-photo){filter:brightness(.34) saturate(.85)}
.stage.night-mode .column.illuminated:not(.contact-off) .picture.night-lit-photo{filter:brightness(1.04) saturate(.98) sepia(.065)}
.stage.night-mode .column.illuminated:not(.contact-off) .hide-glow{opacity:.78}
.frame-reveal-right{transform-origin:left center}

/* Separate leaf camera prevents Safari interleaving rotating leaves with cabinet photos. */
.stage.dressing-preview .hinged-layer{transform-style:flat;transform:translateZ(1px);overflow:visible}
.stage.dressing-preview .hinged-real{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;filter:none;backface-visibility:visible;-webkit-backface-visibility:visible}
.stage.dressing-preview .hinged-real.preview-open{filter:none}
.hinged-real>.front-surface,.hinged-real>.handle-real{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(.2px)}
.hinged-back{position:absolute;inset:0;display:block;pointer-events:none;transform:rotateY(180deg) translateZ(.2px);backface-visibility:hidden;-webkit-backface-visibility:hidden;background-image:linear-gradient(100deg,#fff2,#0001),var(--surface-image);background-size:100% 100%,cover;box-shadow:inset 0 0 0 1px #54453655}
.scene.swipe-enabled,.scene.swipe-enabled *{touch-action:none}

/* Opaque leaves occlude the live interior; only catalogue glass transmits it. */
.front-surface:not(.glass){opacity:1;background-color:var(--finish,#ddd3c3)}

/* Closed hinged modules never expose photographs through browser 3D compositing. */
.stage.hinged-closed-view .column .picture,.stage.hinged-closed-view .column .hide-glow{visibility:hidden}
.stage.hinged-closed-view.dressing-preview .column.preview-module-open .picture,.stage.hinged-closed-view.dressing-preview .column.preview-module-open .hide-glow{visibility:visible}
.stage.hinged-closed-view.dressing-preview .select-module{pointer-events:auto}

.hinged-real:not(.preview-open)>.front-surface{backface-visibility:visible;-webkit-backface-visibility:visible}

.choice-heading{font-size:14px;font-weight:500;margin:24px 0 12px;color:#6d5943}
.rail-set-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rail-set-card,.profile-card{border:1px solid #d8ccbc;border-radius:20px;padding:14px;background:#fffdf7;color:#735e46;min-width:0}
.rail-set-card.active,.profile-card.active{outline:2px solid #82694d;outline-offset:-2px;background:#eee5d6}
.rail-set-card svg{display:block;width:100%;height:74px}
.rail-set-card strong{display:block;font-size:13px;font-weight:500}.rail-set-card>span{display:block;font-size:10px;color:#9b8c79;margin-top:7px}
.profile-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-card>span:last-child{display:block;font-size:13px;margin-top:12px}
.profile-sample{display:block;position:relative;height:90px;margin:0 auto;max-width:145px;background:linear-gradient(120deg,#f5f0e7,#dbd3c5);border-radius:10px;overflow:hidden}
.profile-sample i{position:absolute;left:35%;top:12px;bottom:0;width:15px;transform:skewY(-15deg);box-shadow:5px 3px 8px #30241935}
.profile-sample b{position:absolute;left:calc(35% + 15px);top:8px;bottom:0;width:8px;transform:skewY(28deg)}
.profile-014 i{background:linear-gradient(90deg,#747976,#e5e7e3 26%,#a6aaa5 62%,#d9dcd8)}.profile-014 b{background:linear-gradient(90deg,#8b908b,#d0d3ce)}
.profile-010 i{background:linear-gradient(90deg,#151716,#50514d 26%,#292b28 62%,#141613)}.profile-010 b{background:linear-gradient(90deg,#363832,#171a16)}
.stage .column.illuminated:not(.contact-off) .picture:not(.night-lit-photo){filter:brightness(1.16) saturate(1.03) sepia(.065)}
.stage .column.illuminated:not(.contact-off) .hide-glow{opacity:.82}
.stage.night-mode .column.illuminated:not(.contact-off) .picture:not(.night-lit-photo){filter:brightness(.34) saturate(.85)}
.stage.night-mode .column.illuminated:not(.contact-off) .picture.night-lit-photo{filter:brightness(1.16) saturate(1.01) sepia(.09)}
.stage.night-mode .column.illuminated:not(.contact-off) .hide-glow{opacity:1}
.stage.lighting-on .front-surface.glass{background:var(--transmission-tint)}

.frame-texture-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.frame-texture-card{min-width:0;border:1px solid #d8ccbc;border-radius:18px;padding:12px 8px;background:#fffdf8;color:#6c5945;text-align:center}
.frame-texture-card.active{outline:2px solid #82694d;outline-offset:-2px;background:#eee5d6}
.frame-texture-sample{position:relative;display:block;height:86px;max-width:100px;margin:auto;background:linear-gradient(130deg,#d8cbbb,#eee8df);border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #51402a12}
.frame-texture-sample i,.frame-texture-sample b,.frame-texture-sample em{position:absolute;display:block;background-color:var(--frame-color);background-image:linear-gradient(90deg,#fff2,#00000008),var(--surface-image);background-size:100% 100%,var(--surface-size);box-shadow:2px 2px 4px #36271630}
.frame-texture-sample i{left:18%;top:13%;width:12%;bottom:0}.frame-texture-sample b{right:18%;top:13%;width:12%;bottom:0}.frame-texture-sample em{left:18%;right:18%;top:13%;height:12%}
.frame-texture-name{display:block;font-size:11px;line-height:1.4;margin-top:10px;min-height:31px}.frame-texture-code{display:block;font-size:10px;color:#9b8b76;margin-top:3px}
.frame-texture-card:focus-visible{outline:3px solid #82694d;outline-offset:2px}
@media(max-width:360px){.frame-texture-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

.frame-confirm{display:block;width:100%;margin:8px 0 18px;text-align:center;min-height:48px}

.frame-color-dialog{width:min(94vw,620px);max-height:85svh;overflow:auto;padding:24px}.frame-color-dialog h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:12px 32px 15px 0}.frame-color-dialog .frame-texture-options{margin-bottom:2px}
body.welcome-active main,body.welcome-active #steps,body.welcome-active>.toolbar{display:none}body.welcome-active{padding-bottom:0}#designWelcome:empty{display:none}
#designHelpBtn{font-size:12px}header{flex-wrap:wrap}header .brand{margin-right:auto}header #projectBtn{white-space:nowrap}
.welcome-hero{max-width:1060px;margin:auto;padding:40px 24px 0;text-align:center}.welcome-eyebrow{font-size:10px;letter-spacing:3px;color:#a18d76;margin:0 0 22px}.welcome-hero h1,.guide-sheet h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.5px;font-size:clamp(35px,5vw,58px);line-height:1.1;margin:0 0 22px}.welcome-hero>p:not(.welcome-eyebrow){font-size:15px;color:#968572;line-height:1.7;max-width:470px;margin:0 auto 30px}
.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:720px;margin:auto}.welcome-choice{border:1px solid #d8cbbb;border-radius:24px;background:linear-gradient(130deg,#fffdf8,#eae0d2);padding:25px;text-align:left;color:#65503a;box-shadow:0 8px 26px #65503a09;min-height:170px}.welcome-choice small{font-size:9px;letter-spacing:1.8px;color:#a28d73;display:block}.welcome-choice strong{font-family:Georgia,serif;font-size:26px;font-weight:400;display:block;margin:13px 0 12px}.welcome-choice span{font-size:12px;line-height:1.7;display:block;color:#92806b}.welcome-choice:hover{border-color:#8d7251;box-shadow:0 10px 25px #65503a17}.welcome-picture{max-width:790px;margin:36px auto 0;background:radial-gradient(ellipse at bottom,#c6b7a0,transparent 65%);padding:0 12px}.welcome-picture img{width:100%;height:300px;object-fit:contain;display:block}
.guide-sheet{max-width:720px;margin:15px auto 50px;padding:24px;border:1px solid #e0d4c4;border-radius:28px;background:#faf7f0}.guide-sheet>.text-button{margin-bottom:20px}.guide-sheet h1{font-size:38px}.guide-sheet fieldset{border:0;padding:0;margin:25px 0}.guide-sheet legend{font-size:14px;margin-bottom:14px;color:#6e5941}.guide-options{display:flex;flex-wrap:wrap;gap:10px}.guide-option{flex:1;min-width:110px;position:relative}.guide-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.guide-option>span{display:flex;align-items:center;justify-content:center;gap:9px;padding:18px 12px;border:1px solid #ded2c1;border-radius:17px;font-size:13px;min-height:62px;background:#fffdf8;text-align:center}.guide-option input:checked+span{outline:2px solid #82694d;outline-offset:-2px;background:#eee4d5}.guide-option input:focus-visible+span{outline:3px solid #82694d;outline-offset:3px}.guide-decors .guide-option>span{flex-direction:column}.guide-decors i{width:48px;height:48px;border-radius:12px;border:1px solid #67533c22}.guide-check{display:flex;align-items:center;gap:13px;font-size:14px;line-height:1.6;margin:18px 0}.guide-check input{width:20px;height:20px;flex:none;accent-color:#806449}.guide-measures label{display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:15px;border-bottom:1px solid #e3d8c8;padding:18px 0}.guide-measures input{width:100px;border:1px solid #d7c7b2;border-radius:14px;padding:15px;background:#fffdfa}.guide-next{display:block;width:100%;margin-top:25px;min-height:54px}#guideError{font-size:13px;line-height:1.6;color:#94513d}.guide-proposal-intro{font-size:14px;line-height:1.7;color:#92806c}.guide-proposal-photos{display:flex;align-items:flex-end;justify-content:center;gap:6px;background:#e4d9c9;border-radius:20px;padding:18px 12px}.guide-proposal-photos>div{min-width:0;flex:1;text-align:center}.guide-proposal-photos img{width:100%;height:220px;object-fit:fill;display:block}.guide-proposal-photos span{font-size:10px;display:block;margin-top:8px}.guide-proposal-list{list-style:none;padding:0;margin:22px 0}.guide-proposal-list li{padding:13px 0;border-bottom:1px solid #e3d8c8}.guide-proposal-list strong,.guide-proposal-list span{display:block;font-size:13px;line-height:1.6}.guide-proposal-list strong{font-weight:500}.guide-proposal-list span{color:#9b8b76}
@media(max-width:600px){header{gap:10px}#designHelpBtn{order:3;flex-basis:100%;text-align:right;padding:0}.welcome-hero{padding-top:25px}.welcome-choices{grid-template-columns:1fr}.welcome-choice{min-height:140px;padding:22px}.welcome-choice strong{font-size:25px}.welcome-picture img{height:230px}.guide-sheet{border-radius:24px;margin:5px 12px 25px;padding:22px 18px}.guide-sheet h1{font-size:32px}.guide-proposal-photos img{height:190px}}

.height-options{display:flex;gap:10px;margin-bottom:24px}.height-options .tile{flex:1;min-height:50px;font-size:14px}

.guide-proposal-photos{padding:0;gap:0;align-items:stretch}.guide-proposal-photos>div{height:100%}.guide-proposal-photos img{height:100%;width:100%;object-fit:fill}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.max-chat{max-width:760px;margin:15px auto 45px;background:#faf7f1;border:1px solid #ded2c1;border-radius:28px;overflow:hidden;box-shadow:0 18px 55px #66513a0b}
.max-chat-header{display:flex;align-items:center;gap:13px;padding:18px 22px;border-bottom:1px solid #e7ddcf;background:#fffaf2}.max-chat-header h1{font:27px Georgia,serif;font-weight:400;margin:0 0 3px}.max-chat-header p{font-size:11px;color:#9c8a73;margin:0}.max-chat-header>div{flex:1}.max-chat-header>.text-button{font-size:12px}
.max-avatar,.max-mini{display:grid;place-items:center;flex:none;border:1px solid #a28b6d;background:linear-gradient(140deg,#7d654a,#4e3e2c);color:#fff5e5;border-radius:50%;font-family:Georgia,serif;box-shadow:inset 0 1px 0 #ffffff36}.max-avatar{width:44px;height:44px;font-size:25px}.max-mini{width:26px;height:26px;font-size:14px;margin-top:3px}
.max-transcript{height:clamp(280px,43svh,520px);overflow-y:auto;overscroll-behavior:contain;padding:24px 22px 5px;scroll-behavior:smooth;scrollbar-width:thin}.max-message{display:flex;align-items:flex-start;gap:10px;margin-bottom:19px}.max-message.client{justify-content:flex-end;padding-left:44px}.max-bubble{max-width:88%;padding:15px 18px;background:#eee7dc;border:1px solid #e5dac8;border-radius:3px 20px 20px 20px;color:#63513c;font-size:14px;line-height:1.7;white-space:pre-wrap}.client .max-bubble{background:#725c44;border-color:#725c44;color:#fff9ef;border-radius:20px 3px 20px 20px;max-width:90%}.max-edit{display:block;border:0;background:transparent;color:#e5d4bc;font-size:10px;padding:7px 0 0;text-decoration:underline;min-height:28px}.max-edit:focus-visible{outline:2px solid #fff1d7;outline-offset:3px}
.max-reply-area{padding:10px 22px 0}.max-responses{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:15px}.max-answer{border:1px solid #d4c3aa;border-radius:18px;padding:12px 16px;min-height:45px;background:#fffaf1;color:#735a3e;font-size:13px;text-align:left;box-shadow:0 2px 6px #66513a06}.max-answer:hover{background:#efe4d3;border-color:#927651}.max-answer:focus-visible{outline:3px solid #927651;outline-offset:2px}.max-decor{display:flex;align-items:center;gap:9px}.max-decor i{display:block;width:34px;height:34px;border-radius:9px;border:1px solid #6a533c25}
.max-composer{display:flex;gap:8px;border:1px solid #d9cbb6;border-radius:24px;background:#fffdf9;padding:7px 8px 7px 17px}.max-composer input{flex:1;min-width:0;border:0;outline:0;padding:10px 0;background:transparent;font-size:16px;color:#5b4935}.max-composer input::placeholder{color:#a39787;font-size:13px}.max-composer button{width:42px;height:42px;border:0;border-radius:50%;background:#70583f;color:#fff8e9;font-size:25px}.max-composer:focus-within{outline:2px solid #9c8162;outline-offset:2px}.max-manual{display:block;margin:4px auto 14px;font-size:11px}#maxError{font-size:13px;line-height:1.6;color:#94513d;margin:9px 0}
.max-typing{display:flex;gap:5px;min-width:65px;align-items:center;height:46px}.max-typing i{width:5px;height:5px;background:#a28c70;border-radius:50%;animation:max-dot 1.1s infinite ease-in-out}.max-typing i:nth-child(2){animation-delay:.15s}.max-typing i:nth-child(3){animation-delay:.3s}@keyframes max-dot{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.max-proposal{padding:20px 4px 5px}.max-proposal h2{font:30px Georgia,serif;margin:0 0 20px}.max-proposal .guide-proposal-photos{max-height:none}.max-proposal .welcome-eyebrow{font-size:9px;margin-bottom:12px}
@media(max-width:600px){.max-chat{margin:4px 10px 20px;border-radius:23px}.max-chat-header{padding:15px 12px;gap:9px}.max-chat-header p{font-size:10px}.max-transcript{padding:20px 12px 3px;height:40svh;min-height:260px}.max-reply-area{padding:10px 12px 0}.max-bubble{padding:12px 14px;font-size:14px;max-width:calc(100% - 36px)}.max-answer{padding:11px 13px;font-size:12px}.max-chat-header h1{font-size:25px}.max-avatar{width:37px;height:37px;font-size:22px}}
@media(prefers-reduced-motion:reduce){.max-typing i{animation:none}.max-transcript{scroll-behavior:auto}}

/* Max: readable composer and visual finish choices */
.welcome-picture{overflow:hidden;border-radius:24px;background:#e8dfd1}.welcome-picture img{display:block;width:100%;height:auto;max-height:540px;object-fit:cover}
.max-visual-responses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px;overflow-y:auto;padding:4px;overscroll-behavior:contain}
.max-visual-responses .max-answer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;padding:10px;font-size:12px;line-height:1.3;border-radius:16px}
.max-finish-sample{display:block;width:100%;height:56px;border-radius:10px;box-shadow:inset 0 0 0 1px #77634b22}.max-handle-sample{display:block;width:62px;height:7px;margin:25px 0;background:var(--grip-color,#86847d);border-radius:3px;box-shadow:0 4px 5px #0002}.max-visual-responses .profile-sample{width:80px;height:56px}
.max-composer{background:#fffdf9;flex-shrink:0;border:1px solid #bbaa94}.max-composer input{color:#382d22;-webkit-text-fill-color:#382d22;caret-color:#674f36;opacity:1;font-size:16px;line-height:1.5;min-height:44px}.max-composer input::placeholder{-webkit-text-fill-color:#8a8074;color:#8a8074}.max-composing .max-transcript{height:clamp(90px,calc(var(--max-visible-height,600px) - 300px),280px);min-height:90px}.max-composing .max-visual-responses{max-height:130px}.max-reply-area{scroll-margin-bottom:20px}
@media(max-width:600px){.welcome-picture img{min-height:220px;object-fit:cover}.max-visual-responses{max-height:210px}.max-composing .max-responses{max-height:110px;overflow-y:auto}.max-chat{padding-bottom:env(safe-area-inset-bottom,12px)}}

.max-proposal-preview{margin:22px -12px 0;border-radius:20px;overflow:hidden;border:1px solid #dfd3c1}.max-proposal-preview .visual-panel{width:100%;position:relative;top:auto}.max-proposal-preview .stage{height:clamp(330px,60svh,530px);border-radius:0}.max-proposal-preview .visual-controls{border-radius:0;min-height:64px}.max-proposal-preview .scene-tools{justify-content:flex-end;width:100%}.max-proposal-preview .price-strip{padding:10px}.max-preview-help{margin:12px 0 22px}.max-proposal-preview .select-module.active{outline:none;box-shadow:none}.max-proposal-preview .scene-action{display:none!important}

/* Reflected interior light keeps the real trim finish legible at night. */
.stage.night-mode.lighting-on .niche-filler,.stage.night-mode.lighting-on .niche-ceiling-band{filter:brightness(.78) saturate(.92);background-image:linear-gradient(90deg,#ffe8c21a,transparent 40%,#ffe8c20d),var(--surface-image);background-size:100% 100%,var(--surface-size);background-repeat:no-repeat,repeat}
.max-pose-summary{font-size:12px;line-height:1.7;color:#79664e;padding:12px 14px;background:#eee6d9;border-radius:12px}.max-pose-summary:empty{display:none}

header{flex-wrap:wrap}header .brand{margin-right:auto}#homeBtn{white-space:nowrap}header #homeBtn:focus-visible{outline:2px solid #81674b;outline-offset:3px;border-radius:8px}

.return-site{color:inherit;text-decoration:none;white-space:nowrap}

.gesture-status{font-size:13px;line-height:1.5;text-align:center;margin:10px 16px;color:#685944}.gesture-status[hidden]{display:none}

/* V50: full navigation remains reachable beside the recap on mobile. */
.toolbar.recap-toolbar{gap:10px}.toolbar.recap-toolbar #recapBtn{flex:1;min-width:0;width:auto;max-width:340px;padding:17px 12px}.toolbar.recap-toolbar .step-navigation{font-size:14px;min-width:80px;padding:14px 8px;border:1px solid #dfd4c4;border-radius:20px;background:#fffaf3}.step-navigation:focus-visible{outline:3px solid #80654a;outline-offset:2px}@media(max-width:380px){.toolbar.recap-toolbar{gap:5px;padding-left:10px;padding-right:10px}.toolbar.recap-toolbar .step-navigation{font-size:12px;min-width:65px}.toolbar.recap-toolbar #recapBtn{font-size:14px}}
/* Exterior skins stay above photographic interiors, below controls/lighting. */
.carcass-skin{z-index:1}.select-module{z-index:3}.column>div:first-child{isolation:isolate}

.carcass-front,.carcass-side{background-color:var(--surface-color,#d8cdbb)}

/* V60: decoration belongs to the photographed room canvas. */
.stage .scene{z-index:2}
.stage .reflected-room{background-size:var(--reflection-room-width) var(--reflection-room-height);background-position:center bottom;background-repeat:no-repeat}
