/* The common questionnaire stays light gray and keeps the shared region/city control. */
.pool-heating-customer-form [data-location-slot=generic],.pool-heating-customer-form [data-question=poolHeatVolumeMode]{grid-column:1/-1}
.pool-heating-customer-form input,.pool-heating-customer-form select{background:var(--parameter-surface,#f3f4f5)}
.pool-heating-customer-form [hidden]{display:none!important}
.pool-heating-result{min-width:0;overflow-wrap:anywhere}.pool-heating-result>p,.pool-heating-result li{font-size:16px;line-height:1.7}.pool-heating-result li{margin-bottom:12px}.pool-heating-result h3{font-size:clamp(22px,3vw,28px);line-height:1.25;margin:28px 0 15px}
.pool-heating-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.pool-heating-product{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0;overflow-wrap:anywhere}.pool-heating-product img{display:block;width:100%;height:210px;object-fit:contain;margin-bottom:20px}.pool-heating-product h3,.pool-heating-product h4{font-size:21px;line-height:1.3;margin:0 0 14px}.pool-heating-product h5{font-size:16px;line-height:1.5;margin:20px 0 10px}.pool-heating-product p,.pool-heating-product li{font-size:15px;line-height:1.65}.pool-heating-product .eyebrow{font-size:12px;margin:0 0 8px}.pool-heating-product .fine{font-size:13px}.pool-heating-product a{font-size:14px;display:inline-block;padding:10px 0;text-decoration:underline;text-underline-offset:3px}.pool-heating-price{display:block;font-size:30px;line-height:1.2}.pool-heating-budget{padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;margin:28px 0}.pool-heating-budget h3{margin-top:0}.pool-heating-budget p{font-size:16px;line-height:1.7}.pool-heating-caveat{padding:12px;border-left:3px solid var(--orange);background:#f3f4f5}
.pool-heating-intro h1{max-width:1000px}.pool-heating-intro>p:not(.eyebrow){max-width:800px}.pool-heating-intro .actions{margin-top:24px}.pool-heating-page .topic h2{font-size:25px}.pool-heating-page .pool-heating-product h3{font-size:22px}
@media(max-width:700px){.pool-heating-products{grid-template-columns:1fr}.pool-heating-product{padding:20px}.pool-heating-result ul{padding-left:21px}.pool-heating-product img{height:190px}.pool-heating-result>p,.pool-heating-result li{font-size:16px}.pool-heating-budget{padding:18px}}
.pool-heating-breadcrumb{padding-top:28px;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.pool-heating-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.pool-heat-testpoint{background:#f3f4f5;border-radius:10px;padding:12px 14px;margin:14px 0}.pool-heat-testpoint p{margin:6px 0}

/* Initial warm-up is energy only, visibly separated from engineering selection. */
.pool-energy{padding:22px;background:var(--parameter-surface,#f3f4f5);border-radius:18px;margin:26px 0}.pool-energy h3{margin-top:0}.pool-energy-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pool-energy-metrics p{font-size:14px;line-height:1.5;margin:0 0 8px}.pool-energy-metrics strong{font-size:clamp(24px,4vw,34px);line-height:1.2;display:block;overflow-wrap:anywhere}.pool-energy>.fine{font-size:13px;line-height:1.6}.pool-energy>p:last-child{margin-bottom:0}
@media(max-width:700px){.pool-energy{padding:18px}.pool-energy-metrics{grid-template-columns:1fr;gap:18px}}

/* Optional installation brief: progressive disclosure on a small screen. */
.pool-installation-form{grid-column:1/-1;min-width:0;border:1px solid var(--line,#dfe2e5);border-radius:16px;background:#fff;padding:0 20px;margin:6px 0}
.pool-installation-form>summary{cursor:pointer;font-size:19px;font-weight:600;line-height:1.45;padding:20px 0;min-height:44px}
.pool-installation-form>summary:focus-visible{outline:2px solid var(--orange,#df562a);outline-offset:5px;border-radius:4px}
.pool-installation-form>p{font-size:15px;line-height:1.65;margin:0 0 20px;color:#53606a}
.pool-installation-form>.fine{font-size:13px;margin:20px 0}
.pool-installation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pool-installation-fields>label{min-width:0;display:flex;flex-direction:column;gap:9px;font-size:15px;line-height:1.5}
.pool-installation-fields select,.pool-installation-fields input{width:100%;max-width:100%;min-height:48px;font-size:16px}
.pool-installation-fields .field-hint{font-size:13px;line-height:1.55;font-weight:400;color:#53606a}
.pool-installation{margin:30px 0;padding:24px;border:1px solid var(--line,#dfe2e5);border-radius:20px;background:#f7f8f9;min-width:0}
.pool-installation>.eyebrow{font-size:12px;letter-spacing:.12em;margin:0 0 9px}
.pool-installation>h3{margin:0 0 12px}.pool-installation>p{line-height:1.65;font-size:16px}
.pool-installation-group{margin-top:24px}.pool-installation-group>h4{font-size:20px;line-height:1.3;margin:0 0 12px}.pool-installation-group>.fine{font-size:14px;line-height:1.6;margin:0 0 14px}
.pool-installation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pool-installation-group[data-installation-group=equipment] .pool-installation-grid{grid-template-columns:1fr}
.pool-installation-item{background:#fff;border:1px solid var(--line,#dfe2e5);border-radius:14px;padding:18px;min-width:0}
.pool-installation-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.pool-installation-item h5{font-size:16px;line-height:1.4;margin:0;flex:1 1 160px}
.pool-installation-status{display:inline-block;font-size:11px;font-weight:600;line-height:1.5;padding:4px 8px;border-radius:6px;background:#f0f2f4;color:#44515d;max-width:100%}.pool-installation-status.is-essential{background:#e9f2ee;color:#21543d}
.pool-installation-item p{font-size:14px;line-height:1.65;margin:12px 0}.pool-installation-item .fine{font-size:12px;color:#53606a}.pool-installation-item .pool-installation-amount{font-size:14px;font-weight:600;margin:16px 0 0}
.pool-installation-route{font-size:13px;line-height:1.5;margin:14px 0}.pool-installation-route>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f2}.pool-installation-route dt{flex:1}.pool-installation-route dd{text-align:right;margin:0;max-width:48%;font-weight:600}
.pool-installation-total{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line,#dfe2e5);margin-top:24px;padding-top:22px}.pool-installation-total strong,.pool-installation-total>span{font-size:18px;line-height:1.4}.pool-installation-total>span{font-weight:600}.pool-installation-total p{flex-basis:100%;font-size:14px;line-height:1.65;margin:0;color:#53606a}
@media(max-width:700px){.pool-installation-form{padding:0 16px}.pool-installation-fields,.pool-installation-grid{grid-template-columns:1fr}.pool-installation{padding:18px 14px}.pool-installation-item{padding:16px}.pool-installation-item-head{gap:8px}.pool-installation-total strong,.pool-installation-total>span{font-size:17px}}
.pool-installation-component{display:flex;align-items:center;gap:14px;min-width:0}.pool-installation-diagram{width:88px;height:72px;flex:0 0 88px;background:#f5f7f8;border-radius:10px;padding:5px}.pool-installation-component .pool-installation-item-head{display:block;min-width:0}.pool-installation-component h5{margin:0 0 8px}.pool-installation-package-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin:14px 0 18px}.pool-installation-package-price strong{font-size:clamp(27px,4vw,36px);line-height:1.2}.pool-installation-package-price>span{font-size:13px;color:#53606a}.pool-installation>.pool-installation-illustration-note{font-size:12px;color:#66747d;margin:6px 0}.pool-installation-group[data-installation-group=basic] .pool-installation-amount{color:#21543d}
@media(max-width:420px){.pool-installation-diagram{width:72px;height:62px;flex-basis:72px}.pool-installation-component{gap:12px}}
.pool-heating-reference-details{margin:26px 0;border-top:1px solid var(--line,#dfe2e5);padding-top:18px}.pool-heating-reference-details>summary{cursor:pointer;font-size:20px;font-weight:600;line-height:1.45;padding:12px 0}.pool-installation-pump-image{display:block;width:180px;height:140px;max-width:46%;object-fit:contain;background:#fff}.pool-installation-selected-model{font-size:17px!important}.pool-installation-source{font-size:13px;display:inline-block;padding:10px 0;text-decoration:underline;text-underline-offset:3px}.pool-installation-subtotal{background:#fff;border:1px solid var(--line,#dfe2e5);padding:20px;border-radius:14px}.pool-installation-subtotal+ .pool-installation-total{border-top:0;margin-top:0}.pool-heating-customer-form [data-question=poolHeatPumpModel]{grid-column:1/-1}
.pool-installation-item .pool-installation-stock{font-size:13px;color:#53606a;border-left:2px solid #c6ced3;padding-left:12px}.pool-installation-item .pool-installation-stock[data-stock=out_of_stock]{color:#86502d;border-color:#c18b5a}

/* Reuse Solar's summary, two-column power/price and separate carousel layout. */
.pool-heating-customer-form #question-fields>label{display:grid;gap:8px;margin:0;min-width:0}
.pool-heating-customer-form #question-fields>.pool-installation-form{margin:0}
.pool-heating-customer-form .field-hint{font-weight:400;font-size:13px;line-height:1.55;color:#53606a}
.pool-heating-result.solar-premium-result .solar-result-kit-head h3{margin:0}
.pool-heating-result.solar-premium-result .solar-result-summary .pool-declared-power{padding-right:12px}
.pool-heating-result.solar-premium-result .solar-result-summary .pool-declared-power+div{padding-left:12px}
.pool-heating-result.solar-premium-result .pool-declared-power.is-pending strong{font-size:clamp(18px,3.5vw,25px);white-space:normal;overflow-wrap:normal}
.pool-heating-result.solar-premium-result .solar-result-totals .pool-power-conditions{font-size:12px;line-height:1.35;color:#536577;max-width:280px;margin-top:7px}
.pool-heating-result.solar-premium-result .pool-price-scope{font-size:12px;line-height:1.45;text-align:center;max-width:760px;margin:10px auto 0;color:#536577}
.pool-heating-result.solar-premium-result .solar-carousel-visual .pool-installation-pump-image{width:100%;height:100%;max-width:none;background:transparent;object-fit:contain}
.pool-heating-result.solar-premium-result .pool-photo-example{display:block;font-size:11px;line-height:1.4;color:#617186;margin:5px 0 0}
.pool-heating-result.solar-premium-result .pool-photo-pending{font-size:13px;line-height:1.4;text-align:center;color:#617186;padding:12px}
.pool-heating-result.solar-premium-result .pool-detail-photo{display:grid;place-items:center}
.pool-heating-result.solar-premium-result .pool-detail-photo .pool-installation-pump-image,.pool-heating-result.solar-premium-result .pool-detail-photo .pool-generic-board-photo{width:100%;height:100%;max-width:none;object-fit:contain}
.pool-heating-result.solar-premium-result .pool-optional-component-photo{float:right;width:min(38%,180px);height:130px;margin:0 0 14px 18px;display:grid;place-items:center;background:#fff;border-radius:12px}
.pool-heating-result.solar-premium-result .pool-optional-component-photo img{width:100%;height:100%;max-width:none;object-fit:contain}
.pool-heating-result.solar-premium-result :is(.pool-scope-details,.pool-heating-technical-details,.pool-heating-reference-details){margin:18px 0 0;border-top:1px solid #dfe5ea;padding:10px 0}
.pool-heating-result.solar-premium-result :is(.pool-scope-details,.pool-heating-technical-details,.pool-heating-reference-details)>summary{font-size:16px;font-weight:600;line-height:1.45;padding:12px 0;cursor:pointer;min-height:44px}
.pool-heating-result.solar-premium-result :is(.pool-scope-details,.pool-heating-technical-details,.pool-heating-reference-details) p{margin:12px 0;font-size:14px;line-height:1.65}
.pool-heating-result.solar-premium-result .pool-scope-details>article{margin:18px 0;padding:16px;background:#f4f6f8;border-radius:12px;display:flow-root}
.pool-heating-result.solar-premium-result .pool-scope-details h4{margin:0 0 10px;font-size:17px}
.pool-heating-result.solar-premium-result .pool-heating-technical-details h3{margin:24px 0 12px;font-size:21px}
.pool-heating-result.solar-premium-result .pool-heating-regional-pending{padding:14px 16px;border-left:3px solid var(--orange);background:#f4f6f8;font-size:14px;line-height:1.65}
.pool-heating-result.solar-premium-result>.pool-equipment-catalogue-link,.pool-heating-result.solar-premium-result>p:last-child{margin-top:16px;font-size:14px}
@media(max-width:650px){
 .pool-heating-result.solar-premium-result .solar-result-totals>div+div strong{font-size:clamp(23px,6.6vw,32px)}
 .pool-heating-result.solar-premium-result .solar-result-summary--pending .solar-result-totals>div+div strong{font-size:clamp(18px,4.9vw,25px)}
 .pool-heating-result.solar-premium-result .solar-result-totals .pool-power-conditions{font-size:10px}
 .pool-heating-result.solar-premium-result .pool-price-scope{font-size:11px}
 .pool-heating-result.solar-premium-result .solar-carousel-controls button{width:44px;height:44px}
 .pool-heating-result.solar-premium-result .solar-carousel-card{flex-basis:calc((100% - 10px)/1.8)}
 .pool-heating-result.solar-premium-result .solar-carousel-card h4{font-size:15px;line-height:1.35}
}

.pool-heating-result.solar-premium-result .pool-selection-caption{font-size:12px;line-height:1.45;text-align:center;max-width:760px;margin:10px auto 0;color:#536577}
.pool-heating-result.solar-premium-result .pool-model-action{margin:8px 0 0;text-align:right}
.pool-heating-result.solar-premium-result .pool-model-action button{min-height:44px;font-size:14px;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}

/* Keep every pump centered within the shared Solar card geometry. */
.pool-heating-result.solar-premium-result .solar-carousel-visual{display:flex;align-items:center;justify-content:center}
.pool-heating-result.solar-premium-result .pool-installation-pump-image{object-position:center;margin-inline:auto}
.pool-heating-result.solar-premium-result .pool-proposal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:24px 0 6px}
.pool-heating-result.solar-premium-result .pool-proposal-actions button{min-height:48px}
.pool-heating-result.solar-premium-result .pool-proposal-status{font-size:14px;line-height:1.5;margin:0}

.calculation-save .pool-proposal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0}
.calculation-save .pool-proposal-actions .button{flex:1 1 240px;width:auto;min-height:52px}
.calculation-save .pool-proposal-status{font-size:14px;line-height:1.5;margin:0}
