/* Product-first photography and a quiet, compact purchase panel. */
body[data-mobile-ux]:has([data-product-layout]) { padding-bottom:0; }
[data-product-layout] { --product-rule:#c6c3bb; }
.compact-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:24px 0 20px; font-size:.8125rem; color:var(--muted); }
.compact-breadcrumb .catalogue-back { display:inline-flex; align-items:center; color:inherit; margin:0; padding:0; min-height:30px; font-size:inherit; text-decoration:none; }
.compact-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.compact-product-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:clamp(30px,5.5vw,80px); }
.compact-product-overview .photo-gallery { position:sticky; top:24px; min-width:0; margin:0; }
.compact-product-overview .gallery-images { background:#e6e3dc; }
.compact-product-summary { min-width:0; max-width:480px; width:100%; margin:0 auto; padding:4px 0 0; }
[data-product-layout] .compact-product-summary h1 { margin:0 0 8px; font-size:clamp(1.5rem,2.2vw,1.875rem); font-weight:400; line-height:1.2; text-transform:none; letter-spacing:-.025em; }
.compact-price { display:flex; align-items:baseline; gap:8px; margin:0 0 24px; font-size:1.25rem; line-height:1.4; }
.compact-price small { font-size:.75rem; color:var(--muted); }
.compact-size-meta { margin-bottom:22px; }
.compact-size-meta>span { display:block; margin-bottom:5px; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.compact-size-meta p { margin:0; font-size:.875rem; line-height:1.6; }
.compact-size-meta .compact-lead-time { font-style:italic; color:var(--muted); margin-top:4px; }
.compact-description { margin-bottom:20px; }
.compact-description p { font-size:1rem; line-height:1.5; margin:0; }
.compact-product-summary .finish-selector { display:grid; grid-template-columns:1fr auto; gap:6px 14px; border:0; padding:0; margin:0 0 18px; }
.compact-product-summary .finish-selector h2 { grid-column:1; margin:0; font-size:.875rem; font-weight:400; line-height:1.5; }
.compact-product-summary .finish-explore { grid-column:2; grid-row:1; margin:0; min-height:24px; font-size:.8125rem; }
.compact-product-summary .finish-fields { grid-column:1/-1; }
.compact-product-summary .finish-fields select,.compact-custom-finish select { min-height:46px; border:1px solid var(--product-rule); padding:10px 32px 10px 12px; background:transparent; font:inherit; font-size:1rem; }
.compact-product-summary .finish-select::after,.compact-custom-finish .finish-select::after { top:20px; right:14px; }
.compact-product-summary .ux-finish-preview { grid-column:1/-1; gap:10px; margin:2px 0 0; }
.compact-product-summary .ux-finish-preview img { width:48px; height:38px; }
.compact-product-summary .ux-finish-preview p { font-size:.8125rem; line-height:1.4; }
.compact-product-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }
.compact-product-actions>*,.compact-custom-purchase button { display:flex; align-items:center; justify-content:center; min-height:48px; border:1px solid var(--ink); padding:12px 18px; border-radius:0; font:inherit; font-size:.9375rem; line-height:1.3; text-align:center; text-decoration:none; cursor:pointer; }
.compact-product-actions #add-to-cart,.compact-custom-purchase button { background:var(--ink); color:var(--paper); }
.compact-product-actions a { background:transparent; color:var(--ink); border-color:var(--product-rule); }
.compact-product-actions #add-to-cart:hover,.compact-custom-purchase button:hover { background:#494a41; }
.compact-product-actions a:hover { border-color:var(--ink); }
.compact-selection-hint { min-height:18px; margin:8px 0 18px; font-size:.8125rem; line-height:1.45; color:var(--muted); }
.compact-service-notes { display:grid; grid-template-columns:1fr; gap:7px; margin:0 0 22px; }
.compact-service-notes p { margin:0; font-size:.8125rem; line-height:1.5; }
.compact-service-notes .ux-lead-time { display:none; }
.compact-service-notes a { color:inherit; text-underline-offset:4px; }
.compact-product-summary .ux-product-details { margin:0; }
.compact-product-summary .ux-product-details>details { border:0; border-bottom:1px solid var(--product-rule); }
.compact-product-summary .ux-product-details>details>summary { min-height:46px; padding:13px 0 10px; font-size:.875rem; line-height:1.5; text-transform:uppercase; letter-spacing:.035em; }
.compact-product-summary .ux-product-details>details>summary small { display:none; }
.compact-product-summary .ux-disclosure-body,.compact-product-summary .accordion-body { padding:12px 0 20px; }
.compact-product-summary .ux-product-details :where(p,dd) { font-size:.9375rem; line-height:1.6; }
.compact-product-summary .ux-help-links a { font-size:.875rem; }
.compact-product-overview .photo-note { margin:8px 0 0; font-size:.75rem; line-height:1.5; }
.compact-product-overview .product-gallery-controls { margin:6px 0 0; font-size:.8125rem; }
.compact-product-overview .product-gallery-controls button { padding:8px 0; min-height:40px; font-size:inherit; }
.compact-product-overview .ux-gallery-hint { margin:0; font-size:.75rem; }
.compact-designer { margin-top:64px; border-top:1px solid var(--ink); padding-top:28px; scroll-margin-top:24px; }
.compact-designer:focus { outline:none; }
.compact-designer-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.compact-kicker { margin:0 0 6px; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.compact-designer h2 { margin:0; font-size:1.625rem; font-weight:400; line-height:1.25; letter-spacing:-.025em; }
.compact-designer-heading>p { max-width:34ch; margin:0; font-size:.875rem; line-height:1.5; color:var(--muted); }
.compact-designer-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:start; gap:40px; }
.compact-designer .drawing-section { min-width:0; }
.compact-designer .section-label { min-height:36px; font-size:.75rem; }
.compact-designer .section-label h2 { font:inherit; letter-spacing:0; }
.compact-designer .drawing-meta,.compact-designer .drawing-caption { padding:14px 16px; font-size:.75rem; line-height:1.45; }
.compact-designer .dimension-tag { font-size:.75rem; }
.compact-designer .dimensions-strip { padding:15px 0; font-size:1rem; }
.compact-designer .dimensions-strip small { font-size:.75rem; }
.compact-designer-controls { min-width:0; }
.compact-custom-size { margin:0 0 14px; font-size:.875rem; line-height:1.5; }
.compact-designer .dimension-control { padding:14px 0 8px; }
.compact-designer .dimension-range { height:44px; margin:0; }
.compact-designer .control-heading>label { font-size:.9375rem; }
.compact-designer .number-field input { font-size:1.25rem; letter-spacing:-.025em; min-height:44px; }
.compact-designer .control-footer { padding:8px 0; }
.compact-designer .control-footer>span { font-size:.75rem; }
.compact-custom-finish { border-top:1px solid var(--product-rule); padding-top:16px; margin:12px 0 18px; }
.compact-custom-finish h3 { font:inherit; font-size:.875rem; margin:0 0 8px; }
.compact-custom-finish .text-link { margin-top:4px; font-size:.8125rem; }
.compact-custom-purchase { display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; padding-top:18px; border-top:1px solid var(--product-rule); }
.compact-custom-purchase>div>span { display:block; font-size:.75rem; }
.compact-custom-purchase output { display:block; font-size:1.5rem; line-height:1.4; }
.compact-custom-note { font-size:.8125rem; line-height:1.5; color:var(--muted); margin:12px 0 0; }
.compact-designer-controls>.text-link { font-size:.875rem; }
@media(max-width:900px) {
 .compact-product-overview { gap:28px; }
 .compact-designer-grid { gap:28px; }
}
@media(max-width:760px) {
 [data-mobile-ux].framed-page:has([data-product-layout])>.page { padding-top:0; }
 .compact-breadcrumb { padding:12px 0; font-size:.75rem; }
 .compact-breadcrumb>span:last-child { display:none; }
 .compact-breadcrumb>span[aria-hidden] { display:none; }
 [data-mobile-ux] .compact-breadcrumb .catalogue-back { margin:0; padding:0; min-height:32px; font-size:.8125rem; }
 .compact-product-overview { display:flex; flex-direction:column; gap:20px; }
 .compact-product-overview .photo-gallery { position:static; width:100%; }
 .compact-product-overview .gallery-images { max-height:65svh; }
 .compact-product-overview .gallery-images>* { max-height:65svh; }
 .compact-product-summary { max-width:none; padding:0; }
 [data-product-layout] .compact-product-summary h1 { font-size:1.5rem; line-height:1.2; margin-bottom:7px; }
 .compact-price { font-size:1.125rem; margin-bottom:18px; }
 .compact-size-meta { margin-bottom:18px; }
 .compact-description { margin-bottom:18px; }
 .compact-product-actions { grid-template-columns:1fr; gap:8px; }
 .compact-product-actions>* { min-height:46px; padding:11px 18px; }
 .compact-selection-hint { margin-bottom:16px; }
 .compact-service-notes { gap:6px; margin-bottom:16px; }
 .compact-product-summary .ux-product-details>details>summary { min-height:48px; }
 .compact-designer { margin-top:40px; padding-top:24px; scroll-margin-top:18px; }
 .compact-designer-heading { display:block; margin-bottom:20px; }
 .compact-designer h2 { font-size:1.5rem; }
 .compact-designer-heading>p { margin-top:10px; max-width:100%; }
 .compact-designer-grid { grid-template-columns:1fr; gap:22px; }
 .compact-designer .drawing-meta,.compact-designer .drawing-caption { padding:12px; }
 .compact-designer .drawing-caption>span { max-width:65%; }
 .compact-custom-purchase button { min-width:150px; }
 .compact-product-summary .ux-keyboard-open .compact-product-actions { visibility:visible; }
}
@media print { .compact-product-overview,.compact-designer-grid { display:block; } .compact-product-overview .photo-gallery { position:static; max-width:65%; margin:0 auto 24px; } .compact-product-actions,.compact-custom-purchase button,.compact-breadcrumb { display:none; } .compact-designer { break-before:page; } }
