/* ==== EnergiePerform Check-Assistent (Wärmepumpe, Klima …) – gemeinsame Wizard-Styles.
   Nutzt die Farb-Variablen aus styles.css. ==== */
.wpc{max-width:720px;margin:0 auto}
.wpc-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;border-top:4px solid var(--ember);
  padding:30px 30px 26px;box-shadow:0 18px 44px rgba(14,39,48,.09)}
@media(max-width:600px){.wpc-card{padding:22px 18px 20px;border-radius:14px}}

/* Fortschritt */
.wpc-progress{margin-bottom:22px}
.wpc-progress .bar{height:7px;border-radius:99px;background:var(--frost);overflow:hidden}
.wpc-progress .fill{height:100%;width:0;background:var(--ember);border-radius:99px;transition:width .35s cubic-bezier(.2,.8,.2,1)}
.wpc-progress .meta{display:flex;justify-content:space-between;align-items:center;margin-top:9px;
  font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}

/* Frage */
.wpc-step{animation:wpcIn .28s ease}
@keyframes wpcIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wpc-q{font-family:'Saira',sans-serif;font-weight:700;font-size:clamp(1.35rem,3.4vw,1.7rem);line-height:1.18;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 6px}
.wpc-hint{color:var(--steel);font-size:.95rem;margin:0 0 20px}

/* Optionen als große Auswahlkacheln */
.wpc-opts{display:grid;gap:11px}
.wpc-opts.two{grid-template-columns:1fr 1fr}
@media(max-width:520px){.wpc-opts.two{grid-template-columns:1fr}}
.wpc-opt{display:flex;align-items:center;gap:13px;text-align:left;width:100%;
  background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:15px 16px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:1rem;color:var(--ink);transition:border-color .15s ease,background .15s ease,transform .08s ease}
.wpc-opt:hover{border-color:var(--ember);background:#fff7f3}
.wpc-opt:active{transform:scale(.995)}
.wpc-opt.sel{border-color:var(--ember);background:#fff2ea;box-shadow:0 0 0 3px rgba(224,97,46,.12)}
.wpc-opt .ic{font-size:1.35rem;line-height:1;flex:none;width:28px;text-align:center}
.wpc-opt .tx{display:flex;flex-direction:column;gap:2px}
.wpc-opt .tx b{font-family:'Saira',sans-serif;font-weight:600;letter-spacing:-.01em}
.wpc-opt .tx small{color:var(--steel);font-size:.85rem}
.wpc-opt .chk{margin-left:auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex:none;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;transition:.15s}
.wpc-opt.sel .chk{background:var(--ember);border-color:var(--ember)}
.wpc-opt.multi .chk{border-radius:6px}

/* Navigation */
.wpc-nav{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:12px}
.wpc-back{background:none;border:none;cursor:pointer;color:var(--steel);font-family:'Saira',sans-serif;font-weight:600;
  font-size:.95rem;display:inline-flex;align-items:center;gap:.4em;padding:8px 4px}
.wpc-back:hover{color:var(--ink)}
.wpc-back[hidden]{visibility:hidden}
.wpc-next{margin-left:auto}
.wpc-next:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

/* Kontakt-Schritt */
.wpc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}
@media(max-width:520px){.wpc-fields{grid-template-columns:1fr}}
.wpc-field{display:flex;flex-direction:column;gap:6px}
.wpc-field.full{grid-column:1 / -1}
.wpc-field span{font-family:'Saira',sans-serif;font-weight:600;font-size:.9rem;color:var(--ink-2)}
.wpc-field span i{color:var(--ember);font-style:normal}
.wpc-field input{font:inherit;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.wpc-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,159,166,.14)}
.wpc-upload input[type=file]{font:inherit;font-size:.9rem;padding:11px 12px;border:1.5px dashed var(--line);border-radius:10px;background:var(--frost);color:var(--ink);cursor:pointer}
.wpc-upload input[type=file]:hover{border-color:var(--accent)}
.wpc-uphint{color:var(--steel);font-size:.82rem;margin-top:2px}
.wpc-consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.9rem;color:var(--ink-2);line-height:1.5}
.wpc-consent input{margin-top:3px;flex:none}
.wpc-consent i{color:var(--ember);font-style:normal}

/* Ergebnis */
.wpc-result{text-align:center;animation:wpcIn .3s ease}
.wpc-badge{display:inline-flex;align-items:center;gap:.5em;font-family:'IBM Plex Mono',monospace;font-size:.76rem;
  letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:99px;margin-bottom:16px}
.wpc-badge.gut{background:#e7f5ef;color:#1f7d5a}
.wpc-badge.solide{background:#eaf4f7;color:var(--cold-deep)}
.wpc-badge.pruefen{background:#fdf1e8;color:var(--ember-deep)}
.wpc-result h2{font-family:'Saira',sans-serif;font-weight:700;font-size:clamp(1.5rem,4vw,2rem);letter-spacing:-.01em;margin:0 0 12px;color:var(--ink)}
.wpc-result .lead{font-size:1.05rem;color:var(--ink-2);max-width:52ch;margin:0 auto 8px;line-height:1.6}
.wpc-points{list-style:none;padding:0;margin:20px auto 4px;max-width:440px;text-align:left;display:grid;gap:9px}
.wpc-points li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem;color:var(--ink-2)}
.wpc-points li::before{content:"✓";color:var(--accent-deep);font-weight:700;flex:none}
.wpc-disclaim{font-size:.86rem;color:var(--steel);margin:18px auto 0;max-width:48ch}

/* Status */
.wpc-status{margin-top:16px;padding:13px 15px;border-radius:10px;font-size:.95rem;display:none}
.wpc-status.ok{display:block;background:#e7f5ef;color:#1f7d5a;border:1px solid #b9e2d0}
.wpc-status.err{display:block;background:#fdece7;color:var(--ember-deep);border:1px solid #f3c9ba}

.wpc-trust{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;margin:18px auto 0;max-width:640px;
  font-family:'IBM Plex Mono',monospace;font-size:.76rem;letter-spacing:.04em;color:var(--steel)}
.wpc-trust b{color:var(--ink-2);font-weight:600}
