/* A compact, shared choice pattern for every configurator step. */
.configuring .header{height:72px}
.configuring .header .header-actions{gap:12px}
.configuring .config-section{padding-top:14px;padding-bottom:24px}
.configuring .config-heading{display:flex;align-items:center;gap:24px;margin-bottom:20px}
.configuring .config-return{display:inline-flex;margin:0;font-size:13px;white-space:nowrap}
.configuring .config-heading h1{font:400 clamp(24px,2.5vw,34px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0}
.configuring .config-heading h1 em{font-weight:400;color:#738068}
.configuring .config-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr);gap:32px;align-items:start}
.configuring .preview-column{top:16px}
.configuring .preview-stage{border-radius:12px}
.configuring .preview-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}
.configuring .preview-toolbar>.view-switch:first-child{grid-area:1/1;justify-self:start}
.configuring #reset-config{grid-area:1/2;width:32px;height:32px;font-size:22px}
.configuring #interior-angles{grid-area:2/1/3/3;display:flex;flex-wrap:wrap;gap:4px;padding:0;background:transparent}
.configuring .view-switch{padding:3px}
.configuring .view-switch button{font-size:11px;padding:7px 11px;min-height:30px;white-space:nowrap}
.configuring #interior-angles button{font-size:10px;padding:6px 8px;min-height:28px}
.configuring #config-preview.photo-preview>img,.configuring #config-preview .finish-render img{width:100%;height:auto;max-height:calc(100svh - 250px);object-fit:contain}
.configuring .finish-render{margin:0}
.configuring .finish-render figcaption{padding:8px;font-size:11px}
.configuring .preview-bottom{padding:12px 16px;font-size:10px}
.configuring .preview-bottom span:last-child{font-size:13px}
.configuring .config-controls{display:flex;flex-direction:column;min-width:0;min-height:510px;scroll-margin-top:20px}
.configuring .wizard-groups{display:none}
.configuring .wizard-progress{margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
.configuring #step-count{margin:0;font-size:12px;color:#647367}
.configuring #step-dots{display:flex;gap:5px}
.configuring #step-dots button{display:flex;flex:1;align-items:center;justify-content:center;gap:5px;padding:7px 5px;min-height:34px;border:1px solid #d4d9cf;border-radius:5px;background:transparent;color:#617064;font-size:11px;line-height:1.2}
.configuring #step-dots button[aria-current=step]{background:#243d32;color:#fff;border-color:#243d32}
.configuring #step-dots button span{display:inline;font-size:11px;margin:0}
.configuring .wizard-panel{border:0;padding:0;margin:0;min-height:0;outline:none}
.configuring .wizard-panel legend,.configuring .wizard-panel h3{padding:0;margin:0 0 14px;font:500 19px/1.3 Arial,sans-serif;color:#243d32;letter-spacing:-.25px}
.configuring .option-list{display:flex;flex-direction:column;gap:8px;margin:0}
.configuring .option-row{width:100%;min-height:56px;display:flex;align-items:center;gap:11px;text-align:left;padding:12px 14px;border:1px solid #d4d9cf;border-radius:8px;background:#fff;color:#243d32;cursor:pointer;font:400 14px/1.3 Arial,sans-serif;transition:border-color .15s,background .15s}
.configuring .option-row:hover:not(:disabled){border-color:#71836d;background:#f3f5ef}
.configuring .option-row.selected{border:2px solid #243d32;padding:11px 13px;background:#edf1e8}
.configuring .option-row:focus-visible{outline:3px solid #b18a4c;outline-offset:3px}
.configuring .option-swatch{display:block;flex:0 0 26px;height:26px;border-radius:50%;background:var(--option-color);border:1px solid #243d3230;box-shadow:inset 0 0 0 2px #ffffff30}
.configuring .option-name{flex:1;min-width:0}
.configuring .option-name small{display:block;margin:3px 0 0;color:#647064;font-size:11px;line-height:1.3}
.configuring .option-price{font-size:14px;white-space:nowrap;font-weight:600;color:#243d32;margin-left:auto}
.configuring .option-check{display:flex;align-items:center;justify-content:center;flex:0 0 18px;height:18px;border:1px solid #b7c2b2;border-radius:50%;font-size:11px;color:transparent}
.configuring .option-row.selected .option-check{background:#243d32;color:#fff;border-color:#243d32}
.configuring .option-multiple:not([data-heating=none]) .option-check{border-radius:4px}
.configuring .option-row:disabled{opacity:.55;cursor:not-allowed;background:#f0f0e9}
.configuring .option-row:disabled .option-price{font-size:11px;font-weight:400}
.configuring .option-row:disabled .option-check{visibility:hidden}
.configuring .step-hint{font:400 11px/1.5 Arial,sans-serif;color:#697368;margin:10px 0}
.configuring [data-panel="5"]>.step-hint{margin:0 0 10px}
.configuring .config-checkout{margin-top:auto;padding-top:18px}
.configuring .price-area{padding:14px 0 0;margin:0;border-top:1px solid #cdd3c8;display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center}
.configuring .price-area>div{display:flex;flex-direction:column;gap:4px}
.configuring #total-label{font-size:11px;color:#637060}
.configuring #config-price{font:500 28px/1.1 Arial,sans-serif;letter-spacing:-.8px}
.configuring .price-area>p{grid-column:1/-1;font:400 10px/1.4 Arial,sans-serif;color:#737b70;margin:8px 0 0}
.configuring .price-details{position:relative;margin:0;grid-column:2;grid-row:1;align-self:center;text-align:right}
.configuring .price-details>summary{font-size:11px;cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px}
.configuring .price-details>summary::-webkit-details-marker{display:none}
.configuring .price-details[open]>dl{position:absolute;right:0;bottom:calc(100% + 12px);width:min(370px,80vw);max-height:330px;overflow:auto;background:#fff;padding:16px;border:1px solid #cdd3c8;border-radius:8px;box-shadow:0 8px 30px #243d3225;text-align:left;z-index:30}
.configuring .wizard-navigation{display:flex;gap:10px;margin:14px 0 0}
.configuring .wizard-navigation button{min-height:46px;justify-content:center;padding:12px 14px;font-size:13px;border-radius:6px;flex:1;white-space:normal}
.configuring .wizard-navigation .save-config{margin:0;width:auto}
.configuring .summary-list{margin:0}
.configuring .summary-list>div{padding:9px 0;gap:15px;font-size:12px}
.configuring .summary-list dd{text-align:right;max-width:70%;line-height:1.4}
.configuring #customer-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.configuring #customer-form label{font-size:11px;display:flex;flex-direction:column;gap:5px;min-width:0}
.configuring #customer-form input{padding:11px 10px;width:100%;min-width:0;font-size:14px;border-radius:5px}
.configuring #customer-form .step-hint{grid-column:1/-1;margin:0}
@media(min-width:961px) and (min-height:700px){.configuring .config-controls{min-height:min(550px,calc(100svh - 180px))}}
@media(max-width:960px){
 .configuring .config-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr);gap:20px}
 .configuring .option-row{font-size:13px;padding:11px;gap:8px}
 .configuring .option-row.selected{padding:10px}
 .configuring .option-price{font-size:13px}
 .configuring .option-swatch{flex-basis:22px;height:22px}
 .configuring #step-dots button,.configuring #step-dots button span{font-size:10px}
}
@media(max-width:760px){
 .configuring .header{height:58px}
 .configuring .header .brand{font-size:25px}
 .configuring .config-section{padding-top:8px;padding-bottom:14px}
 .configuring .config-heading{gap:16px;margin-bottom:12px}
 .configuring .config-heading h1{font-size:22px;letter-spacing:-.6px}
 .configuring .config-return{font-size:11px}
 .configuring .config-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .configuring .preview-column{top:0;padding:5px 0 7px}
 .configuring .preview-toolbar{padding:6px 8px;gap:5px}
 .configuring .preview-toolbar .view-switch button{font-size:10px;padding:5px 9px;min-height:28px}
 .configuring #interior-angles{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding-bottom:2px}
 .configuring #interior-angles button{flex:0 0 auto;font-size:10px;min-height:27px}
 .configuring #reset-config{width:29px;height:29px;font-size:19px}
 .configuring #config-preview,.configuring #config-preview.photo-preview>img,.configuring #config-preview .finish-render img{height:clamp(125px,23svh,195px);max-height:195px;width:100%;object-fit:contain}
 .configuring .preview-bottom{padding:6px 10px;font-size:9px}
 .configuring .preview-bottom span:last-child{font-size:11px}
 .configuring .config-controls{min-height:0;padding-top:0;scroll-margin-top:calc(var(--velora-preview-height,260px) + 10px)}
 .configuring .wizard-progress{margin-bottom:12px;gap:7px}
 .configuring .wizard-panel legend,.configuring .wizard-panel h3{font-size:17px;margin-bottom:10px}
 .configuring .option-row{min-height:49px;font-size:13px;padding:10px 12px}
 .configuring .option-row.selected{padding:9px 11px}
 .configuring .option-list{gap:6px}
 .configuring .config-checkout{padding-top:14px}
 .configuring #config-price{font-size:25px}
 .configuring .price-area{padding-top:12px}
 .configuring .wizard-navigation{margin-top:12px}
 .configuring .wizard-navigation button{min-height:44px}
}
@media(max-width:380px){.configuring .config-heading h1{font-size:20px}.configuring #customer-form{grid-template-columns:1fr}.configuring .option-name{font-size:12px}}
@media(prefers-reduced-motion:reduce){.configuring .option-row{transition:none}}
.configuring .wizard-panel legend{float:none;display:block;width:auto}
.configuring .header-actions>a[href="#configurator"]{display:none}
.configuring #step-dots{margin:0}
.configuring .price-details>summary{padding:0}
.configuring .config-checkout{padding-top:14px}
.configuring .finish-render figcaption{display:none}
@media(min-width:761px){
 .configuring #config-preview.photo-preview>img,.configuring #config-preview .finish-render img{max-height:calc(100svh - 305px)}
 .configuring .preview-toolbar{padding:10px}
}
.configuring .option-row:disabled{min-height:44px;padding-top:8px;padding-bottom:8px}
@media(min-width:761px){.configuring #interior-angles{flex-wrap:nowrap;overflow-x:auto}.configuring #interior-angles button{flex:0 0 auto}.configuring #config-preview .finish-render img{max-height:calc(100svh - 330px)}}

.velora-contact-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;pointer-events:none}
.order-status{padding:12px 14px;border:1px solid #d4d9cf;background:#f3f5ef;border-radius:6px;font-size:12px;line-height:1.6}
.order-status.success{border-color:#66855d;background:#edf4e8;color:#243d32}
#submit-order:disabled{cursor:default;opacity:.65}
