.loader{position:absolute;inset:0;display:grid;place-content:center;gap:12px;background:#101212;color:#9da09e;text-align:center;opacity:1;transition:opacity .35s ease;z-index:9}.loader span{display:block;width:160px;height:1px;background:linear-gradient(90deg,var(--gold) var(--load,0),#3a3c3c 0)}.loader small{max-width:290px;font-size:9px;line-height:1.6;text-transform:uppercase;letter-spacing:.18em}.loader.is-loaded{opacity:0;pointer-events:none}.loader.is-error{color:#d5bd92}.loader.is-error span{display:none}
.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zone-grid button{padding:0;background:#171919;border:1px solid #333536;color:#eee;text-align:left;cursor:pointer;overflow:hidden;transition:.25s}.zone-grid img{display:block;width:100%;height:168px;object-fit:cover;object-position:center 32%;filter:saturate(.88) contrast(1.03);transition:.45s var(--ease)}.zone-grid button:hover img{transform:scale(1.025)}.zone-grid button>span{display:block;padding:13px}.zone-grid b,.zone-grid small{display:block}.zone-grid b{font:400 17px Playfair Display,serif}.zone-grid small{margin-top:4px;color:#858887;font-size:9px;line-height:1.4}
.dependent-option{margin-top:18px;padding-top:17px;border-top:1px solid #2e3030}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#0d0f0f;border:1px solid #343636;padding:3px}.segmented button{border:0;background:transparent;color:#929594;padding:11px 9px;font-size:10px;cursor:pointer}.segmented button.is-selected{color:#111;background:#efede7;border-color:transparent!important;box-shadow:none}.microcopy{color:#777b79;font-size:9px;line-height:1.55;margin:9px 0 0}.inline-reference{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;margin-top:10px;background:#181a1a}.inline-reference img{width:58px;height:47px;object-fit:cover}.inline-reference span{padding-right:8px;color:#8e9190;font-size:9px}
.finish-grid{grid-template-columns:repeat(3,1fr)}.finish-grid button{position:relative;min-width:0}.finish-grid i{height:32px;border:1px solid #ffffff18;box-shadow:inset 0 8px 15px #fff1,inset 0 -8px 14px #0003}.finish-grid em{display:block;margin-top:3px;color:#a7916c;font-size:7px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}
.choice-list{display:grid;gap:7px}.choice-list button{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:10px;background:#171919;border:1px solid #333536;color:#ddd;text-align:left;cursor:pointer}.choice-list b,.choice-list small{display:block}.choice-list b{font-size:10px}.choice-list small{color:#858887;font-size:9px;margin-top:3px}.frame{width:38px;height:44px;border:5px solid #090a0b;box-shadow:inset 0 0 0 1px #79818470;background:#1d2424}.frame.steel{border-color:#adb2b3;background:#283033}.frame.body{border-color:#777;background:#252a2a}.detail-reference img{object-position:center}
.shelf-cards{grid-template-columns:repeat(2,1fr)}.shelf-cards img{width:100%;height:96px;display:block;object-fit:cover;object-position:center 52%;background:#d9d5cd;margin-bottom:9px;transition:transform .35s var(--ease),filter .25s ease}.shelf-cards button{overflow:hidden}.shelf-cards button:hover img{transform:scale(1.025)}.shelf-cards .shelf-card-mix img{height:112px;object-position:center 48%}.wood-grid{grid-template-columns:repeat(3,1fr)}.wood-grid img{width:100%;height:54px;display:block;object-fit:cover;margin-bottom:7px;filter:saturate(.94) contrast(1.03);transition:filter .25s ease,transform .3s var(--ease)}.wood-grid button:hover img{transform:scale(1.025)}.wood-grid.is-oiled img{filter:saturate(1.14) brightness(.78) contrast(1.08)}.texture-note{margin:8px 0 0;color:#686c6a;font-size:8px;line-height:1.45}.texture-note a{color:#8d917e;text-underline-offset:2px}.wood-treatment{margin-top:16px;padding-top:15px;border-top:1px solid #2e3030}.trim-block{padding-bottom:6px}
.shelf-cards button:last-child{grid-column:1/-1}.signature-grid button{grid-template-columns:42px 1fr;align-items:center}.signature-grid button>span{display:block}.signature-grid button small{display:block;color:#858887;font-size:9px;margin-top:3px}.signature-hotspot{border:1px solid #c5ae83;background:#191710e8;color:#d5bd92;min-width:34px;height:18px;padding:1px 5px;font:500 7px Manrope,sans-serif;letter-spacing:.08em;box-shadow:0 2px 8px #0008;pointer-events:none}.signature-hotspot[hidden]{display:none}
.metal-swatches{flex-wrap:wrap;align-items:center}.metal-swatches .none-swatch{width:62px;height:35px;border-radius:2px;border:1px solid #565958;background:#1b1d1d;color:#b9bcba;box-shadow:none;font:500 9px Manrope,sans-serif;letter-spacing:.05em}.metal-swatches .none-swatch span{display:block}.metal-swatches .none-swatch.is-selected{border-color:var(--gold)!important;box-shadow:0 0 0 1px var(--gold)}
.trim-reference{margin-top:12px}.trim-reference img{object-position:center}
.logo-note{margin-top:16px;padding:12px;border-left:2px solid var(--gold);background:#191b1b;color:#999;font-size:10px;line-height:1.55}.view-controls button:disabled{opacity:.45;cursor:wait}
.visual-stage:after{content:none}.view-controls,.product-title,.selection-float,.stage-hint{z-index:3}.configuration-panel{scrollbar-width:thin;scrollbar-color:#454846 transparent}
.original-mark{position:absolute;left:22px;bottom:18px;z-index:3;color:#ffffff63;font-size:8px;font-weight:600;letter-spacing:.18em;pointer-events:none;user-select:none}
@media(max-width:1150px){.finish-grid{grid-template-columns:repeat(3,1fr)}.zone-grid img{height:140px}}
@media(max-width:760px){.zone-grid img{height:145px}.configuration-panel{min-height:670px}.original-mark{left:14px;bottom:12px;font-size:7px}}
@media(max-width:430px){.zone-grid{grid-template-columns:1fr 1fr}.zone-grid img{height:120px}.finish-grid{grid-template-columns:repeat(3,1fr)}.shelf-cards{grid-template-columns:1fr}.shelf-cards button:last-child{grid-column:auto}}


/* SWISSCAVE web identity: system typography, pure black and restrained CI gold. */
:root{--ink:#151515;--panel:#151515;--line:#353535;--muted:#a5a5a5;--paper:#f7f7f5;--gold:#b69758;font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;color:#f7f7f5;background:var(--ink)}
html,body,button,input,select,textarea{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif}
body{background:#151515;color:#f7f7f5}
.topbar{background:#151515;border-bottom-color:#303030}
.brand{font-size:14px;font-weight:600;letter-spacing:.24em}
.brand small{color:var(--gold);font-size:9px;font-weight:500;letter-spacing:.18em}
.step{color:#858585}
.step b{font-size:9px}
.step span{font-size:11px;letter-spacing:.02em}
.step.is-active{color:#fff}
.top-action{border-color:#555;color:#fff;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease}
.top-action:hover{background:#fff;border-color:#fff;color:#151515}
.visual-stage{background:radial-gradient(ellipse at 50% 62%,#292929 0,#1b1b1b 38%,#101010 74%)}
.product-title p,.kicker{color:var(--gold);font-size:9px;font-weight:500;letter-spacing:.2em}
.product-title h1{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-weight:300;letter-spacing:.015em}
.product-title span{color:#aaa;font-size:11px}
.configuration-panel{background:#151515;border-left-color:#303030}
.panel-head span{color:#8c8c8c;font-size:9px}
.config-page h2,dialog h2{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-weight:300;letter-spacing:.01em}
.lead{color:#aaa;font-size:12px}
.zone-grid b,.model-grid b{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-weight:400;letter-spacing:.01em}
.signature-grid i,.price-request strong{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-weight:400}
.signature-hotspot,.metal-swatches .none-swatch{font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif}
.zone-grid button,.choice-list button,.model-grid button,.finish-grid button,.wood-grid button,.shelf-cards button,.signature-grid button{background:#191919;border-color:#383838}
.zone-grid button:hover,.choice-list button:hover,.model-grid button:hover,.finish-grid button:hover,.wood-grid button:hover,.shelf-cards button:hover,.signature-grid button:hover{border-color:#666}
.is-selected{border-color:var(--gold)!important;box-shadow:inset 0 0 0 1px var(--gold)}
.option-block,.dependent-option,.wood-treatment{border-color:#303030}
.option-title b{font-weight:500;letter-spacing:.01em}
.option-title span{color:var(--gold)}
.finish-grid span,.wood-grid span{font-size:10px;color:#b5b5b5}
.shelf-cards b,.choice-list b,.signature-grid b{font-size:11px;font-weight:500}
.shelf-cards span,.choice-list small,.signature-grid button small{color:#929292;font-size:9px}
.segmented{background:#101010;border-color:#3a3a3a}
.segmented button{color:#aaa;font-size:10px}
.segmented button.is-selected,.view-controls button.is-active{background:#fff;color:#151515}
.microcopy{color:#888;font-size:9px}
.texture-note{color:#777;font-size:8px}
.view-controls{background:#151515d9;border-color:#454545}
.view-controls button{color:#b5b5b5;font-size:10px;letter-spacing:.02em}
.stage-hint{color:#818181}
.selection-float span{color:#858585}
.detail-reference,.inline-reference,.logo-note,.price-request,.dialog-summary{background:#1b1b1b}
.request-button,.panel-footer #next{background:var(--gold);border-color:var(--gold);color:#151515;font-weight:600;letter-spacing:.075em;text-transform:uppercase}
.panel-footer button{font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
dialog{background:#151515;border-color:#444}
.text-field input,.select-field select,.form-grid input,.form-grid textarea{background:#191919;border-color:#444}

/* Premium presentation for the optional 1-zone humidity system. */
.humidity-reference{grid-template-columns:102px 1fr;gap:0;min-height:96px;margin-top:12px;border:1px solid #353535;background:linear-gradient(120deg,#1d1d1d,#171717);overflow:hidden}
.humidity-visual{height:96px;overflow:hidden;background:#0e0e0e}
.humidity-reference .humidity-visual img{width:100%;height:100%;object-fit:cover;object-position:center 68%;transform:scale(1.18);transform-origin:50% 68%;filter:saturate(.88) contrast(1.07) brightness(.82)}
.humidity-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:12px 14px!important;color:#eee!important}
.humidity-copy em{color:var(--gold);font-size:8px;font-style:normal;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.humidity-copy b{font-size:11px;font-weight:500;letter-spacing:.015em}
.humidity-copy small{color:#929292;font-size:9px;line-height:1.45}
@media(max-width:430px){.humidity-reference{grid-template-columns:88px 1fr}.humidity-visual{height:102px}.humidity-copy{padding:10px 11px!important}}
