/* Förder-Check in drei Schritten */
.wiz{background:#fff;color:var(--ink);border-radius:18px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.28);scroll-margin-top:110px}
@media (min-width:560px){.wiz{padding:28px}}
.wiz-t{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.wiz-s{color:var(--ink-soft);margin-top:4px}
.wiz-bar{height:6px;border-radius:3px;background:var(--line);margin:16px 0 4px;overflow:hidden}
.wiz-bar i{display:block;height:100%;width:33.3%;background:var(--sun);border-radius:3px;transition:width .35s cubic-bezier(.2,.7,.2,1)}
.wiz-step{border:0;margin:0;padding:0;min-width:0}
.wiz-step[hidden],.wiz [hidden]{display:none}
.wiz-step legend{font-weight:800;font-size:1.1rem;padding:0;margin:14px 0 10px}
.wiz-o{display:block;width:100%;min-height:52px;margin-top:8px;padding:10px 16px;text-align:left;font:inherit;font-weight:700;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.wiz-o:hover{border-color:var(--ink)}
.wiz-o:active{transform:scale(.98)}
.wiz-o.sel{background:var(--ink);border-color:var(--ink);color:#fff}
.wiz label{margin:10px 0 0}
.wiz label input{margin-top:6px}
.wiz-send{display:grid;gap:10px;margin-top:16px}
.wiz .wiz-wa{background:var(--spruce);border-color:var(--spruce);color:#fff}
.wiz .wiz-mail{background:transparent;border-color:var(--ink);color:var(--ink)}
.wiz .wiz-mail:hover{background:var(--ink);color:#fff}
.wiz-err{margin-top:12px;padding:10px 12px;border-radius:8px;background:#FDE3DF;color:#8A1C12;font-weight:700;font-size:.95rem}
.wiz-fine{margin-top:12px;font-size:.85rem;color:var(--ink-soft)}
.wiz-done{margin-top:14px;padding:14px;border-radius:10px;background:var(--sun-soft);font-weight:700}
.wiz-back{margin-top:12px;padding:8px 0;border:0;background:none;font:inherit;font-weight:700;color:var(--spruce);text-decoration:underline;cursor:pointer}
.wiz-trust{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}
.js-anim .wiz-step:not([hidden]){animation:wizIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes wizIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.route-inline{max-width:560px;margin:0 auto 44px}
@media (prefers-reduced-motion:reduce){.wiz-bar i,.wiz-o{transition:none}}
/* Formular-Versand */
.wiz .wiz-go{width:100%;cursor:pointer;font:inherit;font-weight:800}
.wiz .wiz-go[disabled]{opacity:.7;cursor:progress}
.wiz-send[hidden]{display:none}
.wiz-done:focus{outline:none}
.wiz-cb{margin-top:12px;font-weight:700}
.wiz-2{display:grid;gap:10px;margin-top:6px}
@media (min-width:480px){.wiz-2{grid-template-columns:1fr 1fr}}
.wiz select{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-weight:400;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:10px}
.wiz select:focus{border-color:var(--spruce);outline:none}

/* Terminbuchung und Upload */
.bk,.up{max-width:680px;background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 34px rgba(16,48,44,.12)}
@media (min-width:560px){.bk,.up{padding:30px}}
.up form{padding:0;background:none;box-shadow:none;border:0}
.bk [hidden],.up [hidden]{display:none}
.bk-h{font-weight:800;font-size:1.1rem;margin:18px 0 10px}
.bk-h:first-child{margin-top:0}
.bk-days,.bk-times{display:flex;flex-wrap:wrap;gap:8px}
.bk-d,.bk-t{min-height:48px;padding:8px 14px;font:inherit;font-weight:700;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:12px;cursor:pointer}
.bk-t{min-width:76px}
.bk-d:hover,.bk-t:hover{border-color:var(--ink)}
.bk-d.sel,.bk-t.sel{background:var(--ink);border-color:var(--ink);color:#fff}
.bk-pick{padding:12px 14px;border-radius:10px;background:var(--sun-soft);font-weight:700;margin-bottom:14px}
.bk-form label,.up label{margin:12px 0 0}
.bk-form label input,.up label input{margin-top:6px}
.bk-2{display:grid;gap:0 12px}
@media (min-width:560px){.bk-2{grid-template-columns:1fr 1fr}}
.bk-go,.up-go{width:100%;margin-top:18px;cursor:pointer;font:inherit;font-weight:800}
.bk-go[disabled],.up-go[disabled]{opacity:.7;cursor:progress}
.bk-msg,.up-msg{margin-top:14px;font-weight:700;color:var(--ink-soft)}
.bk-msg.err,.up-msg.err{padding:10px 12px;border-radius:8px;background:#FDE3DF;color:#8A1C12}
.bk-done,.up-done{padding:16px;border-radius:12px;background:var(--sun-soft);font-weight:700;font-size:1.05rem}
.bk-done:focus,.up-done:focus{outline:none}
.bk-alt{max-width:680px;margin-top:18px;color:var(--ink-soft)}
.up-pick input{padding:10px;background:#fff;border-style:dashed}
.up-list{list-style:none;margin:8px 0 0;padding:0}
.up-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:.95rem;overflow-wrap:anywhere}
.up-list button{margin-left:6px;padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--spruce);text-decoration:underline;cursor:pointer}
.wiz-next{display:inline-block;margin-top:12px}
[data-pers][hidden],[data-gate][hidden]{display:none}
.up input[readonly]{background:#E7EEEA;color:var(--ink-soft)}

/* Unterschrift und Kunden-Links */
.sg-ok{display:flex;gap:10px;align-items:flex-start;font-weight:700;margin:14px 0 4px}
.sg-ok input{width:22px;min-height:22px;height:22px;flex:none;margin-top:2px}
.sg-pad{display:block;width:100%;height:190px;background:#fff;border:2px dashed var(--line);border-radius:12px;touch-action:none;cursor:crosshair}
.sg-clear{margin-top:8px;padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--spruce);text-decoration:underline;cursor:pointer}
.sg-text{font-weight:600}
.lk-out{margin-top:18px}
.lk-row{display:grid;gap:8px;align-items:end;padding:12px 0;border-top:1px solid var(--line)}
@media (min-width:560px){.lk-row{grid-template-columns:1fr auto}}
.lk-row input{font-size:.85rem}
.lk-row .btn{cursor:pointer;font:inherit;font-weight:800;min-height:50px}
.box{max-width:680px;background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 34px rgba(16,48,44,.12)}
@media (min-width:560px){.box{padding:30px}}
.box [hidden]{display:none}
.box label{margin:12px 0 0}
.box label input{margin-top:6px}
[data-pers][hidden],[data-gate][hidden]{display:none}
.up input[readonly]{background:#E7EEEA;color:var(--ink-soft)}
/* Rechtstexte und Widerruf */
.legal h2{font-size:1.25rem;margin:28px 0 8px}
.legal h2:first-child{margin-top:0}
.legal p+p{margin-top:10px}
.legal .ende{font-weight:700;margin-top:18px}
.wr .btn{cursor:pointer;font:inherit;font-weight:800;margin-top:14px}
.wr-start p{margin:0}
footer.foot a.foot-wr{display:inline-block;margin-top:8px;padding:8px 14px;border:2px solid var(--sun);border-radius:999px;color:#fff;font-weight:800}
footer.foot a.foot-wr:hover{background:var(--sun);color:var(--ink)}
.sg-ok a{color:var(--spruce)}
/* Wunschtermine Vor-Ort-Termin */
.wt-hint{color:var(--ink-soft);margin:-4px 0 12px}
.wt-grid{display:grid;gap:14px}
.wt-day{padding:12px 0;border-top:1px solid var(--line)}
.wt-day:first-child{border-top:0;padding-top:0}
.wt-dl{font-weight:800;margin-bottom:8px}
.wt-ws{display:flex;flex-wrap:wrap;gap:8px}
.wt-b{min-width:0;font-size:.95rem}
.wt-b[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.wt-all{border-style:dashed}
.wt-count{margin-top:12px;font-weight:700;color:var(--spruce)}
.wt label{margin:12px 0 0}
.wt label input{margin-top:6px}
/* Vor-Ort-Termin bestätigen */
.vb-who{padding:12px 14px;border-radius:10px;background:var(--paper);margin-bottom:6px}
.vb-who p{margin:2px 0}
.vb-gone{color:var(--ink-soft);font-style:italic}
/* Eigene Boxen für Wunschtermine und Bestätigung */
.wt,.vb{max-width:680px;background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 34px rgba(16,48,44,.12)}
@media (min-width:560px){.wt,.vb{padding:30px}}
.wt [hidden],.vb [hidden]{display:none}
.wt .bk-go,.vb .bk-go{width:100%;margin-top:18px}
