#house-explorer{width:1120px;max-width:95vw;max-height:92dvh;padding:0;border:1px solid #bed1a5;border-radius:22px;background:#eff2e6;transform:none!important;opacity:1;transition:none!important;animation:none!important}#house-explorer::backdrop{background:#142013a8;backdrop-filter:blur(8px)}.explorer-head{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;background:#263421;color:#edf5df;position:sticky;top:0;z-index:3}.explorer-head .eyebrow{font-size:9px;color:#b0c496}.explorer-head h2{font-size:31px;margin:9px 0 0}.explorer-head>button{border:1px solid #6b8351;background:#405335;border-radius:50%;color:#e0f4c4;font-size:26px;width:39px;height:39px}.explorer-layout{display:grid;grid-template-columns:1.1fr 1fr}.zone-visual{padding:22px;background:#e2e9d7;min-width:0}.zone-photo{height:230px;position:relative;border-radius:13px;overflow:hidden;background:#31402b}.zone-photo img{width:100%;height:100%;object-fit:cover;will-change:transform}.zone-photo>span{position:absolute;bottom:14px;left:14px;background:#1f2e1bdd;color:#e9f5d9;padding:8px 12px;font-size:11px;border:1px solid #a2b58044;border-radius:7px}.sample-stage{position:relative;margin-top:16px;border:1px solid #c3d0b2;border-radius:13px;background:radial-gradient(ellipse,#f4f6ed,#d5e1c5);overflow:hidden}.sample-caption{display:block;padding:16px 18px 0;font:9px ui-monospace,monospace;color:#819768;letter-spacing:1px}.sample-camera{height:235px;display:grid;place-items:center;perspective:850px}.material-sample{position:relative;width:220px;height:145px;transform-style:preserve-3d;transform:rotateX(-12deg) rotateY(var(--sample-angle,-24deg));transition:transform 160ms ease;--texture:repeating-linear-gradient(0deg,transparent 0 46px,#aeb5a5 46px 49px),repeating-linear-gradient(90deg,#d9ddd0 0 72px,#adb5a2 72px 75px);--edge:#b0b9a3;--surface:#e4e8db}.sample-face{position:absolute;backface-visibility:hidden;border:1px solid #34442a25}.sample-face.front{inset:0;background:var(--texture);transform:translateZ(28px);box-shadow:0 22px 30px #35472925}.sample-face.side{left:220px;top:0;width:56px;height:145px;background:var(--edge);transform:translateZ(28px) rotateY(90deg);transform-origin:left center}.sample-face.top{left:0;top:0;width:220px;height:56px;background:var(--surface);transform:translateZ(28px) rotateX(-90deg);transform-origin:top center}.material-sample.timber{--texture:repeating-linear-gradient(90deg,#b78751 0 3px,#c79a64 3px 13px,#ac7e48 13px 14px,#d1ab77 14px 31px);--edge:#927044;--surface:#dec194}.material-sample.brick{--texture:repeating-linear-gradient(0deg,transparent 0 32px,#d9c7ac 32px 35px),repeating-linear-gradient(90deg,#b87550 0 66px,#d9c7ac 66px 70px);--edge:#985d3f;--surface:#ca9670}.material-sample.wool{--texture:repeating-linear-gradient(32deg,#c2b171 0 1px,#d5c68b 1px 4px,#b8aa6c 4px 5px);--edge:#a5985d;--surface:#ded2a3}.material-sample.metal{--texture:repeating-linear-gradient(90deg,#3d4947 0 14px,#6b7773 14px 19px,#34403d 19px 27px);--edge:#2d3935;--surface:#6b7770}.material-sample.tile{--texture:repeating-linear-gradient(0deg,transparent 0 35px,#28322e 35px 39px),repeating-linear-gradient(90deg,#414f48 0 25px,#64736b 25px 32px,#37443d 32px 43px);--edge:#28372c;--surface:#6f7c70}.material-sample.fasteners{--texture:repeating-linear-gradient(135deg,#809080 0 3px,#bec8b8 3px 6px,#e4e8dd 6px 23px);--edge:#889580;--surface:#dae0ce}.sample-controls{display:flex;align-items:center;gap:12px;padding:12px 17px;border-top:1px solid #c7d5b7}.sample-controls label{flex:1;font-size:10px;color:#6a8251}.sample-controls input{display:block;width:100%;accent-color:#719348;margin-top:8px}.sample-controls button{font-size:10px;border:1px solid #bdcfa7;background:#e9f0de;padding:9px;border-radius:7px;color:#536d39}.sample-note{font-size:10px;line-height:1.8;color:#73875f;margin:15px 5px 0}.zone-selection{padding:25px;min-width:0}.zone-selection>p:first-child{font-size:12px;line-height:1.8;color:#6f805f;margin:0 0 18px}#zone-products{display:grid;grid-template-columns:1fr 1fr;gap:9px}#zone-products>button{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid #cdd9be;background:#f8f9f1;border-radius:10px;padding:10px;color:#4a6038}#zone-products>button[aria-pressed=true]{border-color:#7c9f52;background:#dfecc8;box-shadow:inset 0 0 0 1px #93b568}#zone-products .material-image{width:44px;height:44px;flex-shrink:0}#zone-products>button>span:not(.material-image){font-size:10px;line-height:1.45}#zone-products small{display:block;font-size:10px;margin-top:5px;color:#718b51}#zone-products i{display:none}#zone-chosen{margin-top:23px;border-top:1px solid #cbd8bc;padding-top:20px}#zone-chosen .eyebrow{font-size:8px;color:#8a9d75}#zone-chosen h3{font-size:24px;font-weight:550;line-height:1.25;margin:12px 0}#zone-chosen>p{font-size:12px;color:#788b65}.zone-stock{font-size:11px;color:#6f8c50;margin:12px 0}#zone-chosen>strong{display:block;font-size:28px;font-weight:550}#zone-chosen>strong small{font-size:11px;color:#899d72}.zone-buy{display:flex;gap:15px;margin:18px 0;align-items:end}.zone-buy label{font-size:10px;color:#708b52;flex:0 0 80px}.zone-buy input{width:80px;border:1px solid #bed0a7;padding:12px 10px;border-radius:9px;background:#f6f9ed;display:block;margin-top:6px;color:#4c6636}.zone-buy .primary{flex:1;justify-content:center}.zone-selection #zone-status{font-size:12px;line-height:1.7;color:#587439;min-height:20px}@media(max-width:760px){#house-explorer{max-width:100%;width:100%;max-height:100dvh;height:100dvh;border-radius:0}.explorer-head{padding:20px}.explorer-head h2{font-size:27px}.explorer-layout{grid-template-columns:1fr}.zone-visual{padding:15px}.zone-photo{height:190px}.sample-camera{height:205px}.sample-caption{font-size:8px}.zone-selection{padding:22px 17px}.sample-note{font-size:9px}#zone-products>button{min-height:75px}#zone-products>button>span:not(.material-image){font-size:11px}#zone-chosen h3{font-size:25px}}

