body .ensemble-product{display:grid;grid-template-columns:minmax(0,min(52%,calc(100dvh - 230px))) minmax(0,1fr);gap:50px;align-items:start;padding-top:20px;padding-bottom:40px}.ensemble-media{min-width:0;position:sticky;top:calc(var(--header,56px) + var(--contextbar-height,60px) + 20px)}.ensemble-panel{min-width:0}.ensemble-product .texture-preview{display:block;margin:0;padding:0;border:0}.ensemble-product .texture-preview-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;background:#f0efed}.ensemble-product .texture-preview-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.ensemble-product .texture-preview>div{padding:14px 0}.ensemble-product .texture-preview h3{font-family:Lora,Georgia,serif;font-size:26px;margin:6px 0}.ensemble-product .texture-downloads{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px}.ensemble-product .texture-preview .note{font-size:12px;margin-top:12px}.ensemble-product .product-material{display:none}.ensemble-product .product-summary{padding:0;min-width:0}.ensemble-product h1{font-family:Lora,Georgia,serif;font-size:42px;line-height:50px;font-weight:400;margin:0 0 20px}.ensemble-product .eyebrow{font-size:12px;margin:0 0 8px}.ensemble-palette h2{font:500 16px/26px Montserrat,Arial,sans-serif;border-bottom:1px solid var(--line);padding-bottom:10px;margin:0 0 14px}.ensemble-product .finish-selection{font-size:13px;color:var(--muted);margin:0 0 16px}.ensemble-product .ensemble-swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 12px;padding:4px;overflow:visible}.ensemble-swatches .finish-swatch{display:block;width:100%;min-width:0;background:transparent;border:0;padding:0;text-align:left;cursor:pointer}.ensemble-swatches .finish-swatch img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.ensemble-swatches .finish-swatch span{display:block;font:400 11px/16px Montserrat,Arial,sans-serif;margin-top:6px;overflow-wrap:anywhere}.ensemble-swatches .finish-swatch[aria-pressed=true] img{outline:2px solid var(--ink);outline-offset:3px}.ensemble-swatches .finish-swatch:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.ensemble-description{font-size:14px;line-height:24px;color:var(--muted);margin-top:24px}.ensemble-product [data-ensemble-code]{font-size:13px;overflow-wrap:anywhere}.ensemble-product [data-ensemble-formats]{font-size:14px}.ensemble-product [data-parquet-offer-slot]{margin:18px 0}.ensemble-product .product-offer-action{margin:0}.ensemble-product .product-offer-note{font-size:13px}.ensemble-product .texture-preview .eyebrow{display:none}
@media(max-width:1100px) and (min-width:761px){body .ensemble-product{grid-template-columns:1fr 1fr;gap:28px}.ensemble-product .ensemble-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){body .ensemble-product{display:flex;flex-direction:column;gap:24px}.ensemble-panel{order:0;width:100%}.ensemble-media{order:1;position:static;width:100%}.ensemble-product h1{font-size:32px;line-height:39px}.ensemble-product .ensemble-swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ensemble-description{display:none}.ensemble-product .texture-preview-image{max-height:65vh}.ensemble-product .texture-preview-image img{max-height:65vh}}
.ensemble-product .ensemble-swatches{max-width:600px}.ensemble-product .ensemble-swatches .finish-swatch{align-self:start}.ensemble-product .ensemble-swatches .finish-swatch img{height:auto;aspect-ratio:1}.ensemble-product .ensemble-swatches .finish-swatch span{min-height:32px}
@media(max-width:760px){.ensemble-product .ensemble-swatches{max-width:none}}
/* Three visible rows; remaining samples scroll within the palette. */
.ensemble-product .ensemble-swatches{max-height:420px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;align-content:start}
/* Match the established parquet sample size instead of shrinking six cells to fit. */
body .ensemble-product .ensemble-swatches{max-width:none;grid-template-columns:repeat(auto-fill,155px);gap:16px 14px;justify-content:start}

