/* ============================================================
   PREISRECHNER-BLOCK – vollständig gekapselt.
   Alle Selektoren beginnen mit .mn-calc.
   Keine Element-Selektoren, kein Reset, keine globalen Regeln.
   Dieser Block ist zusammen mit dem Markup und dem Skript
   1:1 in ein Jimdo-HTML-Element übertragbar.
   ============================================================ */
.mn-calculator{
  --c-petrol:#0F4353; --c-petrol-dark:#0A2F3A; --c-petrol-100:#DBE3E5;
  --c-gruen:#86B152; --c-flaeche:#F4F6F5; --c-sand:#FAF7F2;
  --c-linie:#D8DEE1; --c-text:#1A1A1A; --c-sek:#4B5563;
  --c-fehler:#A3251E; --c-warn:#B45309; --c-radius:6px;
  font-family: system-ui, -apple-system, "Segoe UI", Carlito, Calibri, Roboto,
               "Helvetica Neue", Arial, sans-serif;
  font-size:17px; line-height:1.6; color:var(--c-text);
  max-width:720px;
}
.mn-calculator *,.mn-calculator *::before,.mn-calculator *::after{box-sizing:border-box}

.mn-calc__block{
  border:1px solid var(--c-linie);border-radius:var(--c-radius);
  background:#fff;padding:20px;margin-top:24px;
}
.mn-calc__block--ergebnis{background:var(--c-flaeche)}
.mn-calc__titel{
  font-size:20px;font-weight:700;color:var(--c-petrol);
  margin:0 0 4px;line-height:1.3;
}
.mn-calc__intro{font-size:15px;color:var(--c-sek);margin:0 0 20px}

.mn-calc__frage{padding:20px 0;border-top:1px solid var(--c-linie);margin:0}
.mn-calc__frage:first-of-type{border-top:0;padding-top:0}
.mn-calc__fieldset{border:0;border-top:1px solid var(--c-linie);padding:20px 0;margin:0;min-width:0}
.mn-calc__label{
  display:block;font-weight:700;color:var(--c-petrol);
  font-size:17px;line-height:1.35;margin:0 0 4px;padding:0;
}
.mn-calc__hilfe{font-size:15px;color:var(--c-sek);margin:0 0 14px}

