/* Kalkulatory — według makiet _kalkulatory (zestaw B, specyfikacja 07.11). */
.cx{color:var(--pc-ink)}
.cx-hero{position:relative;min-height:clamp(340px,26vw,480px);display:flex;align-items:center;padding:0 var(--pc-gutter);overflow:hidden;background:#eef0ee}
.cx-hero-img,.cx-hero-img img{position:absolute;inset:0;width:100%;height:100%}
.cx-hero-img img{object-fit:cover;object-position:70% 50%}
.cx-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7f6f2f5 0%,#f7f6f2e0 32%,#f7f6f200 60%)}
.cx-hero-in{position:relative;z-index:1;max-width:560px}
.cx-hero .pc-crumb{padding:0 0 18px;font-size:12px;color:#7f8b91}.cx-hero .pc-crumb span{padding:0 6px}
.cx-hero h1{font-family:var(--pc-serif);font-weight:400;font-size:clamp(32px,3.2vw,50px);line-height:1.08;margin:0 0 14px}
.cx-lead{margin:0 0 20px;font-size:15px;line-height:1.55;color:#3d4f5f}
.cx-trust{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap}
.cx-trust li{display:flex;align-items:center;gap:8px;font-size:12px;color:#3f5565;max-width:190px}
.cx-trust svg{width:22px;height:22px;color:var(--pc-accent);flex:none}
.cx-bar{display:flex;gap:4px;padding:16px var(--pc-gutter);background:#fff;border-bottom:1px solid var(--pc-line);overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:20}
.cx-step{display:flex;align-items:center;gap:8px;background:none;border:0;padding:8px 12px;border-radius:20px;font:inherit;font-size:13px;color:#6b7a85;cursor:pointer;white-space:nowrap}
.cx-num{width:26px;height:26px;border-radius:50%;border:1px solid #c9d2d7;display:inline-flex;align-items:center;justify-content:center;font-size:12px;background:#fff}
.cx-step.on{color:var(--pc-ink);font-weight:600}.cx-step.on .cx-num{background:var(--pc-accent);border-color:var(--pc-accent);color:#fff}
.cx-step.done .cx-num{background:#e3eef5;border-color:#b9d1e0;color:var(--pc-accent)}
.cx-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding:24px var(--pc-gutter) 50px;align-items:start}
.cx-main{min-width:0}
.cx-count{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#537087;margin:0 0 6px}
.cx-sec-h{margin:8px 0 16px}
.cx-kicker{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#537087;margin:0 0 6px;font-weight:700}
.cx-sec-h h2{font-family:var(--pc-serif);font-weight:400;font-size:28px;margin:0 0 6px}
.cx-copy{margin:0;color:#556574;font-size:14px;line-height:1.5;max-width:70ch}
.cx-pane>.cx-sec-h:not(:first-child){margin-top:32px}
.cx-cards{display:grid;gap:12px;margin:8px 0 18px}
.cx-cards.c2{grid-template-columns:repeat(2,1fr)}.cx-cards.c3{grid-template-columns:repeat(3,1fr)}.cx-cards.c4{grid-template-columns:repeat(4,1fr)}.cx-cards.c5{grid-template-columns:repeat(5,1fr)}
.cx-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--pc-line);border-radius:6px;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.cx-card:hover{border-color:#b9cbd6}
.cx-card input{position:absolute;opacity:0;pointer-events:none}
.cx-card-img{display:block;aspect-ratio:16/10;background:#f1f2ef;overflow:hidden}
.cx-card.sm .cx-card-img{aspect-ratio:3/2}
.cx-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.cx-noimg{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#9db4c1}.cx-noimg svg{width:34px;height:34px}
.cx-card-b{display:flex;flex-direction:column;gap:4px;padding:12px 14px}
.cx-card-b b{font-size:14px;font-weight:600}
.cx-card-b small{font-size:12px;color:#5d6d79;line-height:1.45}
.cx-tick{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #cfd6d9;display:flex;align-items:center;justify-content:center;color:transparent}
.cx-tick svg{width:14px;height:14px}
.cx-card:has(input:checked){border:2px solid var(--pc-accent);box-shadow:0 4px 14px #2b719e22}
.cx-card:has(input:checked) .cx-tick{background:var(--pc-accent);border-color:var(--pc-accent);color:#fff}
.cx-card:has(input:focus-visible){outline:2px solid var(--pc-accent);outline-offset:2px}
.cx-cards:not(:has(.cx-card-img img)) .cx-card-img{display:none}
.cx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}
.cx-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5dde1;border-radius:20px;padding:8px 14px;font-size:13px;background:#fff;cursor:pointer}
.cx-chip input{accent-color:var(--pc-accent);margin:0}
.cx-chip:has(input:checked){border-color:var(--pc-accent);background:#edf4f8;color:var(--pc-accent)}
.cx-field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.cx-lbl{font-size:13px;font-weight:600}
.cx-lbl:empty{display:none}
.cx-inp{display:flex;align-items:center;border:1px solid #dfe4e6;border-radius:4px;background:#fff}
.cx-inp:empty{display:none}
.cx-inp input,.cx-inp select,.cx-inp output{flex:1;min-width:0;height:40px;border:0;background:transparent;padding:0 10px;font:inherit;font-size:13px;color:var(--pc-ink);outline:0}
.cx-inp output{display:flex;align-items:center;color:#9aa6ad}.cx-inp output:empty::before{content:"—"}
.cx-inp:focus-within{border-color:var(--pc-accent);box-shadow:0 0 0 3px #2b719e1f}
.cx-unit{padding:0 10px;color:#7b8a93;font-size:12px;border-left:1px solid #eef0f0}
.cx-help{font-size:11px;color:#7b8a93}
.cx-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}
.cx-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
.cx-split{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:start}
.cx-cutaway picture,.cx-cutaway img{display:block;width:100%;border-radius:6px}
.cx-room{background:#fff;border:1px solid var(--pc-line);border-radius:6px;padding:16px 18px;margin-top:8px}
.cx-room-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cx-room-h svg{width:20px;height:20px;color:var(--pc-ink-2)}.cx-room-h b{flex:1;font-size:15px}
.cx-room-act{display:flex;gap:10px;color:#7b8a93}
.cx-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--pc-accent);color:#fff;border:1px solid var(--pc-accent);border-radius:4px;padding:11px 18px;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.cx-btn svg{width:16px;height:16px}
.cx-btn.ghost{background:#fff;color:var(--pc-accent);border-color:#b9cbd6}
.cx-btn:disabled{opacity:.4;cursor:default}
.cx-btn.wide{width:100%;margin-top:14px}
.cx-nav{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid var(--pc-line)}
.cx-side{position:sticky;top:76px}
.cx-sum{background:#fff;border:1px solid var(--pc-line);border-radius:6px;padding:18px}
.cx-sum h3{font-family:var(--pc-serif);font-weight:400;font-size:22px;margin:0 0 12px}
.cx-sum ul{list-style:none;margin:0;padding:0}
.cx-sum li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f0f1f1;font-size:13px;color:#4f6070}
.cx-prog{margin-top:14px;font-size:12px;color:#6b7a85}
.cx-prog i{display:block;height:6px;background:#eef0ee;border-radius:3px;margin-top:6px;overflow:hidden}
.cx-prog b{display:block;height:100%;background:var(--pc-accent);transition:width .3s}
.cx-status{margin-top:14px;background:#f4f7f9;border-radius:4px;padding:12px;font-size:12px;color:#4f6070}
.cx-status b{display:block;color:var(--pc-ink);margin-bottom:4px;font-size:13px}.cx-status p{margin:0;line-height:1.45}
.cx-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.cx-res{background:#fff;border:1px solid var(--pc-line);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:8px}
.cx-res .pc-line{display:block}
.cx-res-img{aspect-ratio:4/3;background:#f1f2ef;border-radius:4px}
.cx-res-k{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;color:#5d6d79}
.cx-res-k b:empty::before{content:"—";color:#9aa6ad;font-weight:400}
.cx-res-k small{color:#9aa6ad}
@media (max-width:1100px){
  .cx-body{grid-template-columns:1fr}
  .cx-side{position:static}
  .cx-cards.c5{grid-template-columns:repeat(3,1fr)}
  .cx-cards.c4{grid-template-columns:repeat(2,1fr)}
  .cx-results{grid-template-columns:1fr 1fr}
}
@media (max-width:800px){
  .cx-hero{min-height:520px;align-items:flex-start;padding:24px 16px}
  .cx-hero-img img{object-position:center bottom}
  .cx-hero::after{background:linear-gradient(180deg,#f7f6f2f5 0%,#f7f6f2e6 45%,#f7f6f200 72%)}
  .cx-trust{gap:10px}.cx-trust li{max-width:none;width:100%}
  .cx-bar{padding:10px 12px}
  .cx-step{padding:6px 8px;font-size:12px}
  .cx-step:not(.on) .cx-num+*{display:none}
  .cx-body{padding:18px 16px 40px}
  .cx-sec-h h2{font-size:24px}
  .cx-cards.c2,.cx-cards.c3,.cx-cards.c4,.cx-cards.c5{grid-template-columns:1fr 1fr}
  .cx-grid2,.cx-grid3,.cx-split{grid-template-columns:1fr}
  .cx-grid3>span:empty{display:none}
  .cx-results{grid-template-columns:1fr}
}
/* wyniki z API (shared/calc-ac.js) */
.cx-ico{border:0;background:none;padding:2px;color:inherit;cursor:pointer;display:inline-flex}.cx-ico[hidden]{display:none}
.cx-rooms{display:flex;flex-direction:column;gap:8px}
.cx-res-n{font-size:14px;line-height:1.35;color:var(--pc-ink)}
.cx-res-m{font-size:12px;color:#5d6d79}
.cx-res-p{display:flex;flex-direction:column;margin-top:auto}.cx-res-p b{font-size:18px;color:var(--pc-ink)}.cx-res-p small{font-size:11px;color:#6b7a85}
.cx-res .cx-btn{justify-content:center;text-decoration:none}
.cx-res-msg{grid-column:1/-1;background:#fff;border:1px solid var(--pc-line);border-radius:6px;padding:18px;margin:0;font-size:14px;color:#4f6070}
.cx-res-wait{grid-column:1/-1;display:flex;gap:12px}.cx-res-wait i{flex:1;height:150px;background:#eaecea;border-radius:6px;animation:cxblink 1.4s infinite alternate}
@keyframes cxblink{to{opacity:.35}}
.cx-btn[hidden]{display:none!important}
.cx-all{grid-column:1/-1;justify-content:center;text-decoration:none}
/* wynik pomp (shared/calc-hp.js) */
.cx-energy{background:#fff;border:1px solid var(--pc-line);border-radius:6px;padding:14px 16px;margin:12px 0}
.cx-energy dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0}.cx-energy dt{font-size:11px;color:#6b7a85}.cx-energy dd{margin:2px 0 0;font-size:16px;font-weight:600;color:var(--pc-ink)}
.cx-warn{margin:12px 0 0;padding:10px 14px 10px 30px;background:#fff6e5;border-radius:4px;font-size:12px;color:#7a5600}.cx-warn li{margin:2px 0}
.cx-energy[hidden]{display:none}
