@charset "UTF-8";
@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/Jost-Latin.woff2") format("woff2")} 
:root{--page:#f4f3ef;--card:#fff;--ink:#30363b;--muted:#65707c;--line:#e1e2de;--control:#fafaf8;--accent:#79694b;--selected:#ecece8;--stage:#e9eae6;--red:#b4232c;--shadow:0 8px 28px rgb(32 38 34 / 4%);font-family:Jost,"Segoe UI",Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--page);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #657f9a;outline-offset:3px}button:hover:not(:disabled){border-color:#9ca39e}a{color:var(--accent);text-underline-offset:3px}h1,h2,p{margin:0}h1{font-size:clamp(24px,2.7vw,35px);font-weight:500;letter-spacing:-.7px;line-height:1.15}h2{font-size:18px;font-weight:500;line-height:1.35;letter-spacing:-.15px}svg{flex:none}button{touch-action:manipulation}[hidden]{display:none!important}.app-shell{max-width:1920px;margin:0 auto;padding:28px 28px 18px}.main-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 2px 24px}.eyebrow{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:3px;margin-bottom:7px;color:var(--accent)}.subtitle{margin-top:8px;color:var(--muted);font-size:15px}.header-actions{display:flex;align-items:center;gap:18px}.local-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;color:var(--muted)}.local-badge i{width:6px;height:6px;border-radius:50%;background:#839582}.skip-link{position:fixed;left:14px;top:-80px;z-index:20;background:var(--ink);color:#fff;padding:12px 18px}.skip-link:focus{top:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #cdd1cd;border-radius:5px;background:var(--card);text-decoration:none;line-height:1.4;font-size:14px;font-weight:400}.button-primary{background:#434a45;border-color:#434a45;color:#fff}.button-primary:hover:not(:disabled){background:#353e37;border-color:#353e37}.button-quiet{background:transparent}.button-small{font-size:13px;min-height:40px;width:100%;padding:8px 10px}.section-kicker{display:block;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:5px}.layout-lab{display:grid;grid-template-columns:225px minmax(0,1fr) auto;align-items:center;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:17px 20px;margin-bottom:14px;box-shadow:var(--shadow)}.layout-intro h2{font-size:15px}.layout-intro p{font-size:12px;color:var(--muted);margin-top:5px}.layout-picker{display:flex;align-items:stretch;gap:5px;flex-wrap:wrap}.layout-picker button{min-width:51px;min-height:50px;padding:6px 9px;border:1px solid transparent;border-radius:5px;background:var(--control);font-size:12px;line-height:1.3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.layout-picker button[aria-pressed=true],.layout-picker button.active{border-color:#555e57;background:var(--selected)}.layout-picker button span,.layout-picker button small{font-size:10px;color:var(--muted);white-space:nowrap}.layout-feedback{max-width:240px;align-self:center;font-size:12px}.layout-feedback summary{cursor:pointer;padding:10px 0;color:var(--muted)}.feedback-body{padding:4px 0 2px}.layout-score{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:9px}.layout-score button{border:1px solid var(--line);background:var(--control);min-width:30px;min-height:34px;padding:4px;border-radius:3px;font-size:12px}.layout-score button[aria-pressed=true],.layout-score button.active{background:#4a544c;color:#fff;border-color:#4a544c}.layout-feedback label{display:block;color:var(--muted)}.layout-feedback textarea{display:block;resize:vertical;width:100%;min-height:60px;font-size:12px;padding:8px;margin-top:4px;border:1px solid var(--line);border-radius:4px;background:var(--control)}.app-status{font-size:12px;color:var(--muted);min-height:23px;padding:0 3px 6px}.app-status.error{color:var(--red)}
.workspace-grid{display:grid;grid-template-columns:minmax(245px,285px) minmax(400px,1fr) minmax(265px,308px);grid-template-areas:"build stage surface" "reference stage summary";gap:16px;align-items:start}.panel{background:var(--card);border:1px solid var(--line);border-radius:9px;min-width:0;box-shadow:var(--shadow);overflow:hidden}.build-panel{grid-area:build}.stage-panel{grid-area:stage}.surface-panel{grid-area:surface}.reference-panel{grid-area:reference}.summary-panel{grid-area:summary}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 15px;border-bottom:1px solid var(--line);gap:12px}.panel-index{width:29px;height:29px;border:1px solid var(--line);border-radius:50%;font-size:10px;color:var(--muted);display:grid;place-items:center;flex:none}.panel-body{padding:0 17px 17px}.build-panel>.panel-body,.surface-panel>.panel-body{max-height:calc(calc(var(--psc-vh, 1vh) * 100) - 280px);min-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c9cec8 transparent}.control-section{border-bottom:1px solid var(--line);padding:0}.control-section:last-of-type{border-bottom:0}.control-section summary{display:flex;position:relative;flex-direction:column;justify-content:center;min-height:64px;padding:15px 22px 15px 0;cursor:pointer;list-style:none;font-size:15px;font-weight:400;line-height:1.35}.control-section summary::-webkit-details-marker{display:none}.control-section summary:after{content:"+";position:absolute;right:0;top:20px;color:var(--muted);font-size:17px}.control-section[open] summary:after{content:"−"}.control-section summary small{font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.section-content{padding:0 0 17px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;min-width:0}.field>span,.field-label{font-size:14px;font-weight:400;line-height:1.5;color:var(--muted)}select,input[type=number]{display:block;width:100%;min-width:0;min-height:44px;border:1px solid #d4d8d2;border-radius:4px;background:var(--control);padding:9px 10px;font-size:14px;line-height:1.4}select{padding-right:28px;text-overflow:ellipsis}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{opacity:.6}.checkbox-field{display:flex;align-items:center;gap:9px;cursor:pointer;margin:4px 0 10px;font-size:13px;color:var(--muted);min-height:38px}.checkbox-field input{accent-color:#59665b;width:17px;height:17px;margin:0;flex:none}.dimension-row{display:grid;grid-template-columns:1fr 14px 1fr;gap:7px;align-items:center}.dimension-row .field{margin-bottom:5px}.dimension-row .field>span{font-size:12px}.dimension-separator{padding-top:23px;text-align:center;color:var(--muted)}.help-text{font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px}.match-status{font-size:11px;color:var(--muted);line-height:1.5}.match-status:empty{display:none}.button-options,.swatch-options,.slot-tabs{display:flex;flex-wrap:wrap;gap:6px}.button-options button,.slot-tabs button{min-height:44px;min-width:43px;padding:8px 10px;font-size:13px;border:1px solid #d8dcd6;background:var(--control);border-radius:4px;line-height:1.35}.button-options button[aria-pressed=true],.slot-tabs button[aria-pressed=true],.slot-tabs button[aria-selected=true],.slot-tabs button.active{background:var(--selected);border-color:#4c554e}.swatch{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:44px;min-width:44px;max-width:100%;padding:7px 9px;background:var(--control);border:1px solid #d8dcd6;border-radius:4px;font-size:11px;line-height:1.35;text-align:left;word-break:normal}.swatch:before{content:"";display:block;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:var(--swatch,#cbc3b1);box-shadow:inset 0 0 0 1px rgb(0 0 0 / 13%)}.swatch[aria-pressed=true],.swatch.active{border-color:#4c554e;background:var(--selected)}.swatch.tbc,.button-options button.tbc{border-color:#e0b9bb;color:var(--red);background:#fff7f7}.swatch.tbc:before{background:repeating-linear-gradient(135deg,#eacbcd 0,#eacbcd 3px,#fcf3f4 3px,#fcf3f4 6px);box-shadow:inset 0 0 0 1px #d4969a}.swatch.tbc[aria-pressed=true]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.tbc-status{font-size:12px;line-height:1.6;color:var(--red);margin-top:10px;padding:11px 12px;background:#fff4f4;border:1px solid #edcdcf;border-radius:5px}.tbc-status:empty{display:none}.tbc-status strong{font-weight:500}
.stage-panel{background:var(--stage);display:flex;flex-direction:column;min-height:710px;position:sticky;top:16px;align-self:start}.stage-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 17px 11px;z-index:1}.stage-top h2{font-size:16px}.view-options{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.view-options button{min-height:36px;padding:7px 8px;border:1px solid transparent;border-radius:4px;background:rgb(255 255 255 / 36%);font-size:11px;color:#626d65}.view-options button[aria-pressed=true],.view-options button.active{border-color:#b3bcb3;background:rgb(255 255 255 / 74%);color:#333e35}.viewport{position:relative;flex:1;min-height:520px;width:100%;overflow:hidden}.viewport iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.viewport-hint{position:absolute;bottom:16px;left:0;right:0;pointer-events:none;display:flex;justify-content:center;gap:18px;color:#758077;font-size:10px;letter-spacing:.1px}.viewport-hint span+span:before{content:"·";margin-right:18px}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 17px 14px}.zoom-tools{display:flex;align-items:center;background:rgb(255 255 255 / 55%);border:1px solid #d0d6ce;border-radius:5px;overflow:hidden}.zoom-tools button{background:transparent;border:0;min-height:42px;min-width:38px;padding:7px 10px;font-size:15px}.zoom-tools #fit-view{font-size:11px;border-left:1px solid #d0d6ce;border-right:1px solid #d0d6ce}.stage-toolbar>.button{font-size:11px;min-height:42px;padding:8px 10px}.explode-control{padding:0 18px 16px;border-top:1px solid rgb(159 171 156 / 21%);padding-top:10px}.explode-control>label{display:flex;justify-content:space-between;font-size:11px;color:#626e63}.explode-control .help-text{font-size:10px;margin-top:3px}.range-field{margin:15px 0 17px}.range-field>label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;line-height:1.4;margin-bottom:6px}.range-field output,.explode-control output{font-variant-numeric:tabular-nums;font-size:11px;color:var(--ink);white-space:nowrap}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:2px}input[type=range]{display:block;width:100%;height:24px;accent-color:#7f8b7c;margin:2px 0 0;cursor:pointer}.colour-field{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:14px}.colour-field input{width:58px;height:40px;padding:3px;border:1px solid #cdd2cb;border-radius:4px;background:var(--card);cursor:pointer}.reference-panel .panel-body,.summary-panel .panel-body{padding-top:16px}.reference-picture{position:relative;min-height:120px;border-radius:5px;background:var(--control);display:grid;place-items:center;overflow:hidden}.reference-picture img{max-width:100%;width:100%;height:190px;object-fit:contain;background:#f5f5f2}.reference-picture img:not([src]),.reference-picture img[src=""]{display:none}.reference-empty{font-size:12px;color:var(--muted);text-align:center;padding:20px;max-width:260px}.text-link{display:inline-block;font-size:11px;margin-top:8px}.build-summary{font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.build-summary:empty:after{content:"Pasirink komplektaciją, kad matytum detalių sąrašą."}.build-summary dl{margin:0}.build-summary dt{color:var(--ink);font-weight:400;margin-top:9px}.build-summary dd{margin:0}.build-summary ul{margin:0;padding-left:16px}.build-summary table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.build-summary th,.build-summary td{vertical-align:top;padding:5px 4px;border-bottom:1px solid var(--line);font-weight:400}.build-summary strong{font-weight:500;color:var(--ink)}.save-actions{display:flex;flex-direction:column;gap:7px;margin-top:17px}.save-actions .button{font-size:12px;justify-content:center}.studio-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 3px 0;color:var(--muted);font-size:10px}.reference-caption{font-size:11px}
/* Layout 02: mirrored editing desks. */
body[data-layout="02"] .workspace-grid{grid-template-columns:minmax(265px,308px) minmax(400px,1fr) minmax(245px,285px);grid-template-areas:"surface stage build" "summary stage reference"}
/* Layout 03: a panoramic stage above two broad control desks. */
body[data-layout="03"] .workspace-grid{grid-template-columns:1fr 1fr;grid-template-areas:"stage stage" "build surface" "reference summary"}
body[data-layout="03"] .stage-panel{position:relative;top:auto;min-height:660px}
body[data-layout="03"] .viewport{min-height:480px}
body[data-layout="03"] .build-panel>.panel-body,body[data-layout="03"] .surface-panel>.panel-body{max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
body[data-layout="03"] .build-panel .control-section:last-of-type{grid-column:1/-1}
body[data-layout="03"] .tbc-status{grid-column:1/-1}
/* Layout 04: product gallery with a lower material workbench. */
body[data-layout="04"] .workspace-grid{grid-template-columns:310px minmax(0,1fr);grid-template-areas:"build stage" "surface surface" "reference summary"}
body[data-layout="04"] .stage-panel{position:relative;top:auto;min-height:760px}
body[data-layout="04"] .surface-panel>.panel-body{max-height:none;display:grid;grid-template-columns:1.3fr 1fr;gap:28px}
body[data-layout="04"] .material-section .section-content{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
body[data-layout="04"] .material-section .section-content>.field,body[data-layout="04"] .material-section .section-content>.button{grid-column:1/-1}
body[data-layout="04"] .control-section{border-bottom:0}
/* Layout 05: choices form a top toolbar, leaving a wide lower studio. */
body[data-layout="05"] .workspace-grid{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"build build" "stage surface" "reference summary"}
body[data-layout="05"] .build-panel>.panel-body{max-height:none;display:grid;grid-template-columns:1fr 1.15fr 1.35fr;gap:24px}
body[data-layout="05"] .build-panel .control-section{border-bottom:0}
body[data-layout="05"] .build-panel .tbc-status{grid-column:1/-1;margin-top:0}
body[data-layout="05"] .stage-panel{position:relative;top:auto;min-height:720px}
/* Layout 06: dark photographic studio; controls remain separated from scene. */
body[data-layout="06"]{--page:#252a28;--card:#303633;--ink:#edf0e9;--muted:#b8c1b7;--line:#485148;--control:#343d36;--selected:#465247;--stage:#353d36;--accent:#d0be91;--shadow:0 10px 32px rgb(0 0 0 / 12%)}
body[data-layout="06"] .workspace-grid{grid-template-columns:300px minmax(0,1fr);grid-template-areas:"build stage" "surface surface" "reference summary"}
body[data-layout="06"] .stage-panel{position:relative;top:auto;min-height:780px}
body[data-layout="06"] .surface-panel>.panel-body{max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:30px}
body[data-layout="06"] .button,body[data-layout="06"] select,body[data-layout="06"] input[type=number],body[data-layout="06"] .swatch,body[data-layout="06"] .slot-tabs button,body[data-layout="06"] .button-options button{border-color:#596557}
body[data-layout="06"] .button-primary{background:#c7bc9d;color:#272e27;border-color:#c7bc9d}
body[data-layout="06"] .view-options button,body[data-layout="06"] .viewport-hint,body[data-layout="06"] .explode-control>label{color:#c6cec3}
body[data-layout="06"] .view-options button{background:#424c42}
body[data-layout="06"] .view-options button.active{background:#5a6859;color:#fff;border-color:#8f9d89}
body[data-layout="06"] .zoom-tools{background:#414c41;border-color:#64725e}
body[data-layout="06"] .swatch.tbc,body[data-layout="06"] .tbc-status{background:#472f31;color:#f1babf;border-color:#88565e}
/* Layout 07: compact stacked editing column beside a tall model. */
body[data-layout="07"] .workspace-grid{grid-template-columns:365px minmax(0,1fr);grid-template-areas:"build stage" "surface stage" "reference summary"}
body[data-layout="07"] .build-panel>.panel-body,body[data-layout="07"] .surface-panel>.panel-body{max-height:360px;min-height:0}
body[data-layout="07"] .stage-panel{min-height:960px}
body[data-layout="07"] .viewport{min-height:750px}
body[data-layout="07"] .control-section summary{min-height:56px;padding-top:12px;padding-bottom:12px}
/* Layout 08: model-led dashboard with a split right rail. */
body[data-layout="08"] .workspace-grid{grid-template-columns:minmax(0,1fr) 375px;grid-template-areas:"stage build" "stage surface" "reference summary"}
body[data-layout="08"] .build-panel>.panel-body,body[data-layout="08"] .surface-panel>.panel-body{max-height:360px;min-height:0}
body[data-layout="08"] .stage-panel{min-height:1000px}
body[data-layout="08"] .viewport{min-height:780px}
body[data-layout="08"] .panel{border-radius:14px}
body[data-layout="08"] .layout-lab{border-radius:14px}
/* Layout 09: floating editing cards over an uninterrupted full-width scene. */
body[data-layout="09"] .workspace-grid{grid-template-columns:285px minmax(400px,1fr) 300px;grid-template-areas:"build stage surface" "reference summary summary";position:relative;padding-top:84px}
body[data-layout="09"] .stage-panel{grid-column:1/-1;grid-row:1;position:relative;top:auto;min-height:990px;z-index:0;margin-top:-84px;align-self:stretch}
body[data-layout="09"] .stage-panel .viewport{min-height:790px}
body[data-layout="09"] .stage-top{padding-left:22px;padding-right:22px}
body[data-layout="09"] .build-panel,body[data-layout="09"] .surface-panel{grid-row:1;z-index:2;position:relative;margin:0 13px 20px;box-shadow:0 16px 40px rgb(35 43 36 / 13%);background:color-mix(in srgb,var(--card) 96%,transparent)}
body[data-layout="09"] .build-panel{grid-column:1;margin-right:0}
body[data-layout="09"] .surface-panel{grid-column:3;margin-left:0}
body[data-layout="09"] .build-panel>.panel-body,body[data-layout="09"] .surface-panel>.panel-body{max-height:740px;min-height:0}
body[data-layout="09"] .stage-toolbar,body[data-layout="09"] .explode-control{margin-left:290px;margin-right:305px}
body[data-layout="09"] .stage-toolbar{flex-wrap:wrap;justify-content:center;padding-left:0;padding-right:0}
body[data-layout="09"] .viewport-hint{bottom:24px}
@media(min-width:1021px){body[data-layout="09"] .viewport iframe{left:285px;right:300px;width:calc(100% - 585px)}}
/* Layout 10: long, numbered selection flow with a pinned product preview. */
body[data-layout="10"] .workspace-grid{grid-template-columns:430px minmax(0,1fr);grid-template-areas:"build stage" "surface stage" "summary stage" "reference stage"}
body[data-layout="10"] .stage-panel{min-height:calc(calc(var(--psc-vh, 1vh) * 100) - 34px);max-height:1100px}
body[data-layout="10"] .viewport{min-height:500px}
body[data-layout="10"] .build-panel>.panel-body,body[data-layout="10"] .surface-panel>.panel-body{max-height:none;min-height:0}
body[data-layout="10"] .build-panel .panel-body{counter-reset:step}
body[data-layout="10"] .control-section summary{padding-left:40px;min-height:73px}
body[data-layout="10"] .control-section summary:before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:0;top:20px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);font-size:10px;display:grid;place-items:center;color:var(--accent)}
body[data-layout="10"] .surface-panel .panel-body{counter-reset:step 3}
body[data-layout="10"] .control-section .section-content{padding-left:40px}
body[data-layout="10"] .reference-picture img{height:260px}
@media(min-width:1680px){.workspace-grid{grid-template-columns:320px minmax(500px,1fr) 340px}.stage-panel{min-height:840px}.viewport{min-height:640px}.build-panel>.panel-body,.surface-panel>.panel-body{max-height:calc(calc(var(--psc-vh, 1vh) * 100) - 270px)}}
@media(max-width:1250px){.app-shell{padding:22px 18px 16px}.layout-lab{grid-template-columns:190px 1fr;gap:14px}.layout-feedback{grid-column:1/-1;max-width:none;border-top:1px solid var(--line)}.layout-feedback[open] .feedback-body{display:grid;grid-template-columns:320px minmax(200px,1fr);gap:20px}.layout-picker button{min-width:46px}.workspace-grid{grid-template-columns:250px minmax(310px,1fr) 265px;gap:12px}.panel-heading{padding:16px 14px 13px}.panel-body{padding-left:13px;padding-right:13px}.stage-top{align-items:flex-start;flex-direction:column}.view-options{justify-content:flex-start}.stage-toolbar{flex-wrap:wrap}.stage-panel{min-height:730px}.viewport{min-height:490px}body[data-layout="09"] .workspace-grid{grid-template-columns:250px minmax(320px,1fr) 265px}body[data-layout="09"] .stage-toolbar,body[data-layout="09"] .explode-control{margin-left:255px;margin-right:270px}body[data-layout="09"] .stage-top{flex-direction:row}body[data-layout="09"] .stage-toolbar>.button{font-size:0}body[data-layout="09"] .stage-toolbar>.button svg{width:20px;height:20px}}
@media(min-width:1021px) and (max-width:1250px){body[data-layout="09"] .viewport iframe{left:250px;right:265px;width:calc(100% - 515px)}}
@media(max-width:1020px){.main-header{padding-bottom:20px}.local-badge{display:none}.layout-lab{grid-template-columns:1fr}.layout-picker{gap:5px}.layout-picker button{flex:1;min-width:52px}.layout-feedback{grid-column:auto}.workspace-grid,body[data-layout] .workspace-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"stage stage" "build surface" "reference summary"!important;padding-top:0;gap:14px}.stage-panel,body[data-layout] .stage-panel{grid-area:stage!important;grid-column:auto;grid-row:auto;position:relative;top:auto;min-height:650px;max-height:none;margin:0;z-index:0}.viewport,body[data-layout] .viewport,body[data-layout] .stage-panel .viewport{min-height:450px}.build-panel,body[data-layout] .build-panel{grid-area:build!important;grid-column:auto;grid-row:auto;margin:0;position:relative;z-index:1}.surface-panel,body[data-layout] .surface-panel{grid-area:surface!important;grid-column:auto;grid-row:auto;margin:0;position:relative;z-index:1}.reference-panel,body[data-layout] .reference-panel{grid-area:reference!important}.summary-panel,body[data-layout] .summary-panel{grid-area:summary!important}.build-panel>.panel-body,.surface-panel>.panel-body,body[data-layout] .build-panel>.panel-body,body[data-layout] .surface-panel>.panel-body{max-height:none;min-height:0;display:block}.stage-top,body[data-layout] .stage-top{flex-direction:row;align-items:center;padding:17px}.stage-toolbar,body[data-layout] .stage-toolbar,.explode-control,body[data-layout] .explode-control{margin:0;padding-left:17px;padding-right:17px}.stage-toolbar>.button,body[data-layout] .stage-toolbar>.button{font-size:11px}.material-section .section-content,body[data-layout] .material-section .section-content{display:block}.control-section,body[data-layout] .control-section{border-bottom:1px solid var(--line)}.studio-footer{flex-direction:column;gap:3px}}
@media(max-width:600px){.app-shell{padding:18px 10px 16px}.main-header{align-items:flex-start;gap:10px;padding:0 3px 18px}.main-header h1{font-size:23px;letter-spacing:-.5px}.subtitle{font-size:12px;max-width:220px}.eyebrow{font-size:10px;letter-spacing:2.2px}.header-actions .button{font-size:0;min-width:42px;min-height:42px;padding:8px}.header-actions .button:after{content:"↺";font-size:21px}.layout-lab{padding:13px 12px;gap:10px;border-radius:7px}.layout-intro .section-kicker{display:none}.layout-intro h2{font-size:13px}.layout-intro p{font-size:11px}.layout-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.layout-picker button{min-width:0;min-height:44px;font-size:12px;padding:4px}.layout-picker button span,.layout-picker button small{font-size:9px;white-space:normal}.layout-feedback{font-size:11px}.layout-feedback[open] .feedback-body{display:block}.layout-score{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}.layout-score button{min-width:0;min-height:36px}.app-status{font-size:11px;min-height:20px}.workspace-grid,body[data-layout] .workspace-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"stage" "build" "surface" "reference" "summary"!important;gap:12px}.stage-panel,body[data-layout] .stage-panel{min-height:560px;border-radius:7px}.viewport,body[data-layout] .viewport,body[data-layout] .stage-panel .viewport{min-height:350px;height:calc(var(--psc-vh, 1vh) * 52);max-height:500px;flex:auto}.stage-top,body[data-layout] .stage-top{padding:13px 12px 5px;gap:9px;flex-wrap:wrap;align-items:center}.stage-top .section-kicker{font-size:9px}.stage-top h2{font-size:14px}.view-options{gap:3px;justify-content:flex-start}.view-options button{font-size:10px;min-height:36px;padding:6px 7px}.viewport-hint{font-size:9px;gap:10px;bottom:12px}.viewport-hint span+span:before{margin-right:10px}.stage-toolbar,body[data-layout] .stage-toolbar{padding:6px 12px 12px;justify-content:space-between;flex-wrap:nowrap;gap:7px}.zoom-tools button{min-width:34px;min-height:40px;padding:7px 8px}.zoom-tools #fit-view{font-size:10px}.stage-toolbar>.button,body[data-layout] .stage-toolbar>.button{min-height:40px;font-size:10px;padding:7px 8px;gap:5px}.stage-toolbar>.button svg{width:15px;height:15px}.explode-control,body[data-layout] .explode-control{padding:9px 12px 12px}.explode-control .help-text{font-size:9px}.panel-heading{padding:16px}.panel-heading h2{font-size:18px}.panel-body{padding-left:16px;padding-right:16px}.control-section summary{font-size:16px;min-height:66px}.field>span,.field-label{font-size:14px}.field select{font-size:15px}.swatch{font-size:12px;padding:7px 10px}.reference-picture img{height:240px}.save-actions{display:grid;grid-template-columns:1fr 1fr}.save-actions #export-bom{grid-column:1/-1}.studio-footer{font-size:9px;padding-top:18px}body[data-layout="10"] .control-section summary{padding-left:38px}body[data-layout="10"] .control-section .section-content{padding-left:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep small studio actions usable with touch as well as a mouse. */
.layout-score button{min-width:44px;min-height:44px}.view-options button{min-width:44px;min-height:44px}.zoom-tools button{min-width:44px;min-height:44px}.stage-toolbar>.button,.button-small{min-height:44px}.colour-field input{min-height:44px}
@media(max-width:600px){.layout-score{grid-template-columns:repeat(5,minmax(0,1fr))}.layout-score button{min-width:44px;min-height:44px}.header-actions .button{min-width:44px;min-height:44px}.view-options button{min-width:44px;min-height:44px}.zoom-tools button{min-width:44px;min-height:44px}.stage-toolbar>.button,body[data-layout] .stage-toolbar>.button{min-height:44px}}

/* Customer selection flow. Studio layouts above remain unchanged. */
body[data-experience="customer"]{--preview-control-height:36px;--selection-check:#26743f;--page:#f8f8f5;--card:#fff;--ink:#30363b;--line:#e2e4df;--muted:#65707c;--selected:#eeefeb;--shadow:none}
body[data-experience="customer"] [data-development]{display:none!important}
body[data-experience="customer"] .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body[data-experience="customer"] .app-shell{max-width:1660px;padding:24px 28px 16px}
body[data-experience="customer"] .main-header{padding:0 0 14px;gap:20px}
body[data-experience="customer"] .brand-block{flex:1;min-width:0;text-align:center}
body[data-experience="customer"] .main-header h1{margin-inline:auto}
body[data-experience="customer"] .main-header h1{font-size:27px;line-height:1.25;letter-spacing:-.5px;font-weight:400}
body[data-experience="customer"] .eyebrow{font-size:11px;letter-spacing:2.8px;margin-bottom:5px}
body[data-experience="customer"] .subtitle{font-size:14px;margin-top:5px}
/* Preview status remains available to assistive technology without painting outside the viewport. */
body[data-experience="customer"] .app-status{position:absolute;width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}

body[data-experience="customer"][data-layout] .workspace-grid{grid-template-columns:minmax(0,1fr) 390px!important;grid-template-areas:"stage build"!important;gap:22px;align-items:start;padding:0}
body[data-experience="customer"][data-layout] .stage-panel{position:sticky;top:18px;display:flex;flex-direction:column;min-height:0;max-height:none;grid-area:stage!important;container:ps-preview / inline-size;border-radius:7px;border-color:#e0e3dc;background:#e9eae6;z-index:2}
body[data-experience="customer"][data-layout] .stage-panel .viewport{height:clamp(380px,calc(calc(var(--psc-vh, 1vh) * 100) - 290px),760px);min-height:0;max-height:none;flex:none}
body[data-experience="customer"][data-layout] .build-panel{grid-area:build!important;position:relative;top:auto;left:auto;right:auto;width:auto;margin:0;border-radius:7px;z-index:1}
body[data-experience="customer"] .build-panel>.panel-heading{padding:19px 20px 17px}
body[data-experience="customer"] .build-panel>.panel-heading h2{font-size:19px;font-weight:400}
body[data-experience="customer"][data-layout] .build-panel>.panel-body{padding:0;max-height:none;min-height:0;overflow:visible;display:block}
body[data-experience="customer"] .customer-step{margin:0;border-bottom:1px solid var(--line)}
body[data-experience="customer"] .customer-step>summary{display:flex;align-items:center;gap:12px;position:relative;min-height:68px;padding:11px 21px;cursor:pointer;list-style:none;line-height:1.35;background:#fff}
body[data-experience="customer"] .customer-step>summary::-webkit-details-marker{display:none}
body[data-experience="customer"] .step-number{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;border:1px solid #d6dbd3;border-radius:50%;font-size:11px;color:#747b70;letter-spacing:.4px}
body[data-experience="customer"] .step-label{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
body[data-experience="customer"] .step-title{font-size:16px;font-weight:400;color:#30363b}
body[data-experience="customer"] .step-selection{display:block;font-size:12px;font-weight:400;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
body[data-experience="customer"] #step-summary-modules{display:flex;flex-direction:column;gap:1px;line-height:1.2}
body[data-experience="customer"] .step-module-row{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:4px;align-items:start;min-width:0}
body[data-experience="customer"] .step-module-number{font-variant-numeric:tabular-nums}
body[data-experience="customer"] .step-module-name{min-width:0}
body[data-experience="customer"] .step-chevron{width:7px;height:7px;flex:0 0 7px;transform:rotate(45deg);border-right:1px solid #697467;border-bottom:1px solid #697467;margin:0 3px 4px 0}
body[data-experience="customer"] .customer-step[open]>summary{background:#f1f2ee}
body[data-experience="customer"] .customer-step[open]>summary .step-number{border-color:#7a8275;color:#3f493b;background:#fff}
body[data-experience="customer"] .customer-step[open]>summary .step-chevron{transform:rotate(225deg);margin-bottom:-3px}
body[data-experience="customer"] .step-body{padding:18px 20px 20px}
body[data-experience="customer"] :is(#customer-step-plate,#customer-step-finish,#customer-step-modules)>.step-body{padding-top:8px}
body[data-experience="customer"] .step-intro{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 17px}
body[data-experience="customer"] .step-body .field{margin-bottom:18px}
body[data-experience="customer"] .field>span,body[data-experience="customer"] .field-label{font-size:16px;font-weight:400;line-height:1.5;color:var(--muted)}
body[data-experience="customer"] .step-actions{display:flex;gap:8px;align-items:center;margin-top:22px}
body[data-experience="customer"] .step-actions .button-primary{flex:1;font-size:14px;background:#424b43;border-color:#424b43;justify-content:space-between;padding:11px 14px}
body[data-experience="customer"] .step-actions .button-quiet{font-size:13px;padding:10px 12px;color:var(--muted);border-color:transparent}
body[data-experience="customer"] .step-actions .button{white-space:normal;min-width:0}
body[data-experience="customer"] .step-actions .button span[aria-hidden]{flex:none}
body[data-experience="customer"] .step-actions .button-primary:hover{background:#354036}
body[data-experience="customer"] .gang-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
body[data-experience="customer"] .gang-cards button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:91px;min-width:0;padding:10px 4px;font-size:16px;background:#fff;border-color:#d9ded5;border-radius:4px}
body[data-experience="customer"] .gang-cards button[aria-pressed=true]{border-color:#505c4d;background:var(--selected);box-shadow:inset 0 0 0 1px #505c4d}
body[data-experience="customer"] .gang-cards svg{display:block;max-width:100%;width:54px;height:32px;stroke:currentColor;fill:none;stroke-width:1.2;color:#737c6e}
body[data-experience="customer"] .gang-cards .gang-more{min-height:91px;font-size:26px;font-weight:300;line-height:1;color:var(--muted)}
body[data-experience="customer"] .gang-cards .gang-more[aria-expanded=true]{background:var(--selected);border-color:#505c4d}
body[data-experience="customer"] .extended-gang-options{margin-top:7px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc(40% - 4px);margin-left:0}
body[data-experience="customer"] .module-cards{display:block}
body[data-experience="customer"] .module-group+.module-group{margin-top:22px}
body[data-experience="customer"] .module-group-title{font:400 14px/1.5 Jost,sans-serif;color:#65707c;margin:0 0 10px}
body[data-experience="customer"] .module-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body[data-experience="customer"] .module-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-height:123px;padding:15px 12px;background:#fff;border:1px solid #d9ded5;border-radius:4px;text-align:left;line-height:1.35;font-size:13px}
body[data-experience="customer"] .module-card svg{display:block;width:42px;height:42px;stroke:#697566;stroke-width:1.2;fill:none}
body[data-experience="customer"] .module-card-copy{display:flex;flex-direction:column;gap:4px}
body[data-experience="customer"] .module-card-title{font-size:16px;color:#303a30;line-height:1.35;font-weight:400}
body[data-experience="customer"] .module-card-description{display:block;font-size:12px;color:var(--muted);line-height:1.45}
body[data-experience="customer"] .module-card[aria-pressed=true],body[data-experience="customer"] .module-card[aria-selected=true]{border-color:#505c4d;background:var(--selected);box-shadow:inset 0 0 0 1px #505c4d}
/* Decorative checks follow actual product selection; position checks still mean confirmed progress. */
body[data-experience="customer"] :is(.gang-card,.swatch,.module-card)[aria-pressed=true]::after{content:"";position:absolute;top:7px;right:8px;width:7px;height:13px;border:solid var(--selection-check);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}
body[data-experience="customer"] .gang-card[aria-pressed=true]::after{top:4px;right:6px;width:6px;height:11px}
body[data-experience="customer"] .module-card[aria-pressed=true]::after{top:10px;right:12px;width:8px;height:15px}
body[data-experience="customer"] .module-card{padding-bottom:24px;min-width:0}
body[data-experience="customer"] .module-card-copy{min-width:0;width:100%;overflow-wrap:anywhere}
body[data-experience="customer"] .module-card-chevron{position:absolute;bottom:13px;right:14px;width:6px;height:6px;border-right:1px solid #697467;border-bottom:1px solid #697467;transform:rotate(45deg)}
body[data-experience="customer"] .module-card[aria-expanded=true] .module-card-chevron{transform:rotate(225deg);bottom:10px}
body[data-experience="customer"] .module-variants{grid-column:1/-1;padding:14px;background:#f6f7f3;border:1px solid #d9ded5;border-radius:4px;animation:module-reveal .16s ease-out}
body[data-experience="customer"] .module-variant-heading{font-size:13px;line-height:1.5;color:#65707c;margin:0 0 9px}
body[data-experience="customer"] .module-variant-options{display:flex;flex-direction:column;gap:6px}
body[data-experience="customer"] .module-variant{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 11px;border:1px solid #d9ded5;border-radius:3px;background:#fff;color:#484f56;text-align:left;font:400 13px/1.45 Jost,sans-serif}
body[data-experience="customer"] .module-variant:hover{border-color:#87967f;background:#f0f3ed}
body[data-experience="customer"] .module-variant[aria-checked=true]{background:#e8ede3;border-color:#65775d;color:#30472a;box-shadow:inset 0 0 0 1px #65775d}
body[data-experience="customer"] .module-variant-dot{position:relative;display:block;flex:0 0 16px;width:16px;height:16px;border:1px solid #8b9585;border-radius:50%}
body[data-experience="customer"] .module-variant[aria-checked=true] .module-variant-dot{border-color:transparent}
body[data-experience="customer"] .module-variant[aria-checked=true] .module-variant-dot:after{content:"";position:absolute;top:0;left:4px;width:6px;height:11px;border:solid var(--selection-check);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}
body[data-experience="customer"] .module-variants-amps .module-variant-options{flex-direction:row}
body[data-experience="customer"] .module-variants-amps .module-variant{flex:1;justify-content:center}
@keyframes module-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body[data-experience="customer"] .module-variants{animation:none}}
body[data-experience="customer"] .position-map{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
body[data-experience="customer"] .position-plate{position:relative;width:min(100%,var(--position-width));aspect-ratio:var(--plate-ratio);border:1px solid #b7beb1;border-radius:5px;background:#f5f4ef;box-shadow:0 2px 3px rgb(41 49 35 / 5%)}
body[data-experience="customer"] .position-screws{position:absolute;inset:0 6px;z-index:0;display:grid;grid-template-columns:repeat(var(--position-count),minmax(0,1fr));gap:4px;pointer-events:none}
body[data-experience="customer"] .position-screw-pair{position:relative;min-width:0;pointer-events:none}
body[data-experience="customer"] .position-screw{position:absolute;left:50%;height:4.6%;min-height:3px;max-height:7px;aspect-ratio:1;width:auto;transform:translateX(-50%);border:1px solid #a6ad9f;border-radius:50%;background:#ecece5;pointer-events:none}
body[data-experience="customer"] .position-screw[data-position-screw="top"]{top:6px}
body[data-experience="customer"] .position-screw[data-position-screw="bottom"]{bottom:6px}
body[data-experience="customer"] .position-screw:after{content:"";position:absolute;left:16%;right:16%;top:50%;height:1px;background:#8e9885;transform:translateY(-50%) rotate(-35deg);pointer-events:none}
body[data-experience="customer"] .position-areas{position:absolute;inset:18px 6px;z-index:1;display:grid;grid-template-columns:repeat(var(--position-count),minmax(0,1fr));gap:4px}
body[data-experience="customer"] .position-map .position-area{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:44px;padding:5px 2px;border:1px solid transparent;border-radius:3px;background:transparent;color:#7a8173;box-shadow:none}
body[data-experience="customer"] .position-map .position-area:hover{background:#edf0e8}
body[data-experience="customer"] .position-map .position-area[aria-pressed=true]{background:#dfe9d9;border-color:#768b6b;color:#3c5834;box-shadow:inset 0 0 0 1px #768b6b}
body[data-experience="customer"] .position-glyph{display:flex;align-items:center;justify-content:center;width:40px;max-width:100%;pointer-events:none}
body[data-experience="customer"] .position-glyph svg{display:block;width:100%;height:auto;max-height:62px}
body[data-experience="customer"] .position-numbers{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:0;width:100%;max-width:calc(var(--position-count)*50px - 6px)}
body[data-experience="customer"] .position-map .position-number{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:5px;border:1px solid #d5dbd0;border-radius:4px;background:#fff;font-size:16px;font-weight:400;line-height:1;color:#65705f}
body[data-experience="customer"] .position-map .position-number.is-complete::after{content:"";position:absolute;right:5px;top:4px;width:5px;height:9px;border-right:2px solid var(--selection-check);border-bottom:2px solid var(--selection-check);transform:rotate(45deg);pointer-events:none}
body[data-experience="customer"] .position-map .position-number[aria-pressed=true]{border-color:#768b6b;background:#dfe9d9;color:#3c5834;box-shadow:inset 0 0 0 1px #768b6b}
body[data-experience="customer"] .position-active-caption{margin:0;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
body[data-experience="customer"] .gang-preview{display:flex;align-items:center;justify-content:center;width:100%;line-height:0;text-align:center}
body[data-experience="customer"] .swatch-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body[data-experience="customer"] .swatch{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:90px;min-width:0;max-width:none;padding:12px 5px 10px;text-align:center;font-size:16px;line-height:1.35;border-color:#d9ded5;border-radius:4px;background:#fff;overflow-wrap:anywhere}
body[data-experience="customer"] .swatch:before{width:34px;height:34px;flex:0 0 34px;box-shadow:inset 0 0 0 1px rgb(0 0 0 / 13%)}
body[data-experience="customer"] .swatch[aria-pressed=true]{background:var(--selected);border-color:#505c4d;box-shadow:inset 0 0 0 1px #505c4d}

body[data-experience="customer"] .build-summary{font-size:13px;line-height:1.6}
body[data-experience="customer"] .build-summary table{font-size:12px}
body[data-experience="customer"] .build-summary th,body[data-experience="customer"] .build-summary td{padding:8px 4px}
body[data-experience="customer"] .build-summary .summary-edit{font-size:13px;color:#65707c;background:transparent;border:0;min-height:44px;min-width:44px;padding:0;text-align:right;text-decoration:underline;text-underline-offset:3px;line-height:1.4}
body[data-experience="customer"] .summary-row{display:grid;grid-template-columns:88px minmax(0,1fr) 44px;align-items:center;column-gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
body[data-experience="customer"] .summary-row:first-child{padding-top:0}
body[data-experience="customer"] .summary-row>strong{font-weight:400;color:var(--ink)}
body[data-experience="customer"] .summary-value{color:var(--muted);overflow-wrap:anywhere}
body[data-experience="customer"] .review-toolbar{display:flex;justify-content:flex-start;margin:-5px 0 9px}
body[data-experience="customer"] .review-back{min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}
body[data-experience="customer"] .customer-purchase{display:grid;grid-template-columns:144px minmax(0,1fr);align-items:center;gap:12px;margin-top:20px}
body[data-experience="customer"] .customer-purchase .ps-main-quantity{display:flex;align-items:center;width:144px;height:48px;margin:0;padding:0;border:0;border-radius:0;background:transparent}
body[data-experience="customer"] .customer-purchase .ps-main-qty-step{position:relative;display:block;flex:0 0 48px;width:48px;min-width:48px;height:48px;min-height:48px;margin:0;padding:0;border:1px solid #e3e4e7;border-radius:0;background:transparent;color:#1c1c1c;font-family:Jost,sans-serif;font-size:14px;font-weight:500;line-height:1;letter-spacing:1px}
body[data-experience="customer"] .customer-purchase .ps-main-qty-minus{border-right:0}
body[data-experience="customer"] .customer-purchase .ps-main-qty-plus{border-left:0}
body[data-experience="customer"] .customer-purchase .ps-main-qty-step:before,body[data-experience="customer"] .customer-purchase .ps-main-qty-plus:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:#1c1c1c;transform:translate(-50%,-50%)}
body[data-experience="customer"] .customer-purchase .ps-main-qty-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
body[data-experience="customer"] .customer-purchase input.qty{display:block;flex:0 0 48px;width:48px;min-width:48px;height:48px;min-height:48px;margin:0;padding:0;border:1px solid #e3e4e7;border-radius:0;background:transparent;color:#313d4d;font:400 18px Arial,sans-serif;line-height:48px;text-align:center;appearance:textfield;-moz-appearance:textfield;box-shadow:none}
body[data-experience="customer"] .customer-purchase input.qty::-webkit-inner-spin-button,body[data-experience="customer"] .customer-purchase input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body[data-experience="customer"] .customer-purchase .single_add_to_cart_button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:48px;min-height:48px;margin:0;padding:0 24px;border:1px solid #1c1c1c;border-radius:0;background:#1c1c1c;color:#fff;font-family:Jost,sans-serif;font-size:14px;font-weight:500;line-height:1.3;letter-spacing:1px;text-transform:uppercase;box-shadow:none}
body[data-experience="customer"] .customer-purchase .single_add_to_cart_button:hover:not(:disabled){background:#333;border-color:#333}
body[data-experience="customer"] .customer-purchase .ps-main-qty-step:hover:not(:disabled){background:#f6f6f6;border-color:#e3e4e7}
body[data-experience="customer"] .customer-cart-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:10px}
body[data-experience="customer"] .customer-files{position:relative}
body[data-experience="customer"] .customer-files>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
body[data-experience="customer"] .customer-files>summary::-webkit-details-marker{display:none}
body[data-experience="customer"] .customer-files .save-actions{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:210px;margin:0;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fff;box-shadow:0 5px 20px rgb(0 0 0 / 7%)}
body[data-experience="customer"] .save-actions{display:flex;flex-direction:column;gap:8px;margin-top:20px}
body[data-experience="customer"] .save-actions .button{font-size:14px;min-height:46px}
body[data-experience="customer"] .step-body>.help-text{font-size:12px}
body[data-experience="customer"] .studio-footer{padding-top:20px;font-size:11px}
@media(min-width:1500px){body[data-experience="customer"][data-layout] .workspace-grid{grid-template-columns:minmax(0,1fr) 420px!important;gap:24px}body[data-experience="customer"] .step-body{padding:20px 24px 23px}body[data-experience="customer"] .customer-step>summary{padding-left:24px;padding-right:24px}}
/* Automatic tablet and touch layouts; the desktop and studio stay in their shared layout. */
@media(max-width:1179px){
body[data-experience="customer"]{--preview-control-height:36px}
body[data-experience="customer"] .app-shell{padding:20px max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
body[data-experience="customer"] .main-header{gap:16px;padding-bottom:10px}
body[data-experience="customer"] .brand-block{min-width:0}
body[data-experience="customer"] .main-header h1{font-size:23px;line-height:1.25;max-width:none}
body[data-experience="customer"] .subtitle{font-size:13px;max-width:none}
body[data-experience="customer"] .header-actions{flex:none;gap:12px}
body[data-experience="customer"] .header-actions .button{min-height:44px;min-width:44px}
body[data-experience="customer"][data-layout] .workspace-grid{grid-template-columns:minmax(320px,1fr) minmax(356px,.95fr)!important;grid-template-areas:"stage build"!important;gap:12px}
body[data-experience="customer"][data-layout] .stage-panel{top:max(12px,env(safe-area-inset-top,0px));border-radius:7px;max-height:calc(calc(var(--psc-vh, 1vh) * 100) - 24px);max-height:calc(calc(var(--psc-vh, 1vh) * 100) - 24px)}
body[data-experience="customer"][data-layout] .stage-panel .viewport{height:clamp(300px,calc(calc(var(--psc-vh, 1vh) * 100) - 240px),800px);height:clamp(300px,calc(calc(var(--psc-vh, 1vh) * 100) - 240px),800px)}
body[data-experience="customer"] .viewport-hint{display:none}
body[data-experience="customer"] .build-panel>.panel-heading{padding:12px 16px}
body[data-experience="customer"] .build-panel>.panel-heading h2{font-size:18px}
body[data-experience="customer"] .build-panel>.panel-heading .section-kicker{display:none}
body[data-experience="customer"] .customer-step{scroll-margin-top:20px}
body[data-experience="customer"] .customer-step>summary{padding:10px 16px;gap:10px;min-height:64px}
body[data-experience="customer"] .step-body{padding:18px 16px 20px}
body[data-experience="customer"] input,body[data-experience="customer"] select,body[data-experience="customer"] textarea{font-size:16px}
body[data-experience="customer"] .customer-purchase input.qty{font-size:18px}
body[data-experience="customer"] .position-plate[data-position-gang="5"],body[data-experience="customer"] .position-plate[data-position-gang="6"]{width:100%}
body[data-experience="customer"] .position-plate[data-position-gang="5"] .position-areas,body[data-experience="customer"] .position-plate[data-position-gang="6"] .position-areas{left:0;right:0;gap:0}
body[data-experience="customer"] .position-plate[data-position-gang="5"] .position-screws,body[data-experience="customer"] .position-plate[data-position-gang="6"] .position-screws{left:0;right:0;gap:0}
body[data-experience="customer"] .position-map .position-number{min-height:44px;min-width:44px}
body[data-experience="customer"] .customer-files .save-actions{min-width:220px;max-width:calc(100vw - 32px)}
}
@media(max-width:767px){
body[data-experience="customer"]{--responsive-stage-controls:45px;--responsive-preview-height:clamp(173px,calc(calc(var(--psc-vh, 1vh) * 48.6) - 129.6px),378px);--responsive-stage-height:calc(var(--responsive-preview-height) + var(--responsive-stage-controls) + 2px)}
@supports(height:calc(var(--psc-vh, 1vh) * 1)){body[data-experience="customer"]{--responsive-preview-height:clamp(173px,calc(calc(var(--psc-vh, 1vh) * 48.6) - 129.6px),378px)}}
body[data-experience="customer"] .app-shell{padding:14px max(10px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}
body[data-experience="customer"] .main-header{align-items:center;flex-wrap:nowrap;gap:12px;padding-bottom:8px}
body[data-experience="customer"] .brand-block{flex:1;min-width:0}
body[data-experience="customer"] .main-header h1{font-size:19px;line-height:1.2;max-width:360px;letter-spacing:-.3px;overflow-wrap:normal}
body[data-experience="customer"] .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:4px}
body[data-experience="customer"] .subtitle{display:none}
body[data-experience="customer"] .header-actions{gap:8px;margin-left:0}
body[data-experience="customer"] .header-actions .button{font-size:0;min-width:44px;min-height:44px;padding:8px}
body[data-experience="customer"] .header-actions .button:after{content:"↺";font-size:21px;line-height:1}
body[data-experience="customer"] .customer-files>summary{min-height:44px;font-size:12px;white-space:nowrap}

body[data-experience="customer"][data-layout] .workspace-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"stage" "build"!important;gap:0}
body[data-experience="customer"][data-layout] .stage-panel:not(.is-expanded){border-radius:5px 5px 0 0;box-shadow:none}
body[data-experience="customer"][data-layout] .build-panel{border-top:0;border-radius:0 0 5px 5px}
body[data-experience="customer"][data-layout] .stage-panel{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;max-height:none;border-radius:5px;box-shadow:0 5px 12px rgb(40 49 38 / 6%)}
body[data-experience="customer"][data-layout] .stage-panel .viewport{height:var(--responsive-preview-height);min-height:0;max-height:none}
body[data-experience="customer"] .customer-step{scroll-margin-top:calc(var(--responsive-stage-height) + env(safe-area-inset-top,0px) + 12px)}
body[data-experience="customer"] .customer-step>summary{padding:10px 16px;gap:10px;min-height:64px}
body[data-experience="customer"] .step-title{font-size:16px}
body[data-experience="customer"] .step-selection{font-size:12px;line-height:1.45}
body[data-experience="customer"] .step-body{padding:17px 16px 20px}
body[data-experience="customer"] .step-intro{font-size:14px;line-height:1.5;margin-bottom:16px}
body[data-experience="customer"] .step-actions{margin-top:20px}
body[data-experience="customer"] .step-actions .button-primary{font-size:14px;min-height:46px}
body[data-experience="customer"] .module-card{min-height:128px;padding:14px 12px 24px}
body[data-experience="customer"] .module-variant{font-size:14px;min-height:46px;padding:11px}
body[data-experience="customer"] .module-variants{padding:12px}
body[data-experience="customer"] .module-variant-heading{font-size:14px}
body[data-experience="customer"] .gang-cards{gap:6px}
body[data-experience="customer"] .gang-cards button{min-height:84px;min-width:44px;padding:10px 3px}
body[data-experience="customer"] .gang-cards svg{width:44px;max-width:100%;height:29px}
body[data-experience="customer"] .gang-cards .gang-more{min-height:84px}
body[data-experience="customer"] .extended-gang-options{max-width:calc(40% - 4px)}
body[data-experience="customer"] .swatch{min-height:92px;font-size:15px}
body[data-experience="customer"] .swatch:before{width:34px;height:34px;flex-basis:34px}
body[data-experience="customer"] .summary-row{grid-template-columns:75px minmax(0,1fr) 44px;column-gap:8px;font-size:14px}
body[data-experience="customer"] .customer-purchase{grid-template-columns:132px minmax(0,1fr);gap:8px;margin-top:18px}
body[data-experience="customer"] .customer-purchase .ps-main-quantity{width:132px}
body[data-experience="customer"] .customer-purchase .ps-main-qty-step,body[data-experience="customer"] .customer-purchase input.qty{flex-basis:44px;width:44px;min-width:44px}
body[data-experience="customer"] .customer-purchase .single_add_to_cart_button{font-size:13px;padding:0 10px;letter-spacing:.7px}
body[data-experience="customer"] .customer-files .save-actions{max-width:calc(100vw - 32px)}
}
/* Very short screens can scroll the preview away, leaving the choices fully reachable. */
@media(max-width:559px) and (max-height:540px){
body[data-experience="customer"][data-layout] .stage-panel{position:relative;top:auto}
body[data-experience="customer"] .customer-step{scroll-margin-top:12px}
}
/* A landscape phone uses the same side-by-side relationship as a compact tablet. */
@media(min-width:560px) and (max-width:1024px) and (max-height:540px){
body[data-experience="customer"] .app-shell{padding:10px max(10px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}
body[data-experience="customer"] .main-header{padding-bottom:8px}
body[data-experience="customer"] .main-header h1{font-size:20px}
body[data-experience="customer"] .subtitle{display:none}
body[data-experience="customer"][data-layout] .workspace-grid{grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr)!important;grid-template-areas:"stage build"!important;gap:12px}
body[data-experience="customer"][data-layout] .stage-panel{position:sticky;top:max(8px,env(safe-area-inset-top,0px));max-height:calc(calc(var(--psc-vh, 1vh) * 100) - 16px);max-height:calc(calc(var(--psc-vh, 1vh) * 100) - 16px)}
body[data-experience="customer"][data-layout] .stage-panel .viewport{height:calc(calc(var(--psc-vh, 1vh) * 100) - 116px);height:calc(calc(var(--psc-vh, 1vh) * 100) - 116px);min-height:0}
body[data-experience="customer"] .customer-step{scroll-margin-top:12px}
body[data-experience="customer"] .step-body{padding-left:16px;padding-right:16px}
}

@media(min-width:560px) and (max-width:599px) and (max-height:540px){
body[data-experience="customer"][data-layout] .stage-panel .viewport{height:calc(calc(var(--psc-vh, 1vh) * 100) - 168px);height:calc(calc(var(--psc-vh, 1vh) * 100) - 168px)}
}
body[data-experience="customer"] .hint-touch{display:none}
@media(pointer:coarse){body[data-experience="customer"]{--preview-control-height:36px}body[data-experience="customer"] .hint-mouse{display:none}body[data-experience="customer"] .hint-touch{display:inline}}
body[data-experience="customer"].preview-expanded{overflow:hidden;overscroll-behavior:none}
body[data-experience="customer"][data-layout] .stage-panel.is-expanded{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;width:100%;height:calc(var(--psc-vh, 1vh) * 100);height:calc(var(--psc-vh, 1vh) * 100);min-height:0;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:0;background:#e9eae6}
body[data-experience="customer"][data-layout] .stage-panel.is-expanded .viewport{flex:1 1 0;height:auto;min-height:0;max-height:none;width:100%}
body[data-experience="customer"] .stage-panel.is-expanded :is(#expand-preview,#reset-build){display:none}
body[data-experience="customer"] .stage-panel.is-expanded .viewport-hint{display:flex;bottom:12px;font-size:11px;gap:12px}
body[data-experience="customer"] .stage-panel.is-expanded .viewport-hint span+span:before{margin-right:12px}
/* Persistent customer controls complete their transitions between choices. */
body[data-experience="customer"] :is(.swatch,.gang-card,.gang-more,.position-area,.position-number,.module-card,.module-variant,.view-options button){transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
body[data-experience="customer"] :is(.module-card-chevron,.step-chevron){transition:transform .25s cubic-bezier(.22,.61,.36,1)}
body[data-experience="customer"] .position-plate{transition:width .38s cubic-bezier(.22,.61,.36,1),aspect-ratio .38s ease}

@media(prefers-reduced-motion:reduce){body[data-experience="customer"] .module-variants{animation:none}body[data-experience="customer"] :is(.swatch,.gang-card,.gang-more,.position-area,.position-number,.module-card,.module-variant,.view-options button,.module-card-chevron,.step-chevron,.position-plate){transition:none}}


/* A single compact control row below the unchanged model viewport. */
body[data-experience="customer"][data-layout] .stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:4px;flex:none;min-height:0;height:auto;margin:0;padding:4px 6px;border-top:1px solid var(--line);background:var(--page)}
body[data-experience="customer"] .stage-toolbar .view-options{display:flex;justify-content:center;flex:0 1 188px;flex-wrap:nowrap;gap:2px;min-width:0;width:auto}
body[data-experience="customer"] .stage-toolbar .view-options button,body[data-experience="customer"] .stage-toolbar>.button{display:inline-flex;align-items:center;justify-content:center;height:var(--preview-control-height);min-height:var(--preview-control-height);padding:5px 4px;border:1px solid #cdd1cd;border-radius:5px;background:#fff;font-size:11px;line-height:1.2;white-space:nowrap}
body[data-experience="customer"] .stage-toolbar .view-options button{flex:1;min-width:0;color:#626d65}
body[data-experience="customer"] .stage-toolbar .view-options button[aria-pressed=true]{background:#edf0e9;border-color:#879481;color:#333e35}
body[data-experience="customer"] .stage-toolbar>.zoom-tools{flex:none;display:flex;height:var(--preview-control-height);background:#fff;border:1px solid #cdd1cd;border-radius:5px}
body[data-experience="customer"] .stage-toolbar .zoom-tools button{height:calc(var(--preview-control-height) - 2px);min-height:calc(var(--preview-control-height) - 2px);min-width:26px;padding:4px 3px;line-height:1.2}
body[data-experience="customer"] .stage-toolbar #fit-view{min-width:40px;padding:4px 3px;font-size:10px}
body[data-experience="customer"] .stage-toolbar>#scene-view{flex:none;gap:4px;min-width:60px;margin:0;padding:5px 6px;border:1px solid #bfcfbe;background:#f5faf3;color:#5d795b;font-size:12px}
body[data-experience="customer"] .stage-toolbar>#scene-view:hover:not(:disabled){border-color:#9db79a;background:#ecf5e8}
body[data-experience="customer"] .stage-toolbar>#scene-view svg{width:18px;height:18px;pointer-events:none}
body[data-experience="customer"] .build-panel>.panel-heading{gap:8px}
body[data-experience="customer"] .build-panel>.panel-heading>div{flex:1;min-width:0}
body[data-experience="customer"] .build-panel>.panel-heading #reset-build{flex:none;min-width:56px;min-height:36px;padding:5px 9px;border:1px solid #e2b9b7;background:#fffafa;color:#8b5c59;font-size:12px}
body[data-experience="customer"] .build-panel>.panel-heading #reset-build:hover{border-color:#ca9592;background:#fff4f3}
body[data-experience="customer"][data-layout] .stage-panel.is-expanded .stage-toolbar{padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}
@container ps-preview (max-width:339px){body[data-experience="customer"] .stage-toolbar .view-options button{font-size:10px;padding:5px 2px}body[data-experience="customer"] .stage-toolbar>#scene-view{font-size:11px;min-width:56px;padding:5px 5px;gap:3px}}
@container ps-preview (max-width:279px){body[data-experience="customer"][data-layout] .stage-toolbar{overflow-x:auto;justify-content:flex-start;overscroll-behavior-x:contain;scrollbar-width:thin}body[data-experience="customer"] .stage-toolbar .view-options{flex:0 0 120px}}
@media(min-width:560px) and (max-width:1024px) and (max-height:540px){body[data-experience="customer"][data-layout] .stage-panel:not(.is-expanded) .viewport{flex:1 1 auto}}

/* Final-review actions are a separate bar after every summary row. */
body[data-experience="customer"] .review-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:12px 16px;border-top:1px solid var(--line);background:#fafaf8}
body[data-experience="customer"] .review-actions>.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:0;margin:0;padding:8px 10px;font-size:13px;line-height:1.25;white-space:nowrap}
body[data-experience="customer"] .review-actions>#capture svg{width:17px;height:17px;flex:none}
body[data-experience="customer"] .review-actions>#capture{background:#f5f8f2;border-color:#c8d1c2;color:#455641}
body[data-experience="customer"] .review-actions>#capture:hover:not(:disabled){background:#eaf0e5;border-color:#aab9a1}
@media(max-width:359px){body[data-experience="customer"] .review-actions{padding:10px 8px;gap:6px}body[data-experience="customer"] .review-actions>.button{font-size:12px;padding:8px 8px;gap:5px}}

/* Original fullscreen controls overlay the model; only their icons are painted. */
body[data-experience="customer"] .viewport>:is(.preview-expand,.preview-close){position:absolute;top:6px;right:6px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:5px;background:transparent;box-shadow:none;color:rgb(65 75 82 / 76%);line-height:1;touch-action:manipulation}
body[data-experience="customer"] .viewport>:is(.preview-expand,.preview-close):hover{background:transparent;color:rgb(48 58 65 / 96%)}
body[data-experience="customer"] .viewport>:is(.preview-expand,.preview-close) svg{width:20px;height:20px;pointer-events:none;filter:drop-shadow(0 1px 1px rgb(255 255 255 / 65%))}

/* One lightweight loading ring, centered without reserving layout space. */
.preview-loader{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#e6e6e6;pointer-events:none;opacity:1;visibility:visible;transition:opacity .18s ease,visibility .18s}
.preview-loader-ring{display:block;width:34px;height:34px;box-sizing:border-box;border:2px solid rgba(66,76,67,.16);border-top-color:#424c43;border-radius:50%;animation:preview-loading .8s linear infinite}
.preview-loader.is-ready{opacity:0;visibility:hidden}
.preview-loader.is-ready .preview-loader-ring{animation:none}
@keyframes preview-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.preview-loader{transition:none}.preview-loader-ring{animation:none}}

/* The narrow review reuses the mounted preview; wide review remains in the choices pane. */
#configurator-title:focus{outline:none}
@media(max-width:559px),(min-width:560px) and (max-width:767px) and (min-height:541px){
body[data-experience="customer"].is-reviewing .main-header{max-width:980px;margin:auto;align-items:center;padding-bottom:8px}
body[data-experience="customer"].is-reviewing .main-header h1{font-size:24px;line-height:1.25}
body[data-experience="customer"].is-reviewing .main-header .subtitle{display:none}


body[data-experience="customer"][data-layout].is-reviewing .workspace-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"stage" "build"!important;max-width:980px;margin:0 auto;gap:0}
body[data-experience="customer"][data-layout].is-reviewing .stage-panel:not(.is-expanded){position:relative;top:0;max-height:none;border-radius:7px 7px 0 0;transform:none;box-shadow:none}
body[data-experience="customer"][data-layout].is-reviewing .stage-panel:not(.is-expanded) .viewport{height:clamp(260px,calc(var(--psc-vh,1vh) * 36),400px);min-height:0;max-height:none}
body[data-experience="customer"][data-layout].is-reviewing .build-panel{border-top:0;border-radius:0 0 7px 7px}
body[data-experience="customer"].is-reviewing .build-panel>.panel-heading{padding:16px 20px 12px}
}
body[data-experience="customer"].is-reviewing .build-panel .section-kicker,body[data-experience="customer"].is-reviewing .customer-step:not(#customer-step-review),body[data-experience="customer"].is-reviewing #customer-step-review>summary{display:none}
body[data-experience="customer"].is-reviewing #customer-step-review{border:0}
body[data-experience="customer"].is-reviewing #customer-step-review>.step-body{padding:12px 20px 20px}
body[data-experience="customer"].is-reviewing .review-toolbar{justify-content:flex-end;margin:-6px 0 2px}
body[data-experience="customer"].is-reviewing .summary-row:last-child{border-bottom:0}
@media(max-width:559px),(min-width:560px) and (max-width:767px) and (min-height:541px){body[data-experience="customer"].is-reviewing .main-header{padding-bottom:6px}}
@media(max-width:559px),(min-width:560px) and (max-width:767px) and (min-height:541px){
 body[data-experience="customer"].is-reviewing .main-header{gap:12px;padding-bottom:6px}
 body[data-experience="customer"].is-reviewing .main-header .brand-block{flex:1;min-width:0;text-align:center}
 body[data-experience="customer"].is-reviewing .main-header h1{font-size:19px;line-height:1.2;letter-spacing:-.3px}
 body[data-experience="customer"][data-layout].is-reviewing .stage-panel:not(.is-expanded) .viewport{height:var(--responsive-preview-height)}
 body[data-experience="customer"].is-reviewing .build-panel>.panel-heading{padding:8px 16px 4px}
 body[data-experience="customer"].is-reviewing #customer-step-review>.step-body{padding:5px 16px 8px}
 body[data-experience="customer"].is-reviewing .summary-row{padding:3px 0;grid-template-columns:66px minmax(0,1fr) 44px;font-size:13px;line-height:1.4}
}


/* A stable two-column shell lets only the existing choices body scroll. */
@media(min-width:768px),(min-width:560px) and (max-height:540px){
 body[data-experience="customer"][data-layout] .build-panel{display:flex;flex-direction:column;height:var(--psc-pane-height,520px);max-height:var(--psc-pane-height,520px);overflow:hidden}
 body[data-experience="customer"] .build-panel>.panel-heading{flex:none}
 body[data-experience="customer"][data-layout] .build-panel>.panel-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;overflow-anchor:none}
 body[data-experience="customer"] #review-actions{flex:none}
 body[data-experience="customer"].is-reviewing .build-panel .section-kicker{display:block}
 body[data-experience="customer"].is-reviewing #customer-step-review>.step-body{padding:18px 20px 20px}
}

@media(min-width:768px) and (max-width:1179px),(min-width:560px) and (max-width:767px) and (max-height:540px){body[data-experience="customer"].is-reviewing .build-panel .section-kicker{display:none}}

/* The hosted document grows its iframe; transient child scrollbars must never resize the model. */
html.psc-embedded-root,body.psc-embedded{overflow:hidden}
