/* Bad-Planer: Schrittleiste, Schalter, Karte */
.bp-hinweis{margin-top:var(--sp-3);max-width:60ch;font-size:var(--fs-s)}
.bp-titel{font-size:var(--fs-xl);margin-top:var(--sp-5);margin-bottom:var(--sp-3)}

.fortschritt{margin-bottom:var(--sp-5)}
.fortschritt__balken{height:3px;background:var(--c-line);border-radius:2px;overflow:hidden}
.fortschritt__balken span{display:block;height:100%;width:25%;background:var(--c-warm);transition:width var(--t) var(--ease)}
.fortschritt__liste{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2)}
.fortschritt__btn{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.4rem .2rem;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--c-ink-soft);font-family:var(--f-head);font-size:var(--fs-xs);font-weight:500;cursor:pointer;text-align:left;transition:color var(--t-fast),border-color var(--t-fast)}
.fortschritt__btn:hover{color:var(--c-ink)}
.fortschritt__btn[aria-current="step"]{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:600}
.fortschritt__nr{display:grid;place-items:center;flex:0 0 1.6rem;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--c-warm);font-size:var(--fs-xs)}
.fortschritt__btn[aria-current="step"] .fortschritt__nr{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.fortschritt__btn.is-fertig .fortschritt__nr{background:var(--c-sand);}
@media (max-width:559px){
  .fortschritt__btn{font-size:0;gap:0;justify-content:center}
  .fortschritt__btn .fortschritt__nr{font-size:var(--fs-xs)}
}

/* Ohne JS: alle Schritte sichtbar, Schalter ausgeblendet */
html:not(.bp-js) .bp-schalter,html:not(.bp-js) .fortschritt{display:none}
html:not(.bp-js) [data-formular-auf]{display:none}
[data-schritt][hidden]{display:none}

.bp-schalter{display:flex;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-6)}
.bp-schalter .btn[disabled]{opacity:.45;cursor:default}

.option{border-width:2px;border-color:var(--c-line)}
.option:has(input:checked){border-color:var(--c-warm);box-shadow:none}

.bp-karte{padding:var(--sp-5)}
.bp-karte h2{font-size:var(--fs-xl)}
.bp-karte > p{margin-top:var(--sp-2)}
.bp-formular{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--c-sand-dark)}
.bp-formular[hidden]{display:none}

/* Mobil: Vorschau oben fixiert */
@media (max-width:1023px){
  .planer__buehne{position:sticky;top:var(--sticky);z-index:10;background:var(--c-bg);padding-block:var(--sp-2);margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
  .planer__vorschau{aspect-ratio:16/9;box-shadow:var(--shadow-s)}
  .planer__buehne .bp-titel,.planer__buehne .summe{display:none}
}
@media print{
  .fortschritt,.bp-schalter,.bp-karte{display:none!important}
  .planer__buehne .bp-titel,.planer__buehne .summe{display:block!important}
}