/* Ordered configuration: model, dimensions, then manufacturing. */
body.configurator { height:auto; min-height:100vh; overflow:auto; }
.configurator main { display:grid; grid-template-columns:minmax(0,1fr) 290px; grid-template-rows:230px auto; gap:16px; height:auto; min-height:0; padding:20px; }
.configurator .panel { grid-row:1 / 3; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:16px; padding:0; border:0; background:none; overflow:visible; }
.configurator .panel section { grid-column:auto; min-width:0; padding:16px; border:1px solid #343c37; border-radius:10px; background:#181e1b; }
.configurator .panel .product-intro { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:0; padding:0 0 4px!important; border:0; background:none; }
.configurator .product-intro .eyebrow { display:none; }
.configurator .product-intro h1 { font-size:32px; line-height:1.05; margin:0; }
.configurator .product-intro h1 br { display:none; }
.configurator .product-intro p { max-width:280px; margin:0; font-size:12px; line-height:1.5; }
.configurator .panel section:nth-of-type(2) { grid-column:span 2; }
.configurator .panel section:nth-of-type(3) { grid-column:auto; }
.configurator .templates { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.configurator .templates button { padding:10px; border-radius:6px; min-height:58px; }
.configurator .templates strong { font-size:12px; }
.configurator .templates small { font-size:10px; line-height:1.4; }
.configurator .panel h2 { font-size:15px; margin:0 0 12px; }
.configurator .fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.configurator .fields label { font-size:11px; line-height:1.4; }
.configurator .fields input,.configurator .fields select { font-size:13px; padding:7px 8px; margin-top:4px; border-radius:5px; min-height:32px; }
.configurator .toggle { font-size:11px!important; line-height:1.4; margin-bottom:8px; }
.configurator .type-switch button { padding:18px 0; border-radius:5px; font-size:14px; }
.configurator .config-panel { display:block!important; }
.configurator .workspace { grid-column:2; grid-row:1; height:230px; min-height:0; border:1px solid #343c37; border-radius:10px; overflow:hidden; }
.configurator .export { grid-column:2; grid-row:2; display:block; padding:16px; overflow:visible; border:1px solid #343c37; border-radius:10px; }
.configurator .export h1 { font-size:22px; margin:10px 0; }
.configurator .export .flow { display:none; }
.configurator .validation { margin-top:12px; padding-top:12px; }
.configurator .order-card { padding-bottom:8px; }
@media(min-width:1200px) and (max-height:800px) {
 .configurator main { padding:12px; gap:12px; grid-template-rows:150px auto; }
 .configurator .workspace { height:150px; }
 .configurator .panel { gap:10px; }
 .configurator .panel section { padding:12px; }
 .configurator .fields { gap:6px; }
 .configurator .export { padding:12px; }
}
/* One continuous form, read left to right, with numbered stages. */
@media(min-width:1000px) {
 .configurator main { max-width:1600px; margin:0 auto; padding:20px 24px; grid-template-columns:minmax(0,1fr) 390px; grid-template-rows:310px auto; gap:16px 24px; align-items:start; }
 .configurator .panel { grid-template-columns:1.15fr 1fr; gap:0 24px; padding:20px; background:#181e1b; border:1px solid #343c37; border-radius:12px; }
 .configurator .panel section { padding:14px 0; border:0; border-radius:0; background:none; }
 .configurator .panel .product-intro { display:block; padding:0 0 16px!important; }
 .configurator .product-intro h1 { font-size:32px; }
 .configurator .product-intro h1 i { margin-left:.2em; }
 .configurator .product-intro p { max-width:none; margin-top:8px; }
 .configurator .panel section:nth-of-type(2) { grid-column:1; }
 .configurator .panel section:nth-of-type(3) { grid-column:2; }
 .configurator .panel section:nth-of-type(4) { grid-column:1; }
 .configurator .panel section:nth-of-type(5) { grid-column:2; }
 .configurator .panel section:nth-of-type(6) { grid-column:1/-1; }
 .configurator .panel section:nth-of-type(7) { grid-column:1; }
 .configurator .panel section:nth-of-type(8) { grid-column:2; }
 .configurator .panel section:nth-of-type(2),.configurator .panel section:nth-of-type(3),.configurator .panel section:nth-of-type(4),.configurator .panel section:nth-of-type(5),.configurator .panel section:nth-of-type(7),.configurator .panel section:nth-of-type(8) { border-top:1px solid #343c37; }
 .configurator .panel section:nth-of-type(2) h2::before { content:'01'; }
 .configurator .panel section:nth-of-type(4) h2::before { content:'02'; }
 .configurator .panel section:nth-of-type(7) h2::before { content:'03'; }
 .configurator .panel section h2::before { color:var(--lime); margin-right:10px; }
 .configurator .templates { gap:6px; }
 .configurator .templates button { min-height:62px; padding:8px; }
 .configurator .type-switch button { padding:21px 0; }
 .configurator .fields { gap:8px 12px; }
 .configurator .fields input,.configurator .fields select { min-height:34px; }
 .configurator .panel section.engine .fields { grid-template-columns:repeat(3,1fr); }
 .configurator .workspace { height:310px; }
 .configurator .export { padding:16px; }
 .configurator .export h1 { margin:6px 0; }
 .configurator .export .eyebrow { display:none; }
 .configurator .export p { margin:6px 0; }
 .configurator .delivery-options { margin:10px 0; }
 .configurator .delivery { padding:8px; }
 .configurator .quantity,.configurator .total { margin:8px 0; }
 .configurator .total { padding-top:8px; }
 .configurator .export-button { padding:8px; margin-top:4px; }
 .configurator .validation { margin-top:8px; padding-top:8px; }
 .configurator .validation h3 { margin:0 0 5px; }
 .configurator .validation ul { margin:0; }
}
@media(max-width:1199px) {
 .configurator main { grid-template-columns:minmax(0,1fr) 260px; }
 .configurator .panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .configurator .panel section:nth-of-type(2) { grid-column:1/-1; }
 .configurator .panel .product-intro { display:block; }
 .configurator .product-intro p { margin-top:8px; max-width:none; }
}
@media(max-width:760px) {
 .configurator main { display:flex; flex-direction:column; padding:12px; }
 .configurator .panel { grid-template-columns:1fr; }
 .configurator .templates { grid-template-columns:1fr; }
 .configurator .workspace { height:200px; flex:none; }
 .configurator .product-intro h1 { font-size:28px; }
}
