.advanced-section{border-top:1px solid var(--line);padding:38px 0 46px;scroll-margin-top:24px}
.advanced-offer{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.advanced-offer>div{max-width:640px}
.advanced-offer h2{font-size:1.75rem;letter-spacing:-.04em;margin:0 0 12px;line-height:1.25}
.advanced-offer p:last-child{font-size:1rem;line-height:1.65;color:var(--muted);margin:0}
.advanced-toggle{display:flex;align-items:center;justify-content:center;gap:16px;border:0;border-radius:10px;background:var(--ink);color:var(--lime);padding:18px 24px;font-size:1rem;font-weight:700;min-height:56px;flex-shrink:0}
.advanced-toggle:hover{background:#254750}
.advanced-toggle:disabled{cursor:wait;opacity:.7}
.advanced-toggle svg{width:20px;height:20px;transition:transform .2s}
.advanced-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.advanced-status{font-size:.875rem;line-height:1.6;color:var(--muted);margin:18px 0 0}
.advanced-inline{padding-top:32px}
.advanced-inline .design-stage{scroll-margin-top:28px}
.advanced-inline .design-stage+.design-stage{border-top:1px solid var(--line);padding-top:34px;margin-top:34px}
.advanced-inline .design-size{margin-bottom:0}
.advanced-inline .design-layout{grid-template-columns:minmax(0,1fr) 420px;scroll-margin-top:24px}
.advanced-inline .design-panel{padding:32px}
.advanced-inline .design-stage h2:focus-visible{outline:3px solid #43849a;outline-offset:6px;border-radius:3px}
.advanced-inline .product-credits{padding-bottom:0}
.brand-choice{position:relative;display:block;cursor:pointer;min-width:0}
.brand-choice>input,.line-choice>input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.brand-choice>span{display:flex;align-items:center;justify-content:center;min-height:104px;padding:22px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;pointer-events:none}
.brand-choice img{display:block;width:100%;max-width:160px;height:52px;object-fit:contain}
.brand-choice input:checked+span,.line-choice input:checked+span{border:2px solid var(--ink);background:#f6f9f1}
.brand-choice input:checked+span{padding:21px 17px}
.brand-choice input:focus-visible+span,.line-choice input:focus-visible+span{outline:3px solid #43849a;outline-offset:4px}
.deck-line-field{margin-top:28px}
.deck-line-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.line-choice{position:relative;display:block;cursor:pointer;min-width:0}
.line-choice>span{display:flex;flex-direction:column;justify-content:center;height:100%;min-height:60px;padding:15px 17px;border:1px solid var(--line);border-radius:8px;pointer-events:none;background:#fff}
.line-choice strong{font-size:.9375rem;line-height:1.45}
.line-choice small{display:block;font-size:.875rem;color:var(--muted);margin-top:4px;line-height:1.4}
.line-choice input:checked+span{padding:14px 16px}
.advanced-inline #decking-prompt{margin:18px 0 0}
.advanced-inline #railing-prompt{margin:18px 0 0}
.rail-brand-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.rail-model-field{margin-top:28px}
.rail-model-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rail-model-options .photo-choice img{height:180px}
.rail-model-options .product-photo img{object-fit:contain;background:#fff}
.rail-model-options .photo-choice>span{height:100%}
.rail-model-options .photo-choice .photo-choice-copy{padding:16px}
.rail-model-options .photo-choice strong{font-size:1rem;line-height:1.45}
.rail-model-options .photo-choice small{font-size:.875rem;line-height:1.5}
.summary-swatch.railing-photo{background-size:cover;background-position:center}
.summary-swatch.unselected{background:none;border:2px dashed #71858c}
@media(max-width:600px){.rail-brand-options{grid-template-columns:repeat(2,minmax(0,1fr))}.rail-model-options{grid-template-columns:1fr}.rail-model-options .photo-choice img{height:190px}}
@media(max-width:600px){.brand-choice>span{padding:14px 10px;min-height:86px}.brand-choice input:checked+span{padding:13px 9px}.brand-choice img{height:42px}.deck-line-options{grid-template-columns:1fr}.advanced-inline .deck-color-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.legacy-advanced{max-width:600px;padding-top:60px}
.design-stairs{max-width:360px;margin:0 0 24px}.design-stairs>label{display:block;font-size:.875rem;font-weight:700;margin-bottom:10px}
.advanced-inline .upgrade-options{display:flex;flex-direction:column;gap:22px}
.upgrade-item{min-width:0}.upgrade-item .upgrade-card>span{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:stretch;background:#fff}
.upgrade-item .upgrade-card img{height:156px;object-fit:cover}.upgrade-item .upgrade-copy{display:flex;flex-direction:column;justify-content:center;padding:22px 24px}
.upgrade-item[data-upgrade=skirting] .upgrade-card img{height:190px;object-fit:contain;background:#fff}
.upgrade-item .upgrade-copy strong{font-size:1.125rem;padding-right:30px}.upgrade-item .upgrade-copy small{font-size:.9375rem;margin-top:8px}.upgrade-item .upgrade-check{right:22px;top:22px}
.upgrade-suboptions{margin:16px 0 0;padding:22px;border:1px solid var(--line);border-radius:11px;background:#f8fafb;min-width:0}
.upgrade-suboptions>legend{margin:0 0 14px;padding:0}.upgrade-suboptions h3{font-size:1.125rem;line-height:1.5;margin:0 0 20px}.upgrade-suboptions section>fieldset+fieldset,#privacy-detail>fieldset+fieldset{margin-top:26px}
.upgrade-suboptions .photo-choice img{height:170px}.upgrade-suboptions .photo-choice strong{font-size:1rem;line-height:1.45}.upgrade-suboptions .photo-choice small{font-size:.875rem;line-height:1.5}
.upgrade-suboptions .photo-choice>span{height:100%;background:#fff}.upgrade-suboptions .photo-choice input[type=checkbox]:checked+span .photo-choice-copy:after{content:'Included'}
.privacy-brand-options,.privacy-pattern-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.privacy-design-picker{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}
.privacy-design-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:15px 17px}
.privacy-design-picker>summary::-webkit-details-marker{display:none}.privacy-design-picker>summary::marker{content:''}
.privacy-design-picker>summary:focus-visible{outline:3px solid #43849a;outline-offset:-4px;border-radius:8px}
.privacy-design-picker>summary strong{font-size:1rem;line-height:1.5;min-width:0}.privacy-design-action{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600;flex-shrink:0}
.privacy-design-action svg{width:20px;height:20px}.privacy-design-picker[open] .privacy-design-action svg{transform:rotate(180deg)}
.privacy-design-picker[open] .privacy-expand-label,.privacy-design-picker:not([open]) .privacy-collapse-label{display:none}
.privacy-design-picker .privacy-pattern-options{padding:0 17px 17px}
@media(max-width:450px){.privacy-design-picker>summary{align-items:flex-start;flex-direction:column;gap:7px}}
.privacy-brand-options .photo-choice img{height:160px}.privacy-pattern-options .photo-choice img{height:185px;object-fit:contain;background:#f3f4f4}.privacy-pattern-options .photo-choice strong,.privacy-brand-options .photo-choice strong{font-size:1rem;line-height:1.4}.privacy-pattern-options .photo-choice small,.privacy-brand-options .photo-choice small{font-size:.875rem;line-height:1.5}
.privacy-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.privacy-color-choice img{height:95px;object-fit:contain}.privacy-color-choice strong{font-size:.875rem;min-height:0}.privacy-color-choice small{display:block;font-size:.875rem;line-height:1.4;text-align:center;margin-top:5px;color:var(--muted)}
#privacy-product-detail .product-detail-photo{height:340px}#privacy-product-detail img{object-fit:contain;background:#f3f4f4}.manufacturer-link{display:inline-block;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;margin-top:15px}
#privacy-detail [hidden],.upgrade-item [hidden]{display:none!important}
@media(max-width:600px){.upgrade-item .upgrade-card>span{grid-template-columns:1fr}.upgrade-item .upgrade-card img{height:190px}.upgrade-item .upgrade-copy{padding:20px}.upgrade-item .upgrade-copy strong{font-size:1rem}.upgrade-item .upgrade-check{right:20px;top:20px}.upgrade-suboptions{padding:18px}.upgrade-suboptions .photo-choice img{height:190px}}
@media(max-width:600px){.privacy-brand-options,.privacy-pattern-options{grid-template-columns:1fr}.privacy-color-options{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-brand-options .photo-choice img{height:185px}.privacy-pattern-options .photo-choice img{height:210px}#privacy-product-detail .product-detail-photo{height:280px}}
@media(max-width:1100px){.advanced-inline .design-layout{grid-template-columns:minmax(0,1fr) 360px}.advanced-inline .design-panel{padding:26px}}
@media(max-width:900px){.advanced-inline .design-layout{grid-template-columns:1fr}}
@media(max-width:600px){.advanced-section{padding:30px 0 34px}.advanced-offer{align-items:stretch;flex-direction:column;gap:22px}.advanced-offer h2{font-size:1.5rem}.advanced-toggle{width:100%}.advanced-inline{padding-top:24px}.advanced-inline .design-panel{padding:24px 20px}.advanced-inline .design-stage+.design-stage{margin-top:30px;padding-top:30px}}

/* Keep one live model beneath the summary throughout the option selection. */
.design-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px;min-width:0;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}
.design-sidebar .design-summary{position:static;padding:20px;flex:0 1 auto;min-height:150px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6e878f transparent}
.design-sidebar .design-summary:focus-visible{outline:3px solid #43849a;outline-offset:3px}
.design-sidebar .summary-title{gap:10px}.design-sidebar .summary-badge{padding:4px 7px}
.design-sidebar .design-summary h2{font-size:1.25rem;margin:13px 0 5px}
.design-sidebar .summary-size{font-size:.9375rem;line-height:1.5;margin-bottom:12px}
.design-sidebar .summary-finish{padding:12px 0;gap:10px}
.design-sidebar .summary-swatch{width:38px;height:38px;border-radius:7px}
.design-sidebar .summary-finish small{margin-bottom:2px}
.design-sidebar .summary-finish strong,.design-sidebar .summary-finish>div>span{line-height:1.4;font-size:.8125rem}
.design-sidebar .summary-upgrades{padding:12px 0}.design-sidebar .summary-upgrades ul{margin-top:8px;gap:5px}
.design-sidebar .summary-upgrades li{padding:4px 7px}
.summary-info{border-top:1px solid #365059;padding:11px 0;font-size:.8125rem;line-height:1.5;color:#cedce0}
.summary-info>summary{cursor:pointer;min-height:24px}.summary-info .summary-price{border:0;padding:12px 0 0}
.summary-info .summary-quote-note{text-align:left;margin:8px 0 0}
.design-sidebar .design-summary .quote-button{font-size:.8125rem;padding:11px 10px}
.sidebar-preview{flex:0 0 auto;min-width:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.preview-heading>div{min-width:0}
.preview-size-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:40px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:9px 10px;font-size:.8125rem;font-weight:600}
.preview-size-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.preview-size-button:hover{background:#edf2f3}.preview-size-button:focus-visible{outline:3px solid #43849a;outline-offset:3px}
.preview-heading h2{font-size:1.125rem;letter-spacing:-.025em;line-height:1.3;margin:0 0 5px}
.preview-heading h2:focus-visible{outline:3px solid #43849a;outline-offset:3px}
.preview-heading p{font-size:.8125rem;line-height:1.5;color:var(--muted);margin:0 0 12px}
.sidebar-preview .deck-viewer{height:clamp(210px,30vh,320px);height:clamp(210px,30dvh,320px);border-radius:10px}
.sidebar-preview .viewer-dimensions{top:12px;left:12px;padding:6px 8px;font-size:.75rem}
.sidebar-preview .viewer-watermark{bottom:12px;right:12px;font-size:.875rem}
.sidebar-preview .viewer-fallback{display:flex;flex-direction:column}
.sidebar-preview .viewer-fallback img{height:0;min-height:0;flex:1;object-fit:cover}
.sidebar-preview .viewer-fallback p{flex:0 0 auto;font-size:.8125rem;margin:10px 12px}
.sidebar-preview .viewer-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.sidebar-preview .view-actions,.sidebar-preview .light-actions{display:contents}
.sidebar-preview .viewer-toolbar button{padding:9px 7px;font-size:.8125rem;min-height:40px}
.viewer-info{margin-top:10px;font-size:.8125rem;line-height:1.5;color:var(--muted)}
.viewer-info>summary{cursor:pointer;min-height:24px}.viewer-info .viewer-help,.viewer-info .field-help,.viewer-info .color-note{margin-top:10px}
.sidebar-preview:has(.viewer-info[open]){max-height:calc(100dvh - 230px);overflow:auto;overscroll-behavior:contain}
@media(min-width:1101px){.sidebar-preview .viewer-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-preview .viewer-toolbar button{font-size:.75rem}}
@media(min-width:901px) and (max-height:700px){.sidebar-preview .deck-viewer{height:180px}.design-sidebar{top:16px;max-height:calc(100dvh - 32px)}.design-sidebar .design-summary{min-height:120px}}
@media(min-width:901px) and (max-height:550px){.design-sidebar{overflow:auto;overscroll-behavior:contain}}
@media(max-width:900px){.design-sidebar{position:static;max-height:none;grid-row:1}.design-sidebar .design-summary{overflow:visible;min-height:0}.sidebar-preview .deck-viewer{height:clamp(280px,55vw,400px)}.sidebar-preview:has(.viewer-info[open]){max-height:none;overflow:visible}.sidebar-preview .viewer-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:450px){.design-sidebar .design-summary{padding:18px}.sidebar-preview .viewer-toolbar{grid-template-columns:1fr 1fr}.sidebar-preview .deck-viewer{height:280px}}

html.preview-is-expanded{overflow:hidden;scrollbar-gutter:stable}
.preview-dialog{width:min(1200px,calc(100vw - 48px));max-width:none;height:min(900px,calc(100vh - 48px));height:min(900px,calc(100dvh - 48px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:18px;background:#fff;color:var(--ink);overflow:hidden;box-shadow:0 24px 80px #10252d50}
.preview-dialog:not([open]){display:none}.preview-dialog[open]{display:flex}
.preview-dialog::backdrop{background:#10252db8;backdrop-filter:blur(4px)}
#expanded-preview-slot{display:flex;width:100%;min-height:0;flex:1}
.preview-dialog .sidebar-preview{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;max-height:none;border:0;border-radius:0;padding:20px;overflow:auto}
.preview-dialog .sidebar-preview:has(.viewer-info[open]){max-height:none;overflow:auto}
.preview-dialog .preview-heading{flex:0 0 auto}.preview-dialog .preview-heading h2{font-size:1.35rem}
.preview-dialog .deck-viewer{flex:1 1 auto;min-height:180px;height:auto}
.preview-dialog .viewer-toolbar{flex:0 0 auto;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:640px;align-self:center;gap:10px;margin-top:14px}
.preview-dialog .viewer-toolbar button{font-size:.875rem;min-height:44px}
.preview-dialog .viewer-info{flex:0 0 auto;max-height:140px;overflow:auto}
@media(max-width:600px){.preview-dialog{width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;border-radius:0}.preview-dialog .sidebar-preview{padding:16px}.preview-dialog .viewer-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.preview-dialog .preview-heading h2{font-size:1.125rem}.preview-dialog .viewer-toolbar button{font-size:.8125rem}.preview-dialog .viewer-info{max-height:110px}}
