/* Product overview precedes the complete dimension configurator. */
.product-overview { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(310px,1fr); gap:20px; border-top:1px solid var(--ink); margin-bottom:36px; }
.product-overview .photo-gallery { min-width:0; margin:0; }
.product-information { min-width:0; border-left:1px solid var(--ink); padding-left:20px; }
.product-information .reference-section { border-top:0; }
.product-information .ordering-section { margin-top:24px; }
.product-information .product-specifications > div { align-items:baseline; }
@media(max-width:760px) {
 .product-overview { display:block; margin-bottom:26px; }
 .product-information { border-left:0; padding-left:0; margin-top:24px; }
 .product-information .reference-section { border-top:1px solid var(--ink); }
 .product-information .reference-note { margin-bottom:20px; }
 .product-information .ordering-section { margin-top:22px; }
}
/* Compact product pages with native, keyboard-accessible disclosures. */
.product-overview { padding-top:20px; }
.product-information { border-left:0; padding-left:8px; }
.standard-purchase { padding:6px 0 26px; }
.standard-purchase h2 { font-size:18px; font-weight:400; margin:0 0 10px; }
.standard-dimensions { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.standard-price { margin:20px 0; font-size:32px; letter-spacing:-.04em; }
.standard-price small { font-family:var(--mono); font-size:12px; letter-spacing:0; }
.standard-purchase .product-link { width:100%; border:0; cursor:pointer; }
.product-accordion { border-top:1px solid var(--fine-line); }
.product-accordion > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:58px; padding:16px 0; cursor:pointer; list-style:none; font-size:16px; }
.product-accordion > summary::-webkit-details-marker { display:none; }
.product-accordion > summary:focus-visible { outline:1px dashed var(--ink); outline-offset:4px; }
.expand-mark { width:14px; height:14px; position:relative; flex-shrink:0; }
.expand-mark::before,.expand-mark::after { content:''; position:absolute; background:#000; }
.expand-mark::before { width:14px; height:1px; top:6px; left:0; }
.expand-mark::after { height:14px; width:1px; left:6px; top:0; }
.product-accordion[open] > summary .expand-mark::after { display:none; }
.accordion-body { padding:0 0 22px; border:0!important; margin:0!important; }
.accordion-body .reference-copy { padding-top:0; }
.accordion-body .reference-note { margin-bottom:0; }
.photo-accordion { margin-top:16px; }
.additional-photos { padding-bottom:16px; }
.additional-photos img:first-child { grid-column:auto; }
.custom-configuration { border-top:1px solid var(--ink); scroll-margin-top:20px; }
.custom-configuration > summary { font-size:16px; letter-spacing:normal; }
.custom-configuration .workspace { border-top:0; padding-bottom:20px; }
@media(max-width:760px) {
 .page { padding-bottom:0; }
 .product-overview { padding-top:12px; }
 .product-information { padding-left:0; margin-top:20px; }
 .purchase-panel { position:static; padding:18px 0 12px; box-shadow:none; }
 .standard-purchase { padding-bottom:16px; }
}

.standard-purchase #add-standard, .purchase-panel #add-to-cart { background:transparent; color:var(--ink); border:1px solid var(--ink); font-family:inherit; font-size:16px; font-weight:400; }
.standard-purchase #add-standard:hover, .purchase-panel #add-to-cart:hover { background:var(--sheet); }

.custom-heading { display:flex; align-items:center; min-height:58px; padding:16px 0; margin:0; font-size:16px; font-weight:400; letter-spacing:normal; }

.summary-order-button { width:100%; min-height:48px; background:transparent; color:var(--ink); border:1px solid var(--ink); font-size:16px; cursor:pointer; }
.summary-order-button:disabled { opacity:.4; cursor:default; }
#cart-status { font-size:13px; line-height:1.5; }
#cart-status:empty { display:none; }

.finish-selector { border-top:1px solid var(--fine-line); padding:22px 0 4px; }
.finish-selector h2 { font:inherit; font-size:16px; margin:0 0 10px; }
.finish-explore { display:inline-block; margin:0 0 20px; font-size:14px; line-height:1.5; }
.finish-fields { display:block; margin:0; }
.finish-select { position:relative; display:block; }
.finish-select::after { content:""; position:absolute; right:4px; top:18px; width:6px; height:6px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); transform:rotate(45deg); pointer-events:none; }
.finish-fields select { appearance:none; width:100%; min-width:0; min-height:44px; padding:10px 22px 10px 0; border:0; border-bottom:1px solid var(--ink); border-radius:0; color:var(--ink); background:transparent; font:inherit; font-family:var(--mono); font-size:14px; cursor:pointer; }
.finish-fields select:focus-visible { outline:1px dashed var(--ink); outline-offset:4px; }

.finish-fields option { font-family:var(--mono); color:var(--ink); background:var(--paper); }
