/* Wirtschaftlichkeit: Ergänzungen zu preise.css */
.js .calc[data-w] .calc__in{gap:26px}
.calc__inwrap{display:inline-flex;align-items:center;gap:8px;flex:none}
.calc__inwrap .calc__num{width:7.5em}
.calc__unit{font-size:.85rem;font-weight:300;color:var(--mute);min-width:3.2em}
.calc__lab label{flex:1 1 auto}
.calc__adv{border-top:1px solid var(--line);padding-top:18px}
.calc__adv summary{cursor:pointer;font-weight:500;color:var(--ink);margin-bottom:18px}
.calc__adv .calc__f+.calc__f{margin-top:26px}
.calc__f legend{padding:0}
.tbl__cap{caption-side:top;text-align:left;font-weight:300;color:var(--mute);padding:0 0 12px;font-size:.95rem}
.calc__tbl tr[hidden]{display:none}

/* Zahlenkette */
.cascade{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.cascade li{position:relative;padding:22px 22px 22px 0;display:flex;flex-direction:column;gap:6px}
.cascade li:not(:last-child)::after{content:"";position:absolute;right:14px;top:34px;width:10px;height:10px;border-top:2px solid var(--lime);border-right:2px solid var(--lime);transform:rotate(45deg)}
.cascade strong{font-size:clamp(1.4rem,1.9vw,2.1rem);font-weight:300;color:var(--ink);line-height:1.1;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.cascade span{font-size:.92rem;font-weight:300;color:var(--mute)}
.cascade .is-key strong{color:#6E8A00;font-weight:500}

/* Energiefluss */
.wchart{margin-top:20px}
.flow svg{display:block;width:100%;height:auto;margin-top:12px}
.flow .nd rect{fill:#fff;stroke:var(--line);stroke-width:1.5}
.flow .nd--pv rect{stroke:var(--lime);fill:var(--lime-50)}
.flow .nd--hub rect{fill:var(--ink);stroke:var(--ink)}
.flow .nd--hub .t1{fill:#fff;font-size:17px;letter-spacing:.08em}
.flow .nd--grid rect{stroke:var(--blue);fill:#fff}
.flow text{font-family:var(--font)}
.flow .t1{font-size:19px;font-weight:500;fill:var(--ink)}
.flow .t2{font-size:13px;font-weight:300;fill:var(--mute)}
.flow .fl{fill:none;stroke-linecap:round;stroke-dasharray:2 14;animation:wg-flow 1.1s linear infinite}
.flow .fl--pv{stroke:var(--lime-d)}
.flow .fl--sur{stroke:var(--grey)}
.flow .fl--grid{stroke:var(--blue);animation-direction:normal}
.flow .fl__t{font-size:14px;font-weight:600;fill:var(--ink)}
.flow .fl__t--grid{font-weight:300;fill:var(--mute);font-size:13px}
@keyframes wg-flow{to{stroke-dashoffset:-16}}

/* Diagramm (kumulierter Cashflow) */
.chart .ln--cum{stroke:var(--lime-d);stroke-width:3}
.chart .ln--feed{stroke:var(--mute);stroke-width:2.5;stroke-dasharray:7 5;fill:none}
.chart__legend{display:flex;flex-wrap:wrap;gap:6px 22px;margin:12px 0 0;font-size:.9rem;font-weight:300;color:var(--mute)}
.chart__key::before{content:"";display:inline-block;width:26px;height:0;border-top:3px solid var(--lime-d);vertical-align:middle;margin-right:8px}
.chart__key--feed::before{border-top:2.5px dashed var(--mute)}
.wtbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.97rem}
.wtbl th,.wtbl td{padding:11px 10px;border-top:1px solid #E1E5E7;text-align:right}
.wtbl thead th{border-top:0;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.wtbl tbody th{text-align:left;font-weight:400;color:var(--ink)}
.wcmp__txt{margin:16px 0 0;font-weight:500;color:var(--ink)}
.chart .area{fill:rgba(178,217,27,.16);stroke:none}
.chart .zero{stroke:var(--ink);stroke-width:1.2}
.chart .pb-d{fill:var(--ink);stroke:#fff;stroke-width:2.5}
.chart .pb-t{font-weight:600;fill:var(--ink)}

@media (max-width:1000px){
  .cascade{grid-template-columns:1fr 1fr}
  .cascade li:not(:last-child)::after{display:none}
}
@media (max-width:560px){
  .cascade{grid-template-columns:1fr}
  .calc__inwrap{width:100%}.calc__inwrap .calc__num{width:100%;flex:1}
}

/* Kompakter Rechner: Eingaben zweispaltig, Ergebnis dicht, beides passt in eine Bildschirmhöhe */
@media (min-width:1001px){
  .js .calc[data-w]{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}
  .calc[data-w] .calc__in{grid-template-columns:1fr 1fr;gap:clamp(10px,1.8vh,20px) 32px;padding:clamp(16px,2.4vh,28px) clamp(20px,2vw,32px);align-content:start}
  .calc[data-w] .calc__adv,.calc[data-w] [data-reset]{grid-column:1/-1}
  .calc[data-w] .calc__lab{margin-bottom:2px;gap:8px;flex-wrap:nowrap;align-items:flex-end}
  .calc[data-w] .calc__lab label{flex:1 1 0;min-width:0}
  .calc[data-w] .calc__lab label{font-size:.9rem;line-height:1.25}
  .calc[data-w] .calc__inwrap .calc__num{width:5.6em;padding:5px 8px;font-size:.92rem}
  .calc[data-w] .calc__unit{font-size:.75rem;min-width:0}
  .calc[data-w] .range{height:22px}
  .calc[data-w] .calc__adv{padding-top:12px}
  .calc[data-w] .calc__adv summary{margin-bottom:0}
  .calc[data-w] .calc__adv[open] summary{margin-bottom:14px}
  .calc[data-w] [data-reset]{padding:9px 20px}

  .calc[data-w] .calc__out{padding:clamp(16px,2.4vh,28px) clamp(20px,2vw,32px);top:calc(var(--head-h) + 12px);max-height:calc(100vh - var(--head-h) - 24px);overflow:auto}
  .calc[data-w] .calc__big{font-size:clamp(2.1rem,3.6vh + .6rem,3rem)}
  .calc[data-w] .calc__kpi{gap:8px;margin:clamp(10px,1.6vh,16px) 0}
  .calc[data-w] .calc__kpi div{padding:8px 12px}
  .calc[data-w] .calc__kpi dt{font-size:.74rem}
  .calc[data-w] .calc__kpi dd{font-size:1.05rem;margin:0}
  .calc[data-w] .calc__tbl{font-size:.85rem}
  .calc[data-w] .calc__tbl th,.calc[data-w] .calc__tbl td{padding:clamp(3px,.6vh,6px) 0}
  .calc[data-w] .calc__rule{margin-top:8px!important;font-size:.8rem}
  .calc[data-w] .calc__rhythm{margin-top:clamp(8px,1.4vh,14px);padding:8px 12px;font-size:.84rem}
  .calc[data-w] .calc__rhythm p+p{margin-top:0}
  .calc[data-w] .calc__act{margin-top:clamp(10px,1.6vh,16px)}
  .calc[data-w] .calc__act .btn{padding:10px 18px;font-size:.95rem}
}
/* Niedrige Bildschirme: Ergebnis kürzen, damit nichts scrollen muss */
@media (min-width:1001px) and (max-height:800px){
  .calc[data-w] .calc__tbl tr:first-child,.calc[data-w] .calc__rule{display:none}
  .calc[data-w] .calc__rhythm{display:none}
}

/* Eingabe- und Ergebnisbox gleich hoch */
@media (min-width:1001px){
  .js .calc[data-w]{align-items:stretch}
}

/* Betriebsmodell-Schalter und erweiterte Annahmen */
.calc[data-w] .calc__f--model{grid-column:1/-1}
.calc[data-w] [hidden]{display:none!important}
.calc__adv-grid{display:grid;gap:18px 28px}
.calc__adv-grid+.calc__f{margin-top:18px}
@media (min-width:1001px){
  .calc__adv-grid{grid-template-columns:1fr 1fr;gap:clamp(10px,1.8vh,18px) 28px;margin-bottom:clamp(10px,1.8vh,18px)}
}
@media (min-width:1001px) and (max-height:900px){
  .calc[data-w] .calc__tbl tr:first-child{display:none}
  .calc[data-w] .calc__kpi{margin:8px 0}
}

/* Kein Scrollen: Ergebnis ohne innere Scrollleiste, Nebenzeilen entfallen auf normalen Bildschirmhöhen */
@media (min-width:1001px){
  .calc[data-w] .calc__out{max-height:none;overflow:visible}
}
@media (min-width:1001px) and (max-height:900px){
  .calc[data-w] .calc__tbl tr:nth-child(-n+3){display:none}
  .calc[data-w] .calc__rhythm{display:none}
}
@media (min-width:1001px) and (max-height:700px){
  .calc[data-w] .calc__out{max-height:calc(100vh - var(--head-h) - 24px);overflow:auto}
}

.calc[data-w] .calc__f--model{position:relative}
.calc__legend-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.calc__legend{font-weight:500;color:var(--ink);font-size:.92rem}
.calc__reset{background:none;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font:inherit;font-size:.82rem;font-weight:500;color:var(--ink);cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
.calc__reset:hover{border-color:var(--lime-d);background:var(--lime-50)}


/* Erweiterte Annahmen: gleiche Zeilenhöhe in beiden Spalten */
.calc__adv-grid .calc__f+.calc__f,.calc__adv .calc__adv-grid>.calc__f{margin-top:0}
.calc__adv-grid{align-items:end}
.calc[data-w] [data-f="load"] .calc__num{width:8.4em}

/* Beispielkarten */
.ex .ex__r small{display:block;margin:4px 0 0;font-size:.85rem;line-height:1.35}
