/* PV Zürich – Heizkostenrechner */
#pv-hkr{--hk-navy:#0F2547;--hk-blue:#1A4A9A;--hk-blue-dark:#143C7E;--hk-yellow:#F5B21E;--hk-green:#4A9A3C;--hk-green-bg:#EEF6E8;--hk-ink:#2C3E5A;--hk-slate:#4E5D73;--hk-muted:#6A7890;--hk-line:#E5EAF1;--hk-line-input:#CDD6E3;--hk-surface:#F5F7FA;--hk-surface-blue:#F1F4F9;font-family:Manrope,system-ui,sans-serif;color:var(--hk-ink);width:100%}
#pv-hkr [hidden]{display:none!important}
.elementor-widget-html:has(#pv-hkr){width:100%;max-width:100%;flex:1 1 100%}
#pv-hkr *,#pv-hkr *::before,#pv-hkr *::after{box-sizing:border-box}
#pv-hkr .pvh-card{background:#fff;border:1px solid var(--hk-line);border-radius:20px;box-shadow:0 20px 50px rgba(15,37,71,.08);padding:36px 40px}
#pv-hkr .pvh-steps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none}
#pv-hkr .pvh-step{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--hk-line-input);border-radius:999px;background:#fff;color:var(--hk-slate);font-family:inherit;font-weight:600;font-size:14px;line-height:1.2;cursor:default}
#pv-hkr .pvh-step b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--hk-surface-blue);color:var(--hk-blue);font-size:12px}
#pv-hkr .pvh-step.is-active{background:var(--hk-blue);border-color:var(--hk-blue);color:#fff}
#pv-hkr .pvh-step.is-active b{background:rgba(255,255,255,.18);color:#fff}
#pv-hkr .pvh-step.is-done{cursor:pointer;color:var(--hk-blue)}
#pv-hkr .pvh-step.is-done:hover{background:var(--hk-surface-blue)}
#pv-hkr .pvh-pane[hidden]{display:none}
#pv-hkr .pvh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 24px}
#pv-hkr .pvh-field{display:flex;flex-direction:column;gap:8px;min-width:0}
#pv-hkr .pvh-field.span-2{grid-column:span 2}
#pv-hkr label,#pv-hkr .pvh-label{font-size:14px;font-weight:700;color:var(--hk-navy);line-height:1.3}
#pv-hkr .pvh-label small,#pv-hkr label small{font-weight:600;color:var(--hk-muted);font-size:12px}
#pv-hkr input[type=number],#pv-hkr select{width:100%;height:50px;padding:0 14px;border:1px solid var(--hk-line-input);border-radius:12px;background:#fff;color:var(--hk-navy);font-family:inherit;font-weight:500;font-size:15px;line-height:1;appearance:auto;transition:border-color .15s,box-shadow .15s}
#pv-hkr input[type=number]:focus,#pv-hkr select:focus{outline:none;border-color:var(--hk-blue);box-shadow:0 0 0 3px rgba(26,74,154,.15)}
#pv-hkr .pvh-unit{display:flex}
#pv-hkr .pvh-unit input{border-top-right-radius:0;border-bottom-right-radius:0}
#pv-hkr .pvh-unit span{display:grid;place-items:center;min-width:86px;padding:0 14px;border:1px solid var(--hk-line-input);border-left:0;border-radius:0 12px 12px 0;background:var(--hk-surface-blue);color:var(--hk-blue);font-weight:700;font-size:14px}
#pv-hkr .pvh-hint{margin:0;font-size:13px;line-height:1.45;color:var(--hk-muted)}
#pv-hkr .pvh-check{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--hk-slate);cursor:pointer}
#pv-hkr .pvh-check input{width:18px;height:18px;accent-color:var(--hk-blue)}
#pv-hkr .pvh-seg{display:flex;flex-wrap:wrap;gap:8px}
#pv-hkr .pvh-seg label{position:relative;cursor:pointer}
#pv-hkr .pvh-seg input{position:absolute;opacity:0;pointer-events:none}
#pv-hkr .pvh-seg span{display:inline-block;padding:12px 16px;border:1px solid var(--hk-line-input);border-radius:12px;background:#fff;font-weight:600;font-size:14px;color:var(--hk-slate);transition:all .15s}
#pv-hkr .pvh-seg input:checked+span{border-color:var(--hk-blue);background:var(--hk-surface-blue);color:var(--hk-blue);box-shadow:inset 0 0 0 1px var(--hk-blue)}
#pv-hkr .pvh-seg input:focus-visible+span{box-shadow:0 0 0 3px rgba(26,74,154,.25)}
#pv-hkr .pvh-sep{height:1px;background:var(--hk-line);margin:28px 0 22px;border:0}
#pv-hkr details.pvh-more summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--hk-navy);list-style:none;display:flex;align-items:center;gap:8px}
#pv-hkr details.pvh-more summary::-webkit-details-marker{display:none}
#pv-hkr details.pvh-more summary::before{content:"";width:0;height:0;border-left:6px solid var(--hk-navy);border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s}
#pv-hkr details.pvh-more[open] summary::before{transform:rotate(90deg)}
#pv-hkr details.pvh-more summary small{font-weight:500;color:var(--hk-muted);font-size:13px}
#pv-hkr details.pvh-more .pvh-grid{margin-top:20px}
#pv-hkr .pvh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}
#pv-hkr .pvh-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border:0;border-radius:10px;background:var(--hk-blue);color:#fff;font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
#pv-hkr .pvh-btn:hover{background:var(--hk-blue-dark);color:#fff}
#pv-hkr .pvh-btn.is-ghost{background:#fff;color:var(--hk-blue);border:1px solid var(--hk-line-input)}
#pv-hkr .pvh-btn.is-ghost:hover{background:var(--hk-surface-blue)}
#pv-hkr .pvh-btn.is-yellow{background:var(--hk-yellow);color:var(--hk-navy)}
#pv-hkr .pvh-btn.is-yellow:hover{background:#F7C34C}
#pv-hkr .pvh-error{margin:14px 0 0;color:#9B1C1C;font-weight:600;font-size:14px}
/* Ergebnis */
#pv-hkr .pvh-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}
#pv-hkr .pvh-kpi{padding:20px 22px;border-radius:16px;background:var(--hk-surface)}
#pv-hkr .pvh-kpi.is-good{background:var(--hk-green-bg)}
#pv-hkr .pvh-kpi span{display:block;font-size:13px;font-weight:600;color:var(--hk-muted);margin-bottom:6px}
#pv-hkr .pvh-kpi strong{display:block;font-size:26px;font-weight:800;line-height:1.15;color:var(--hk-navy)}
#pv-hkr .pvh-kpi.is-good strong{color:#3A7F2E}
#pv-hkr .pvh-kpi em{display:block;font-style:normal;font-size:13px;color:var(--hk-slate);margin-top:4px}
#pv-hkr .pvh-h3{margin:0 0 14px;font-size:18px;font-weight:800;color:var(--hk-navy)}
#pv-hkr .pvh-bars{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}
#pv-hkr .pvh-bar{display:grid;grid-template-columns:200px 1fr 120px;align-items:center;gap:14px;font-size:14px}
#pv-hkr .pvh-bar-name{font-weight:700;color:var(--hk-navy)}
#pv-hkr .pvh-bar-track{height:14px;border-radius:999px;background:var(--hk-surface-blue);overflow:hidden}
#pv-hkr .pvh-bar-fill{height:100%;border-radius:999px;background:#A8B5C8;transition:width .5s ease}
#pv-hkr .pvh-bar.is-best .pvh-bar-fill{background:var(--hk-green)}
#pv-hkr .pvh-bar.is-wp .pvh-bar-fill{background:var(--hk-blue)}
#pv-hkr .pvh-bar.is-best.is-wp .pvh-bar-fill{background:var(--hk-green)}
#pv-hkr .pvh-bar-val{text-align:right;font-weight:700;color:var(--hk-navy);font-variant-numeric:tabular-nums}
#pv-hkr .pvh-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#pv-hkr .pvh-opt{position:relative;display:flex;flex-direction:column;padding:20px;border:1px solid var(--hk-line);border-radius:16px;background:#fff}
#pv-hkr .pvh-opt.is-best{border-color:var(--hk-green);box-shadow:0 0 0 1px var(--hk-green)}
#pv-hkr .pvh-badge{position:absolute;top:-11px;left:16px;padding:3px 10px;border-radius:999px;background:var(--hk-green);color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em}
#pv-hkr .pvh-opt h4{margin:0 0 4px;font-size:16px;font-weight:800;color:var(--hk-navy)}
#pv-hkr .pvh-opt p.pvh-sub{margin:0 0 14px;font-size:12px;color:var(--hk-muted);min-height:16px}
#pv-hkr .pvh-opt dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:7px 10px;font-size:13px}
#pv-hkr .pvh-opt dt{color:var(--hk-slate)}
#pv-hkr .pvh-opt dd{margin:0;text-align:right;font-weight:700;color:var(--hk-navy);font-variant-numeric:tabular-nums;white-space:nowrap}
#pv-hkr .pvh-opt dd.is-plus{color:#3A7F2E}
#pv-hkr .pvh-opt .pvh-total{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:8px;padding-top:10px;border-top:1px solid var(--hk-line);font-weight:800;color:var(--hk-navy);font-size:14px}
#pv-hkr .pvh-note{margin:22px 0 0;padding:16px 18px;border-radius:12px;background:#FDF4DF;color:#6A4A0C;font-size:13px;line-height:1.55}
#pv-hkr .pvh-disclaimer{margin:14px 0 0;font-size:12px;line-height:1.55;color:var(--hk-muted)}
#pv-hkr .pvh-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding:22px 24px;border-radius:16px;background:var(--hk-navy);color:#fff}
#pv-hkr .pvh-cta strong{display:block;font-size:17px;font-weight:800;color:#fff}
#pv-hkr .pvh-cta span{display:block;font-size:14px;color:#C7D2E3;margin-top:4px}
@media (max-width:1024px){#pv-hkr .pvh-card{padding:28px}#pv-hkr .pvh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#pv-hkr .pvh-opts{grid-template-columns:repeat(2,minmax(0,1fr))}#pv-hkr .pvh-bar{grid-template-columns:150px 1fr 110px}}
@media (max-width:767px){#pv-hkr .pvh-card{padding:22px 18px;border-radius:16px}#pv-hkr .pvh-grid,#pv-hkr .pvh-kpis,#pv-hkr .pvh-opts{grid-template-columns:minmax(0,1fr)}#pv-hkr .pvh-field.span-2{grid-column:auto}#pv-hkr .pvh-bar{grid-template-columns:1fr auto;gap:6px 10px}#pv-hkr .pvh-bar-track{grid-column:1/-1;grid-row:2}#pv-hkr .pvh-kpi strong{font-size:22px}#pv-hkr .pvh-actions .pvh-btn{flex:1 1 auto;justify-content:center}}
@media (prefers-reduced-motion:reduce){#pv-hkr *{transition:none!important}}
