/* Product photos use the existing brand; quotation controls retain their behavior. */
.build-layout{grid-template-rows:auto 1fr;column-gap:32px;row-gap:20px}
.build-form{grid-column:1;grid-row:1 / 3}
.product-gallery{grid-column:2;grid-row:1;min-width:0;background:#fff;border:1px solid var(--line)}
.summary{grid-column:2;grid-row:2;min-width:0}
.product-gallery h2{font:400 24px/1.25 var(--serif);margin:0}
.gallery-heading{padding:18px 18px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.gallery-heading a{font-size:14px;text-underline-offset:4px}
.product-photo-button{display:block;width:100%;border:0;padding:0;position:relative;background:#f1ede3}
.product-photo-button>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.photo-zoom{position:absolute;right:12px;bottom:12px;background:#ffffffed;color:var(--ink);padding:6px 10px;font-size:14px;border:1px solid #d9ded4}
.gallery-body{padding:16px 18px 18px}
.photo-caption{font-size:14px;font-weight:600;margin:0 0 4px;line-height:1.5}
.photo-credit{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 12px}
.photo-thumbnails{display:flex;gap:10px;margin-bottom:16px}
.photo-thumbnails button{border:1px solid var(--line);padding:3px;background:white;width:76px;height:76px}
.photo-thumbnails button[aria-pressed=true]{border:2px solid var(--ink);padding:2px}
.photo-thumbnails img{width:100%;height:100%;display:block;object-fit:cover}
.collection-label{font-size:14px;font-weight:600;margin:0 0 8px}
.collection-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.collection-options button{min-height:46px;font-size:14px;line-height:1.35;border:1px solid var(--line);color:var(--ink);background:#fff;padding:10px 8px}
.collection-options button[aria-pressed=true]{border-color:var(--ink);background:#233a2c;color:#fff}
.gallery-note{font-size:14px;color:var(--muted);line-height:1.6;margin:14px 0 0}
.style-choice-button{margin-top:16px}
.style-choice-feedback{font-size:14px;color:var(--ink);line-height:1.5;margin:10px 0 0;overflow-wrap:anywhere}
.style-choice-feedback:empty{display:none}
.style-field{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.style-field .hint{font-weight:400;margin:0}
.selected-style{font-size:16px;font-weight:600;line-height:1.5;margin:14px 0 10px}
.style-quote-note{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 16px}
html[data-photo-style-selected=true] .total-row strong{font-size:32px}
html[data-photo-style-selected=true] .mobile-estimate strong{font-size:24px}
#build-form{scroll-margin-top:18px}
.photo-dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;border:1px solid var(--line);color:var(--ink);background:#fff;overscroll-behavior:contain}
.photo-dialog::backdrop{background:#17251ab8}
.photo-dialog .dialog-top{margin-bottom:12px}
.photo-dialog h2{font-size:22px}
.photo-dialog>img{display:block;max-width:100%;max-height:calc(100dvh - 145px);width:auto;height:auto;margin:0 auto;object-fit:contain}
.photo-dialog p{font-size:14px;margin:10px 0 0}
.summary .visual{padding:12px 18px 5px}
.summary .visual svg{height:155px}
.summary .visual-label{font-size:12px}
@media(min-width:1500px){.build-layout{column-gap:42px}}
@media(max-width:900px){.build-layout{column-gap:20px}.gallery-heading{flex-wrap:wrap}.gallery-body{padding:14px}.collection-options button{font-size:14px}}
@media(max-width:700px){
  .build-layout{grid-template-rows:none;gap:18px}
  .product-gallery,.build-form,.summary{grid-column:1;grid-row:auto}
  .gallery-heading{padding:16px 18px}
  .gallery-heading h2{font-size:23px}
  .gallery-body{padding:16px 18px}
  .product-photo-button>img{aspect-ratio:1}
  .summary .visual svg{height:180px}
  .photo-dialog{padding:14px}
  html[data-photo-style-selected=true] .mobile-estimate>div{max-width:calc(100% - 114px)}
  html[data-photo-style-selected=true] .mobile-estimate span{line-height:1.4}
}

/* Measure beside the inputs; review the chosen product before preparing an email. */
.measurement-help{margin-top:18px;border-top:1px solid var(--line)}
.measurement-help>summary,.quote-full-details>summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:14px;font-weight:600}
.measurement-help>summary:focus-visible,.quote-full-details>summary:focus-visible{outline:3px solid #be805b;outline-offset:3px}
.measure-content{padding-bottom:4px}
.measurement-diagrams{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);background:var(--paper);border:1px solid var(--line);gap:8px;align-items:center}
.measurement-diagrams svg{display:block;width:100%;height:auto;font:600 20px var(--sans)}
.measure-thickness{text-align:center;border-left:1px solid var(--line);padding:8px 5px}
.measure-thickness>svg{max-height:110px}
.measure-thickness>span{display:block;font-size:12px;line-height:1.4}
.measure-content p{font-size:14px;line-height:1.6;margin:12px 0 0}
.measure-thickness-note{border-left:2px solid var(--clay);padding-left:12px}
.quote-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff}
.quote-summary-card{background:var(--paper);border:1px solid var(--line);padding:14px;display:grid;gap:14px;margin:18px 0 8px;align-items:start}
.quote-summary-card.has-photo{grid-template-columns:88px minmax(0,1fr)}
.quote-summary-card>img{width:88px;height:88px;object-fit:cover;border:1px solid var(--line)}
.quote-summary-card p{margin:0 0 7px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.quote-summary-card p:last-child{margin-bottom:0}
.quote-summary-title{font-weight:600}
.quote-summary-price{padding-top:8px;border-top:1px solid var(--line);color:var(--clay)}
.quote-full-details{border-bottom:1px solid var(--line);margin-bottom:12px}
.quote-full-details .quote-details{margin:0 0 14px}
.review-actions{display:flex;justify-content:space-between;gap:14px;margin-top:8px}
.review-actions .text-button{font-size:14px}
.quote-address{font-weight:500;overflow-wrap:anywhere}
#quote-feedback:empty{display:none}
body:has(dialog[open]){overflow:hidden}
@media(max-width:700px){.quote-summary-card{padding:12px;gap:12px}.quote-summary-card.has-photo{grid-template-columns:72px minmax(0,1fr)}.quote-summary-card>img{width:72px;height:72px}.quote-summary-card p{font-size:14px}.quote-dialog .dialog-text{margin:12px 0}.quote-dialog .primary-button{margin-top:0}}
@media(max-width:360px){.quote-summary-card.has-photo{grid-template-columns:56px minmax(0,1fr)}.quote-summary-card>img{width:56px;height:56px}.review-actions{gap:10px}}
