.xf3-style-gallery {padding:clamp(18px,3vw,38px);max-width:1600px;margin:auto}
.xf3-style-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.xf3-style-grid .xf3-style-tile {display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:start;background:rgba(255,255,255,.88);border:1px solid #aec9d1;border-radius:14px;color:inherit;font:inherit;cursor:pointer;min-width:0}
.xf3-style-tile img {width:100%;height:auto;aspect-ratio:5/3;object-fit:contain}
.xf3-style-tile strong {padding:14px 16px;font-size:1.05rem;line-height:1.35}
.xf3-style-tile:hover,.xf3-style-tile:focus-visible {outline:2px solid #20738d;outline-offset:2px}
.xf3-style-controls {padding:24px;border:1px solid #aec9d1;border-radius:16px;background:rgba(255,255,255,.9);min-width:0;grid-column:1/-1}
.xf3-style-controls h2 {margin:12px 0 20px}
.xf3-style-controls .xf3-style-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.xf3-style-controls label {display:grid;gap:6px;min-width:0;font-weight:600}
.xf3-style-controls select {max-width:100%;min-width:0;width:100%;padding:12px;border-radius:8px;color:inherit;border:1px solid #aec9d1;background:white;font:inherit}
.xf3-style-controls p {line-height:1.5;margin:16px 0 0}
.xf3-style-controls button {font:inherit;cursor:pointer}
.xf3-style-controls .xf3-style-back {border:0;background:none;text-decoration:underline;padding:0;color:inherit}
.lab-page[data-style-preview="true"] [data-xf3-form],.lab-page[data-style-preview="true"] .xf3v2__summary,
.lab-page[data-style-preview="true"] .lab-mobile-purchase,.lab-page[data-style-preview="true"] [data-mobile-add],
.lab-page[data-style-preview="true"] [data-empty-shelf-weight],.lab-page[data-style-preview="true"] [data-shelf-capacity-jump],
.lab-page[data-style-preview="true"] [data-save-preview-shelf],.lab-page[data-style-preview="true"] [data-saved-edit-action],
.lab-page[data-style-preview="true"] .lab-show-dimensions,.lab-page[data-style-preview="true"] [data-view-mode="svg"],
.lab-page[data-style-preview="true"] .xf3-preview-benefits {display:none!important}
.lab-page[data-style-preview="true"] .xf3v2__builder {display:block!important;min-width:0}
.xf3-style-controls[hidden] {display:none!important}
@media(max-width:1000px){.xf3-style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.xf3-style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.xf3-style-tile strong{padding:10px;font-size:.95rem}.xf3-style-controls{padding:18px}.xf3-style-controls .xf3-style-fields{grid-template-columns:1fr}}
/* Keep the existing viewport clear of values belonging to the regular shelf. */
body .lab-page[data-style-preview="true"] .lab-viewer-shell .xf3-weight-metrics,
body .lab-page[data-style-preview="true"] .lab-viewer-shell .xf3-preview-size {display:none!important}
body .lab-page[data-style-preview="true"] .lab-viewer-shell [data-lab-viewer] {background:transparent!important}
.xf3-style-gallery h1 {font-size:clamp(2rem,3vw,3rem);margin:0 0 22px}
@media(min-width:1001px){.xf3-style-tile img{aspect-ratio:2.2}}
.lab-page[data-style-preview="true"] .xf3-wall-options label:has(input:disabled) {opacity:.45;cursor:not-allowed}

/* One unframed collection scene within the existing Store tab. */
html.xform3-themed body .lab-page .xf3-store-info-main.xf3-style-gallery {max-width:none;padding:12px 0 0;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.xf3-style-gallery h1 {margin:0 20px 8px;font-size:clamp(1.5rem,2.5vw,2.3rem)}
.xf3-style-gallery .xf3-style-grid.xf3-showroom {display:block;position:relative;width:100%;height:clamp(580px,48vw,780px);min-width:0;border:0;background:none;isolation:isolate}
.xf3-showroom canvas {touch-action:pan-y;cursor:default}
.xf3-showroom[data-hovered-family] canvas {cursor:pointer}
html.xform3-themed body .lab-page .xf3-showroom-label {appearance:none;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:#f2fbff!important;font:600 clamp(11px,1.1vw,15px)/1.25 var(--store-body,Arial,sans-serif)!important;padding:5px 8px!important;min-height:0!important;width:max-content;max-width:170px;text-align:center;white-space:normal;cursor:pointer;text-shadow:none!important}
html.xform3-themed body .lab-page .xf3-showroom-label:is(:hover,:focus-visible,.is-highlighted) {color:#91eeff!important;text-decoration:underline;text-underline-offset:4px}
html.xform3-themed body .lab-page .xf3-showroom-label:focus-visible {outline:2px solid #007da5!important;outline-offset:3px}
.xf3-showroom-loading {padding:100px 20px;text-align:center}
.xf3-showroom-fallback {margin:10px;border:0;background:transparent;text-decoration:underline;cursor:pointer}
@media(max-width:700px){
 .xf3-style-gallery {overflow-x:auto;overscroll-behavior-x:contain}
 .xf3-style-gallery .xf3-style-grid.xf3-showroom {width:1000px;height:670px}
 html.xform3-themed body .lab-page .xf3-showroom-label {font-size:13px!important;max-width:145px;padding:8px!important}
 .xf3-showroom canvas {touch-action:pan-x pan-y}
}

html.xform3-themed body [data-store-style-gallery] {padding:12px 0 0!important;margin:0!important}
html.xform3-themed body [data-store-style-gallery] h1 {font-size:32px!important;line-height:1.2!important;margin:0 20px 8px!important;padding:0!important}

/* Interactive shared wall display. */
.xf3-style-gallery .xf3-style-grid.xf3-showroom {height:auto;width:100%;overflow:hidden}
.xf3-showroom-interactive {width:100%;min-width:0}
.xf3-showroom-toolbar {display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 16px 12px}
.xf3-showroom-walls,.xf3-showroom-tools {display:flex;flex-wrap:wrap;align-items:center;gap:6px}
html.xform3-themed body .lab-page .xf3-showroom-toolbar button {display:inline-flex;align-items:center;gap:7px;padding:8px 11px;min-height:38px;font-size:14px;line-height:1.2;border:1px solid #90b2c0;border-radius:8px;background:#edf6f8;color:#184454;cursor:pointer}
html.xform3-themed body .lab-page .xf3-showroom-toolbar button[aria-pressed=true] {background:#caedf7;border-color:#176b85;box-shadow:inset 0 -2px #176b85}
.xf3-wall-swatch {display:inline-block;width:16px;height:16px;border:1px solid #618090;border-radius:50%;flex-shrink:0}
.xf3-showroom-viewport {height:clamp(590px,46vw,780px);overflow:hidden;position:relative;touch-action:none}
.xf3-showroom-viewport canvas {touch-action:none!important;cursor:grab}
.xf3-showroom-viewport canvas:active {cursor:grabbing}
html.xform3-themed body .lab-page .xf3-showroom[data-wall=none] .xf3-showroom-label {color:#163e50!important;background:#edf5f0dc!important;border-radius:6px!important}
@media(max-width:700px){
 .xf3-style-gallery {overflow-x:hidden}
 .xf3-showroom-toolbar {padding:8px;gap:8px}
 html.xform3-themed body .lab-page .xf3-showroom-toolbar button {font-size:12px;padding:7px 9px}
 .xf3-showroom-viewport {height:430px}
 html.xform3-themed body .lab-page .xf3-showroom-label {font-size:12px!important;max-width:135px}
}

/* Keep the wall immediately beneath the Store tabs, with controls below. */
html.xform3-themed body [data-store-style-gallery] {padding:0!important}
html.xform3-themed body [data-store-style-gallery] > h1 {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.xf3-showroom-viewport {height:clamp(430px,calc(100dvh - 250px),700px)}
.xf3-showroom-toolbar {padding:8px 12px 12px}
@media(max-width:700px){.xf3-showroom-viewport {height:430px}}

/* Use the window width for the shelf collection instead of a small centered board. */
html.xform3-themed body .lab-page[data-store-finish] .xf3-store-info-main[data-store-style-gallery] {padding:0!important;margin:0!important;width:calc(100vw - 32px)!important;max-width:none!important;position:relative;left:50%;transform:translateX(-50%)}
.xf3-showroom-viewport {height:calc((100vw - 32px)*.59);min-height:620px}
html.xform3-themed body .lab-page .xf3-showroom-label {max-width:210px;font-size:clamp(12px,1vw,16px)!important}
@media(max-width:700px){
 html.xform3-themed body .lab-page[data-store-finish] .xf3-store-info-main[data-store-style-gallery] {width:calc(100vw - 16px)!important}
 .xf3-showroom-viewport {height:500px;min-height:0}
 html.xform3-themed body .lab-page .xf3-showroom-label {font-size:12px!important;max-width:135px}
}

/* Native wall-plane text has a keyboard-accessible companion. */
html.xform3-themed body .lab-page .xf3-showroom-label {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
html.xform3-themed body .lab-page .xf3-showroom-label:focus-visible {width:max-content!important;height:auto!important;max-width:160px!important;padding:6px!important;clip-path:none!important;white-space:normal!important;background:#173b4c!important;font-size:12px!important;z-index:20}
