/* Wickwood & Steel in-site collection showroom, artisan mockup and secure local artwork preview. */
.ws-showcase{width:min(1200px,96vw);max-width:1200px;height:min(92vh,900px);max-height:92vh;padding:0;border:1px solid #d8cdbb;background:#faf8f3;color:#233b31;box-shadow:0 26px 100px #071f18a6;overflow:auto}
.ws-showcase::backdrop{background:#0b1916d9;backdrop-filter:blur(4px)}
.ws-showcase *{box-sizing:border-box}
.ws-showcase-header{background:#18352b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:15px 23px;gap:15px;position:sticky;top:0;z-index:5}
.ws-showcase-header h2{font:29px Georgia,serif;margin:0}
.ws-showcase-close{border:1px solid #aa9c82;background:#faf8f3;color:#1b322b;border-radius:50%;width:40px;height:40px;font-size:24px;line-height:1;order:-1;flex:0 0 auto}
.ws-showcase-grid{display:grid;grid-template-columns:minmax(230px,32%) 1fr;min-height:480px}
.ws-designs{background:#f0ebe2;border-right:1px solid #dcd3c5;padding:22px;max-height:calc(92vh - 75px);overflow:auto}
.ws-designs h3{font:22px Georgia,serif;margin-bottom:9px}
.ws-designs p{font-size:12px;color:#647268}
.ws-design-item{background:#fff;border:1px solid #dbd3c8;padding:9px;margin:10px 0;width:100%;display:flex;align-items:center;text-align:left;gap:10px;color:#273c32;border-radius:9px}
.ws-design-item[aria-pressed=true]{border-color:#a87643;box-shadow:0 0 0 2px #d7b17d}
.ws-design-item img{width:64px;height:64px;object-fit:cover;background:#e4e0d8}
.ws-design-item .ws-fallback{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;background:#d4c6b3;font-size:23px}
.ws-design-item strong{font-size:12px;display:block;line-height:1.4}.ws-design-item small{font-size:10px;color:#607064}
.ws-custom-right{padding:24px 26px 36px;min-width:0}
.ws-custom-right h3{font:26px Georgia,serif;margin:0 0 9px}.ws-help{font-size:12px;color:#66786c;line-height:1.5}
.ws-preview-scene{height:345px;display:grid;place-items:center;perspective:800px;background:radial-gradient(circle at 50% 40%,#ffffff,#d9dbd2 80%);border:1px solid #ddd4c5;border-radius:14px;overflow:hidden;touch-action:pan-y;position:relative}
.ws-preview-object{--rx:-12deg;--ry:16deg;--zoom:1;--slideX:0px;--slideY:0px;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .12s ease;position:relative;display:grid;place-items:center;box-shadow:12px 25px 30px #3c3a2a49}
.ws-preview-object.ws-mirror{width:270px;height:270px;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#a87346 0 3px,#bc8e5a 5px 9px,#97643d 10px 14px);border:7px solid #795230;box-shadow:inset 0 0 0 8px #b48955,13px 20px 32px #32261c69}
.ws-preview-object.ws-mirror .ws-preview-art{width:78%;height:78%;border-radius:50%;border:5px solid #d2c4a7;background:radial-gradient(circle at 20% 10%,#ffffffb5,transparent 40%),linear-gradient(145deg,#373e43,#aaaeb6 53%,#2a3436);overflow:hidden;display:grid;place-items:center;box-shadow:inset 0 0 12px #142e32;transform:translateZ(7px)}
.ws-preview-object.ws-round{width:238px;height:238px;border-radius:50%;background:#444b4f;border:10px solid #353d40;box-shadow:inset 0 0 0 2px #707a81,13px 25px 30px #26303588}
.ws-preview-object.ws-square{width:250px;height:250px;border-radius:7px;background:#414b50;border:8px solid #394247;box-shadow:inset 0 0 0 2px #737a83,13px 25px 30px #26303588}
.ws-preview-object.ws-card{width:280px;height:176px;border-radius:10px;background:linear-gradient(135deg,#ddd,#5b747b 35%,#d5c5ac 65%,#b6bcb9);border:4px solid #aab6b7;box-shadow:inset 0 0 2px #fff,13px 25px 30px #26303588}
.ws-preview-object.ws-round .ws-preview-art{width:90%;height:90%;border-radius:50%}
.ws-preview-object.ws-square .ws-preview-art,.ws-preview-object.ws-card .ws-preview-art{width:92%;height:92%;border-radius:4px}
.ws-preview-art{display:grid;place-items:center;overflow:hidden;position:relative;transform:translateZ(5px)}
.ws-preview-art img{width:100%;height:100%;object-fit:contain;transform:translate(var(--slideX),var(--slideY)) scale(var(--zoom));pointer-events:none}
.ws-preview-placeholder{color:#faf8f3;text-align:center;font:18px Georgia,serif;text-shadow:0 1px 2px #1212128a;padding:20px}
.ws-preview-label{position:absolute;bottom:10px;left:14px;font-size:11px;color:#485f54;background:#fff9;padding:4px 8px;border-radius:6px}
.ws-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.ws-control-grid label,.ws-upload-label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:6px}
.ws-control-grid input[type=range]{width:100%;accent-color:#926536}
.ws-custom-right input[type=file]{font:12px inherit;width:100%;max-width:100%}
.ws-action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.ws-action-row button{background:#244a3a;color:#fff;border:0;padding:11px 14px;border-radius:6px;font-weight:700;font-size:12px}
.ws-action-row button.ws-quiet{border:1px solid #b9c4b8;color:#244a3a;background:transparent}
.ws-showcase-note{padding:12px 14px;border-left:3px solid #aa875b;background:#f0eadc;margin-top:16px;font-size:12px;line-height:1.55}
.ws-artwork-status{font-size:12px;min-height:20px;margin-top:8px}
@media(max-width:750px){.ws-showcase{width:100vw;max-height:95vh;height:95vh}.ws-showcase-grid{grid-template-columns:1fr}.ws-designs{border-right:0;border-bottom:1px solid #dcd3c5;max-height:none}.ws-design-list{display:flex;overflow:auto;gap:9px}.ws-design-item{flex:0 0 175px;margin:0}.ws-custom-right{padding:18px}.ws-preview-scene{height:285px}.ws-preview-object.ws-mirror{width:220px;height:220px}.ws-control-grid{grid-template-columns:1fr}}
.ws-selected-stock{margin-top:22px;border-top:1px solid #d6cabc;padding-top:16px}
.ws-selected-stock h3{font:20px Georgia,serif}
.ws-stock-large{width:100%;max-height:210px;object-fit:contain;background:#dfddd5;display:block}
.ws-stock-thumbs{display:flex;gap:5px;overflow-x:auto;padding:9px 0}
.ws-stock-thumbs button{padding:2px;background:#fff;border:2px solid transparent;min-width:53px;height:53px}
.ws-stock-thumbs button[aria-pressed=true]{border-color:#aa8355}
.ws-stock-thumbs img{height:100%;width:100%;object-fit:cover}