/* Keep the projects action beside the title and the palette directly below. */
.ensemble-product .ensemble-title-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-bottom:20px}.ensemble-product .ensemble-title-row h1{margin:0;min-width:0}.ensemble-product .ensemble-title-row>.text-link{flex:none;white-space:nowrap;margin:0}
/* Ensemble: original landscape image and a compact, viewport-aware sticky selection. */
@media(min-width:761px){
 body .ensemble-product{grid-template-columns:minmax(0,min(48%,max(320px,calc(150dvh - 758px)))) minmax(0,1fr);min-height:calc(100dvh - var(--header,56px) - var(--contextbar-height,60px) - 20px)}
 .ensemble-media{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:6px;align-items:baseline}
 .ensemble-product .texture-preview,.ensemble-product .texture-preview>div{display:contents}
 .ensemble-product .texture-preview-image{aspect-ratio:3 / 2;grid-column:1 / -1;grid-row:1}
 .ensemble-product .texture-preview h3{grid-column:1;grid-row:2;margin:6px 0 0}
 .ensemble-product .ensemble-media [data-texture-dimensions]{grid-column:2;grid-row:2;font-size:12px;line-height:20px;margin:0;text-align:right}
 .ensemble-product [data-ensemble-code]{grid-column:1 / -1;grid-row:3;margin:0;line-height:20px}
 .ensemble-product [data-ensemble-selected-formats]{grid-column:1 / -1;grid-row:4;margin:0;line-height:20px}
 .ensemble-product [data-parquet-offer-slot]{grid-column:1 / -1;grid-row:5;margin:8px 0}
 .ensemble-product .texture-downloads{grid-column:1 / -1;grid-row:6;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;font-size:12px;line-height:22px}
 .ensemble-product .texture-downloads>.text-link{margin:0;padding:4px 0;min-height:30px}
 .ensemble-product .texture-preview .note{grid-column:1 / -1;grid-row:7;margin:0;line-height:18px}
}
@media(min-width:761px) and (max-height:850px){.ensemble-media{max-height:calc(100dvh - var(--header,56px) - var(--contextbar-height,60px) - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable}}
.ensemble-product .ensemble-palette>h2{max-width:none;width:100%}

/* Both columns remain anchored; wheel browsing is contained by the palette. */
@media(min-width:761px){.ensemble-panel{position:sticky;top:calc(var(--header,56px) + var(--contextbar-height,60px) + 20px)}.ensemble-product{overflow-anchor:none}.ensemble-product .ensemble-swatches{max-height:min(619px,calc(100dvh - var(--header,56px) - var(--contextbar-height,60px) - 250px))!important}}

/* Ensemble metadata uses the shared small-text role. */
body .ensemble-product .ensemble-media .texture-downloads>.text-link,
body .ensemble-product .ensemble-media [data-texture-dimensions],
body .ensemble-product [data-ensemble-code],
body .ensemble-product [data-ensemble-selected-formats],
body .ensemble-product .product-offer-note,
body .ensemble-product .texture-preview .note,
body .ensemble-product .ensemble-description,
body .ensemble-product .ensemble-swatches .finish-swatch span{font:400 13px/20px var(--font-ui,Montserrat,Arial,sans-serif)!important}
@media(min-width:761px){
 body .ensemble-product .ensemble-media{align-content:start;row-gap:8px}
 body .ensemble-product .texture-preview h3{grid-column:1 / -1;margin:8px 0 0}
 body .ensemble-product [data-parquet-offer-slot]{margin:8px 0 0}
 body .ensemble-product .ensemble-media [data-texture-dimensions]{grid-column:1 / -1;grid-row:6;margin:16px 0 0;text-align:left}
 body .ensemble-product .texture-downloads{grid-row:7;margin:0;padding:0;gap:8px 24px}
 body .ensemble-product .texture-preview .note{grid-row:8;margin:0}
}

/* Continue document scrolling once the first/last palette row is reached. */
body .ensemble-product .ensemble-swatches{overscroll-behavior-y:auto}

/* Ensemble enlargement keeps the current card and selection underneath. */
body .ensemble-texture-viewer{padding:76px 24px 60px}
body .ensemble-texture-viewer[open]{grid-template-columns:minmax(0,1fr);gap:0}
body .ensemble-texture-viewer img{height:calc(100dvh - 136px);object-fit:contain}
body .ensemble-texture-viewer .lightbox-close{top:max(16px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));width:auto;min-width:44px;height:44px;padding:0 14px;border-radius:0;font:400 16px/24px var(--font-ui,Montserrat,Arial,sans-serif)}
body .ensemble-texture-viewer p{bottom:max(16px,env(safe-area-inset-bottom));margin:0;padding:0 24px;font:400 13px/20px var(--font-ui,Montserrat,Arial,sans-serif)}
@media(max-width:760px){
 body .ensemble-texture-viewer{padding:76px 12px 76px}
 body .ensemble-texture-viewer img{height:calc(100dvh - 152px)}
 body .ensemble-texture-viewer .lightbox-close{right:max(12px,env(safe-area-inset-right))}
 body .ensemble-texture-viewer p{padding:0 12px}
}