/* Stepper */
.mn-calc__stepper{display:flex;align-items:stretch;gap:8px;max-width:220px}
.mn-calc__step{
  width:52px;min-height:52px;flex:0 0 auto;
  background:#fff;border:1px solid var(--c-linie);border-radius:var(--c-radius);
  color:var(--c-petrol);font-size:24px;font-weight:700;line-height:1;
  font-family:inherit;cursor:pointer;
}
.mn-calc__step:hover{background:var(--c-petrol-100)}
.mn-calc__step[disabled]{color:#9CA3AF;cursor:not-allowed;background:var(--c-flaeche)}
.mn-calc__zahl{
  width:100%;min-height:52px;text-align:center;
  font-family:inherit;font-size:19px;font-weight:700;color:var(--c-text);
  border:1px solid var(--c-linie);border-radius:var(--c-radius);
  padding:8px;background:#fff;
}
.mn-calc__zahl:focus-visible{outline:2px solid var(--c-petrol);outline-offset:2px}

/* Optionen */
.mn-calc__optionen{display:flex;flex-direction:column;gap:10px}
.mn-calc__option{
  display:flex;align-items:flex-start;gap:12px;
  min-height:52px;padding:14px 16px;cursor:pointer;
  border:1px solid var(--c-linie);border-radius:var(--c-radius);background:#fff;
}
.mn-calc__option:hover{background:var(--c-flaeche)}
.mn-calc__option input{
  width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;
  accent-color:var(--c-petrol);
}
.mn-calc__option.is-gewaehlt{border-color:var(--c-petrol);border-width:2px;padding:13px 15px;background:var(--c-petrol-100)}
.mn-calc__option span{line-height:1.4}
.mn-calc__unterfrage{
  margin-top:16px;padding-left:16px;border-left:3px solid var(--c-gruen);
}
.mn-calc__hinweis{
  margin-top:16px;padding:14px 16px;background:#fff;
  border:1px solid var(--c-linie);border-left:3px solid var(--c-gruen);
  border-radius:0 var(--c-radius) var(--c-radius) 0;
  font-size:15px;color:var(--c-sek);
}
.mn-calc__hinweis--offen{border-left-color:var(--c-warn)}
.mn-calc__hinweis strong{color:var(--c-petrol)}

/* Ergebnis */
.mn-calc__leer{font-size:15px;color:var(--c-sek);margin:0}
.mn-calc__zeile{
  display:flex;justify-content:space-between;gap:16px;
  padding:10px 0;border-top:1px solid var(--c-linie);font-size:16px;
}
.mn-calc__zeile:first-of-type{border-top:0}
.mn-calc__zeile span:last-child{
  font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;
}
.mn-calc__zeile--offen span:last-child{color:var(--c-warn);font-weight:600}
.mn-calc__summe{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-top:8px;padding-top:14px;border-top:2px solid var(--c-petrol);
}
.mn-calc__summe-label{font-weight:700;color:var(--c-petrol);font-size:17px}
.mn-calc__summe-wert{
  font-weight:700;color:var(--c-petrol);font-size:30px;line-height:1.2;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.mn-calc__fuss{font-size:14px;color:var(--c-sek);margin:16px 0 0}

/* Formular */
.mn-calc__zusammenfassung{
  background:var(--c-flaeche);border:1px solid var(--c-linie);
  border-radius:var(--c-radius);padding:16px;margin-bottom:24px;
}
.mn-calc__zf-liste{list-style:none;margin:0 0 14px;padding:0;font-size:15px}
.mn-calc__zf-liste li{
  display:flex;justify-content:space-between;gap:12px;
  padding:5px 0;border-bottom:1px solid var(--c-linie);
}
.mn-calc__zf-liste li:last-child{border-bottom:0}
.mn-calc__zf-liste b{color:var(--c-petrol);text-align:right}
.mn-calc__feldgruppe{margin-bottom:18px}
.mn-calc__feldlabel{display:block;font-weight:600;font-size:16px;margin:0 0 6px;color:var(--c-text)}
.mn-calc__pflicht{color:var(--c-sek);font-weight:400}
.mn-calc__feld{
  width:100%;min-height:52px;padding:12px 14px;
  font-family:inherit;font-size:17px;color:var(--c-text);background:#fff;
  border:1px solid var(--c-linie);border-radius:var(--c-radius);
}
.mn-calc__feld:focus-visible{outline:2px solid var(--c-petrol);outline-offset:2px}
.mn-calc__feld--textarea{min-height:130px;resize:vertical;line-height:1.5}
.mn-calc__feld.is-fehlerhaft{border-color:var(--c-fehler);border-width:2px}
.mn-calc__fehler{
  display:block;margin:6px 0 0;font-size:15px;color:var(--c-fehler);font-weight:600;
}
.mn-calc__reihe{display:flex;flex-direction:column;gap:18px}
.mn-calc__datenschutz{
  display:flex;align-items:flex-start;gap:12px;
  padding:16px;border:1px solid var(--c-linie);border-radius:var(--c-radius);
  font-size:15px;line-height:1.5;cursor:pointer;background:#fff;
}
.mn-calc__datenschutz input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--c-petrol)}
.mn-calc__datenschutz.is-fehlerhaft{border-color:var(--c-fehler);border-width:2px;padding:15px}
.mn-calc__aktionen{margin-top:24px}
.mn-calc__btn{
  display:inline-flex;align-items:center;justify-content:center;width:100%;
  min-height:52px;padding:14px 24px;border-radius:var(--c-radius);
  font-family:inherit;font-size:17px;font-weight:600;line-height:1.2;
  text-decoration:none;border:1.5px solid transparent;cursor:pointer;
}
.mn-calc__btn--primary{background:var(--c-petrol);color:#fff}
.mn-calc__btn--primary:hover{background:var(--c-petrol-dark)}
.mn-calc__btn--primary[disabled]{background:#7C949C;cursor:progress}
.mn-calc__btn--sek{background:#fff;color:var(--c-petrol);border-color:var(--c-petrol);width:auto;min-height:48px}
.mn-calc__btn--sek:hover{background:var(--c-petrol-100)}
.mn-calc__btn:focus-visible{outline:2px solid var(--c-petrol);outline-offset:2px}
.mn-calc__unverbindlich{font-size:14px;color:var(--c-sek);margin:10px 0 0;text-align:center}
.mn-calc__sammelfehler{
  margin:0 0 20px;padding:14px 16px;border:1px solid var(--c-fehler);
  border-left:3px solid var(--c-fehler);border-radius:0 var(--c-radius) var(--c-radius) 0;
  color:var(--c-fehler);font-size:15px;font-weight:600;background:#fff;
}
.mn-calc__erfolg{border-left:3px solid var(--c-gruen)}
.mn-calc__erfolg .mn-calc__titel{margin-bottom:12px}

@media (min-width:600px){
  .mn-calc__block{padding:28px}
  .mn-calc__reihe--2{flex-direction:row}
  .mn-calc__reihe--2 > *{flex:1 1 0;min-width:0}
  .mn-calc__reihe--2 > .mn-calc__schmal{flex:0 0 120px}
  .mn-calc__btn--primary{width:auto;min-width:280px}
  .mn-calc__unverbindlich{text-align:left}
  .mn-calc__summe-wert{font-size:34px}
}
