/* The furniture surface is a dimensioned diagram, using original product photos. */
.space-builder .builder-header{padding-block:22px}.space-builder .builder-header h2{font-size:clamp(28px,3vw,44px)}
.space-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:18px 4%;background:#f5f4f1;border-bottom:1px solid var(--line)}.space-picker button{font:14px var(--sans);padding:12px 19px;border:1px solid #b2aea7;border-radius:3px;background:transparent;color:var(--ink)}.space-picker button[aria-pressed=true]{background:var(--green);color:var(--paper);border-color:var(--green)}
.space-builder .builder-layout{grid-template-columns:minmax(320px,370px) minmax(0,1fr);max-width:1650px}.space-builder .builder-controls{padding:26px 24px 45px}.space-builder .builder-workspace{position:sticky;align-self:start;top:115px;max-height:calc(100dvh - 115px);overflow:auto;padding:25px 4% 45px}.space-builder .cabinet-settings{padding-bottom:20px;margin-bottom:18px}.space-builder .cabinet-settings summary,.cell-settings>summary{font-size:15px;line-height:1.4;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:9px;cursor:pointer;list-style:none}.cell-settings summary::-webkit-details-marker{display:none}.cell-settings summary>span:last-child{font-size:23px;margin-left:auto}.cell-settings[open] summary>span:last-child{transform:rotate(45deg)}.cell-settings{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}
#space-form>p,.cell-guidance{font-size:13px;line-height:1.6;color:var(--muted);margin:15px 0}.space-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.space-inputs label{display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:1.5}.space-builder input:not([type=checkbox]),.space-builder select{font-size:16px;padding:10px 8px;min-height:44px}.space-builder .cabinet-apply{font-size:14px;min-height:45px}.space-builder #split-form{margin-top:21px;border-top:1px dashed #b2aea7;padding-top:17px}#split-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5;margin-bottom:13px}.cell-merge{background:none;color:var(--ink);border:0;border-bottom:1px solid #b2aea7;padding:7px 0;margin-top:16px;font-size:13px;text-align:left}.cell-merge:disabled{opacity:.35;cursor:default}.small-note{font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px}.space-builder .builder-control-status{margin-bottom:18px}
.catalog-search{display:flex;flex-direction:column;gap:9px;font-size:14px;line-height:1.5;margin:20px 0 14px}.catalog-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catalog-filters label{display:flex;flex-direction:column;font-size:14px;gap:7px}.space-builder .catalog-filters select{font-size:14px}.fit-only{display:flex;gap:9px;align-items:center;font-size:14px;margin:17px 0}.fit-only input{width:17px;height:17px;accent-color:var(--green)}.catalog-count{font-size:12px;line-height:1.5;color:var(--muted);margin:13px 0}.space-builder .builder-palette h3{font-size:16px}.space-builder .builder-models{grid-template-columns:repeat(2,minmax(0,1fr));max-height:430px;overflow:auto;padding:2px 5px 5px 2px;scrollbar-width:thin;scrollbar-color:#b2aea7 transparent;gap:9px}.space-builder .builder-model{padding:9px;min-height:180px;gap:5px}.space-builder .model-thumb{height:90px;width:100%;overflow:hidden;background:#f5f4f1}.space-builder .model-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.model-sku{font-size:14px;font-weight:500;line-height:1.4}.space-builder .model-dimensions{font-size:13px;line-height:1.5}.space-builder .model-name{font-size:12px;line-height:1.5}.selected-product{font-size:13px;line-height:1.6;padding:12px 0 0}.catalog-empty{font-size:14px;line-height:1.6;grid-column:1/-1;padding:15px 5px}.space-builder .builder-add{font-size:15px}.space-builder .builder-fit-reason{font-size:13px}.space-builder .builder-rotate{font-size:14px}
.space-view-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;padding-top:20px}.space-view-tools>p{font-size:15px}.space-view-tools>div{display:flex;gap:5px}.space-view-tools button{font-size:13px;border:1px solid #dcd9d3;background:none;color:var(--ink);padding:10px 12px}.space-view-tools button[aria-pressed=true]{background:#f5f4f1;border-color:#85817b}.space-view-tools #edit-cell{border:0;border-bottom:1px solid #b2aea7;padding:7px 0;font-size:13px}.space-builder .builder-instruction{font-size:14px;line-height:1.6;max-width:700px}.space-builder .cabinet-board{padding:15px 18px 12px;overflow:auto}.space-frame{position:relative;width:100%;margin:25px auto;background:#b2aea7;outline:8px solid #b2aea7;box-shadow:12px 20px 30px #26252316;isolation:isolate;transition:aspect-ratio .25s}.space-cell{position:absolute;background:#f5f4f1;box-shadow:inset 0 7px 12px #57544f20;min-width:0;min-height:0}.space-cell[data-selected=true]{outline:3px solid #57544f;outline-offset:-1px;z-index:3}.space-cell-target{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;color:#57544f;padding:0;z-index:1;display:grid;place-items:center}.space-cell-target:focus-visible{outline:3px solid #85817b;outline-offset:-3px}.space-cell-number{position:absolute;left:4px;top:4px;background:#f5f4f1e6;border-radius:2px;min-width:21px;padding:3px 5px;font-size:12px;line-height:1.2;z-index:200}.cell-empty{font-size:13px;line-height:1.7;white-space:pre-line;padding:8px}.space-box{position:absolute;background:#f5f4f1;border:1px solid #85817b80;padding:0;line-height:1;isolation:isolate;overflow:hidden;cursor:grab;box-shadow:0 3px 5px #26252318;border-radius:2px}.space-box>img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;mix-blend-mode:multiply}.space-box[aria-pressed=true]{outline:3px solid #262523;outline-offset:2px;z-index:210!important}.space-box:focus-visible{outline:3px solid #85817b;outline-offset:2px;z-index:220!important}.space-box.does-not-fit{outline:3px solid #57544f;outline-offset:1px}.space-box-label{position:absolute;left:0;right:0;bottom:0;background:#f5f4f1d9;color:#262523;font-size:11px;line-height:1.4;padding:3px 2px;text-align:center;pointer-events:none}.space-frame.is-plan{background:#f5f4f1;outline:2px solid #b2aea7;box-shadow:none}.is-plan .space-cell{background:#f5f4f1;box-shadow:none}.is-plan .space-box{background:#f5f4f1;border:2px solid #85817b}.is-plan .space-box>img{opacity:.72;padding:5%}.is-plan .space-box-label{font-size:12px;padding:5px}.space-builder .cabinet-dimension,.space-builder .cabinet-heights{font-size:13px;line-height:1.7}.space-builder .builder-status{font-size:14px;line-height:1.6}.space-builder .inspector-heading h3{font-size:16px;line-height:1.5}.space-builder .inspector-actions label{font-size:13px}.space-builder .inspector-actions select{font-size:14px;max-width:230px}.space-builder .inspector-actions button{font-size:13px;min-height:44px}.space-builder #builder-summary-list strong{font-size:14px;line-height:1.5}.space-builder #builder-summary-list a{font-size:13px}.space-builder .builder-note{font-size:12px;line-height:1.7}.space-builder .builder-toolbar p{font-size:14px}.space-builder .builder-toolbar button{font-size:13px}.space-builder .builder-preset-bar>button{font-size:13px}.space-builder .builder-preset-bar>span{font-size:13px}
@media(max-width:1050px) and (min-width:761px){.space-builder .builder-layout{grid-template-columns:310px minmax(0,1fr)}.space-builder .builder-controls{padding:24px 17px}.space-builder .builder-workspace{padding:22px 20px}.space-view-tools{gap:12px}.space-builder .inspector-actions #replace-product{max-width:210px}.space-builder .space-inputs{gap:7px}.space-builder .space-inputs label{font-size:12px}.space-builder .builder-preset-bar{gap:5px}.space-builder .builder-preset-bar>button{font-size:12px;padding:9px}}
@media(max-width:760px){.space-builder .builder-header{padding:17px 5%}.space-builder .builder-header h2{font-size:28px}.space-builder .builder-header .eyebrow{font-size:10px}.space-picker{padding:15px 5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.space-picker button{font-size:12px;line-height:1.4;padding:11px 5px;min-height:49px}.space-builder .builder-view-switch{top:98px}.space-builder .builder-layout{display:block}.space-builder .builder-controls{padding:24px 5% 40px}.space-builder .builder-workspace{position:static;max-height:none;overflow:visible;padding:22px 5% 40px}.space-builder .builder-view-switch button{font-size:14px}.space-view-tools{gap:12px}.space-view-tools>p{font-size:14px}.space-view-tools button{font-size:13px;min-height:42px}.space-builder .builder-preset-bar>span{width:100%;font-size:13px}.space-builder .builder-preset-bar>button{font-size:12px;padding:10px}.space-builder .builder-toolbar{align-items:flex-start}.space-builder .builder-toolbar p{font-size:13px;line-height:1.5}.space-builder .builder-toolbar button{font-size:12px}.space-builder .builder-instruction{font-size:13px}.space-builder .cabinet-board{padding-inline:12px}.space-frame{max-width:100%!important;outline-width:6px}.space-builder .cabinet-dimension,.space-builder .cabinet-heights{font-size:12px}.space-cell-number{font-size:11px;left:2px;top:2px;min-width:17px;padding:2px}.cell-empty{font-size:11px;line-height:1.6}.space-box-label{font-size:10px;padding:2px}.space-builder .builder-models{grid-template-columns:repeat(2,minmax(0,1fr));max-height:500px}.space-builder .model-thumb{height:100px}.space-builder .builder-model{min-height:194px}.space-builder .model-sku{font-size:15px}.space-builder .model-dimensions{font-size:14px}.space-builder .model-name{font-size:12px}.space-builder .space-inputs label{font-size:13px}.space-builder .builder-control-status{font-size:14px}.space-builder .box-inspector{padding:16px}.space-builder .inspector-actions select{font-size:16px;max-width:225px}.space-builder .inspector-heading h3{font-size:15px}.space-builder #builder-summary-list>li{align-items:flex-start;flex-direction:column;gap:8px}.space-builder #builder-summary-list a{font-size:13px}.space-builder .builder-note{font-size:12px}.space-builder .builder-status{font-size:13px}}
@media(prefers-reduced-motion:reduce){.space-frame{transition:none}}

.space-builder .model-thumb{position:relative;align-items:flex-end;background:transparent}
/* Front elevations always face the viewer. No perspective is applied to a product. */
.product-front{display:block;position:relative;overflow:hidden;flex:none;isolation:isolate}
.space-builder .product-front>img{position:absolute;display:block;max-width:none;object-fit:fill;mix-blend-mode:normal;padding:0;transform:none;pointer-events:none}
.space-builder .model-thumb>.product-front{width:min(100%,calc(90px * var(--front-ratio)));height:auto;max-height:100%}
.space-box>.product-front{width:100%;height:100%;aspect-ratio:auto!important}
.space-box{background:transparent;border:0;box-shadow:0 3px 5px #26252318;border-radius:2px}
.is-plan .space-box{display:grid;place-items:center;background:#f5f4f1;border:2px solid #85817b;container-type:size}
.is-plan .space-box>.product-front{width:min(80%,calc(65cqh * var(--front-ratio)));height:auto;aspect-ratio:var(--front-ratio)!important;margin-bottom:10%;opacity:.9}
@media(max-width:760px){.space-builder .model-thumb>.product-front{width:min(100%,calc(100px * var(--front-ratio)))}}

.cell-choice{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5;margin:12px 0 17px}

/* Source photographs are separate from the front-facing shelf visualization. */
.model-reference{margin:14px 0;border-block:1px solid #b2aea7;padding:0;max-width:420px}
.model-reference>summary{padding:14px 2px;cursor:pointer;font-size:14px;font-weight:500;line-height:1.5}
.model-reference>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.model-reference figure{margin:0 0 15px}.model-reference figure>a{display:block;background:#f5f4f1}
.model-reference img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;aspect-ratio:3/4}
.model-reference figcaption{display:grid;gap:4px;padding-top:9px;font-size:12px;line-height:1.5;color:var(--muted)}
.model-reference[hidden]{display:none}

/* Stacking is an explicit placement choice on desktop and touch screens. */
.stack-placement{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5;margin:18px 0 14px}
.stack-placement select{width:100%;max-width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.stack-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:20px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}
.stack-actions label{display:flex;flex-direction:column;gap:8px;font-size:14px;max-width:100%;flex:1 1 230px}
.stack-actions select{width:100%;max-width:100%;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.stack-actions button{min-height:44px;padding:11px 14px;font-size:14px;line-height:1.4;background:transparent;border:1px solid var(--line);color:var(--ink)}
.stack-actions #stack-new{background:var(--ink);border-color:var(--ink);color:var(--paper);flex-basis:100%}
.stack-actions button:disabled{opacity:.45;cursor:default}
.stack-actions p{font-size:14px;color:var(--muted);flex-basis:100%}
.space-box.drop-stack{outline:3px dashed var(--ink);outline-offset:3px}
.space-box[data-stack-level]:not([data-stack-level="0"]){border-radius:0}
@media(max-width:760px){.stack-actions{gap:10px}.stack-actions label{flex-basis:100%}.stack-actions button{flex:1 1 45%}}
