.config-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:60px;align-items:start}
.config-tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:28px}.config-tabs button{flex:1;padding:16px 8px;border-bottom:3px solid transparent;font-weight:500}.config-tabs [aria-selected=true]{border-color:var(--blue);color:var(--blue)}
.config-layout h2,.config-booking h2{font-size:24px;font-weight:500;line-height:1.3;margin:0 0 14px}
.config-note{font-size:12px;line-height:1.7;color:#666c71}.config-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.config-layout label,.config-booking-form>label{display:flex;flex-direction:column;gap:8px;font-size:13px}
.config-layout input,.config-layout select,.config-booking input,.config-booking textarea{font:inherit;min-width:0;width:100%;padding:12px;border:1px solid #cfd2d6;border-radius:4px;background:white;color:var(--ink);min-height:46px}
.config-layout input:focus-visible,.config-layout select:focus-visible,.config-booking input:focus-visible,.config-booking textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
#build-form fieldset{border:0;border-top:1px solid #e6e6e6;margin:24px 0;padding:16px 0 0}#build-form legend{font-weight:500;padding-right:12px}
.config-summary{position:sticky;top:calc(var(--header) + 24px);border:1px solid #e5e6e8;border-radius:6px;overflow:hidden}
.config-summary>img{width:100%;height:auto;aspect-ratio:8/5;display:block;object-fit:cover}.config-summary>div{padding:24px}.config-summary dl{margin:22px 0}.config-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee}.config-summary dt{color:#666c71}.config-summary dd{font-weight:500;margin:0;font-variant-numeric:tabular-nums}.config-summary .res-button{width:100%;font-size:12px}
.appliance-row{display:grid;grid-template-columns:minmax(0,1fr) 85px 65px;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #eee}.appliance-row .appliance-choice{flex-direction:row;align-items:center;align-self:center;gap:10px}.appliance-row input[type=checkbox],.config-consent input[type=checkbox]{width:19px;height:19px;min-height:0;flex-shrink:0;accent-color:var(--blue)}.appliance-row input{padding:8px}.appliance-row label{font-size:11px}.guide-duration{margin:24px 0}
.guide-result{margin-top:24px;border-top:1px solid #ddd;padding-top:20px}.guide-result h3{font-size:18px;font-weight:500}.guide-result>p{line-height:1.7}
.config-booking{margin-top:64px;padding-top:40px;border-top:1px solid #ddd;max-width:760px;scroll-margin-top:calc(var(--header) + 24px)}.config-booking p{line-height:1.8}.config-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.full-width{grid-column:1/-1}.config-booking-form .config-consent{flex-direction:row;align-items:flex-start;line-height:1.7}.config-booking-form button{justify-self:start}
.config-contacts{margin-top:28px;border-top:1px solid #eee;padding-top:12px}#assessment-contact-links{display:flex;gap:12px}#assessment-contact-links a{display:grid;place-items:center;width:52px;height:48px;border:1px solid #ddd;border-radius:4px}#assessment-contact-links a:first-child{background:#edf2fc}#assessment-contact-links a:nth-child(2){background:#ecf6f5}#assessment-contact-links a:last-child{background:#ebf8ef}
#assessment-error,#guide-error{color:#ab2635}
.spec-control{--spec-accent:var(--blue);min-width:0}
.spec-control.spec-green{--spec-accent:#719b25}
.spec-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.spec-heading label{color:#646a70}.spec-heading output{color:var(--spec-accent);font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.config-layout .spec-slider{display:block;appearance:none;-webkit-appearance:none;width:calc(100% - 32px);height:44px;min-height:44px;margin:0 16px;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;accent-color:var(--spec-accent)}
.spec-slider::-webkit-slider-runnable-track{height:5px;border-radius:4px;background:linear-gradient(to right,var(--spec-accent) 0 var(--progress),#e4e7ea var(--progress) 100%)}
.spec-slider::-moz-range-track{height:5px;border-radius:4px;background:#e4e7ea}
.spec-slider::-moz-range-progress{height:5px;border-radius:4px;background:var(--spec-accent)}
.spec-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:-8.5px;border:3px solid white;border-radius:50%;background:var(--spec-accent);box-shadow:0 0 0 1px var(--spec-accent),0 2px 5px #0002}
.spec-slider::-moz-range-thumb{width:16px;height:16px;border:3px solid white;border-radius:50%;background:var(--spec-accent);box-shadow:0 0 0 1px var(--spec-accent)}
.spec-stops{display:flex;justify-content:space-between;gap:0;margin-top:-4px}
.spec-stops button{flex:0 0 32px;min-width:0;min-height:44px;padding:0;font-size:12px;color:#70777d;font-variant-numeric:tabular-nums}
.spec-stops button[aria-pressed=true]{color:var(--spec-accent);font-weight:600}
.spec-stops button:hover{color:var(--spec-accent);text-decoration:underline;text-underline-offset:4px}
.spec-quantity{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.quantity-stepper{display:grid;grid-template-columns:44px 52px 44px;align-items:center;border:1px solid #dce0e4;border-radius:4px;overflow:hidden;background:#fff}
.quantity-stepper button{width:44px;height:44px;padding:0;font-size:23px;line-height:1;color:var(--blue)}
.quantity-stepper button:hover:not(:disabled){background:#f0f2f4}.quantity-stepper button:disabled{color:#bfc5ca}
.config-layout .quantity-stepper input{appearance:textfield;-moz-appearance:textfield;width:52px;min-height:44px;height:44px;padding:0;border:0;border-left:1px solid #edf0f2;border-right:1px solid #edf0f2;border-radius:0;text-align:center;font-size:15px;font-variant-numeric:tabular-nums}
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity-stepper button:focus-visible{outline-offset:-3px}
.config-summary dd{text-align:right;min-width:0;overflow-wrap:anywhere}
.config-summary dd small{display:block;color:#737b82;font-size:11px;font-weight:400;margin-top:4px}
.config-summary #summary-title{font-size:22px;line-height:1.3;scroll-margin-top:20px}
.config-summary .guide-result{padding:0;border:0;margin:16px 0}
.config-summary .guide-result>p{font-size:12px;color:#626c74}
.config-summary details{margin:14px 0;font-size:12px}
.config-summary details summary{cursor:pointer;min-height:36px;display:list-item;color:var(--blue)}
.config-summary #use-recommendation{margin:0 0 4px}
@media(min-width:761px){.config-summary{max-height:calc(100svh - var(--header) - 48px);overflow-y:auto}}
@media(max-width:900px){.config-layout{gap:28px;grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:760px){.config-layout{grid-template-columns:1fr;gap:28px}.config-summary{position:static}.config-summary>img{max-height:230px}.config-booking{margin-top:36px;padding-top:28px}.config-booking-form{grid-template-columns:1fr}.config-booking-form button{width:100%}.config-tabs button{font-size:12px}.config-fields{gap:12px}.appliance-row{grid-template-columns:minmax(0,1fr) 72px 56px;gap:8px}.config-layout h2,.config-booking h2{font-size:22px}}
.config-energy-demo{width:min(100%,720px);margin:0 auto 44px}
.config-energy-demo .energy-description{min-height:100px}
.config-energy-demo .energy-label.inverter{top:18%}
.config-energy-demo .energy-label.ev{left:74%;top:30%}
@media(max-width:760px){.config-energy-demo .energy-label{font-size:10px}.config-energy-demo .energy-label.inverter,.config-energy-demo .energy-label.ev{font-size:8px}}