.sample-accessory{display:none;width:180px;height:180px}.sample-accessory .material-image{width:100%;height:100%}.sample-stage.is-accessory .material-sample{display:none}.sample-stage.is-accessory .sample-accessory{display:block}.sample-stage.is-accessory .sample-controls{visibility:hidden}

/* Six outward-facing planes keep the sample solid throughout a full turn. */
#house-explorer .material-sample{transform:rotateX(var(--sample-pitch,-12deg)) rotateY(var(--sample-angle,336deg))}
#house-explorer .sample-face{box-sizing:border-box;transform-origin:center}
#house-explorer .sample-face.back{inset:0;background:var(--texture);transform:rotateY(180deg) translateZ(28px)}
#house-explorer .sample-face.side,#house-explorer .sample-face.left{left:82px;top:0;width:56px;height:145px;background:var(--edge);transform:rotateY(90deg) translateZ(110px)}
#house-explorer .sample-face.left{transform:rotateY(-90deg) translateZ(110px)}
#house-explorer .sample-face.top,#house-explorer .sample-face.bottom{left:0;top:44.5px;width:220px;height:56px;background:var(--surface);transform:rotateX(90deg) translateZ(72.5px)}
#house-explorer .sample-face.bottom{transform:rotateX(-90deg) translateZ(72.5px);background:var(--edge)}
#house-explorer .sample-camera{cursor:grab;touch-action:none;user-select:none}
#house-explorer .sample-camera.is-dragging{cursor:grabbing}
#house-explorer .sample-camera.is-dragging .material-sample{transition:none}
#house-explorer .is-accessory .sample-camera{cursor:default;touch-action:auto}
#sample-degrees{font-variant-numeric:tabular-nums}
