.termin-formular{display:flex;flex-direction:column;gap:var(--r-6)}
.termin-formular fieldset{border:0;margin:0;padding:0;min-inline-size:0;display:flex;flex-direction:column;gap:var(--r-4)}
.termin-formular .formular-titel{padding:0;margin-bottom:var(--r-2);font-family:var(--schrift-display);font-weight:var(--gewicht-titel);font-size:var(--t-lead);line-height:var(--lh-titel)}
.termin-formular .zeitzone,.termin-formular .vt-laedt,.termin-formular .vt-hinweis{color:var(--tinte-2);max-width:var(--mass)}
.termin-formular .zeiten{display:flex;flex-direction:column;gap:var(--r-5)}
.termin-formular .tag{gap:var(--r-2)}
.termin-formular .tag legend{padding:0;margin-bottom:var(--r-2);font-weight:var(--gewicht-stark)}
.termin-formular .zeiten-reihe{display:grid;grid-template-columns:repeat(auto-fill,minmax(7em,1fr));gap:var(--r-2)}
.termin-formular .woche{display:flex;flex-direction:column;gap:var(--r-5)}
@media (min-width:1024px){.termin-formular .zeiten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--r-5)}.termin-formular .woche{display:contents}.termin-formular .zeiten>p{grid-column:1 / -1}}
.termin-formular .blaettern{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--r-3)}
.termin-formular .textknopf{font:inherit;font-weight:var(--gewicht-stark);color:inherit;background:none;border:0;padding:0;min-height:var(--klickflaeche);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.termin-formular .blaettern .textknopf:last-child{margin-left:auto}
.termin-formular label.zeit{display:inline-flex;align-items:center;gap:var(--r-2);min-height:var(--klickflaeche);padding:0 var(--r-3);border:1px solid var(--linie-feld);border-radius:var(--radius-button);font-weight:var(--gewicht-stark);font-variant-numeric:tabular-nums;cursor:pointer}
.termin-formular label.zeit:has(input:checked){border-color:var(--akzent);outline:1px solid var(--akzent);outline-offset:calc(-1px - var(--linie-staerke))}
.termin-formular .haken input{appearance:none;display:grid;place-content:center;width:22px;height:22px;min-height:0;max-width:none;margin:0;padding:0;border:0;flex:none;border-radius:calc(var(--radius-feld) / 2);background:var(--feld-grund);box-shadow:inset 0 0 0 var(--linie-staerke) var(--linie-feld);cursor:pointer;transition:background-color .15s var(--kurve),box-shadow .15s var(--kurve)}
.termin-formular .haken input::before{content:"";width:12px;height:12px;background:var(--akzent-text);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transform:scale(0);transition:transform .15s var(--kurve)}
.termin-formular .haken input:checked{background:var(--akzent);box-shadow:inset 0 0 0 var(--linie-staerke) var(--akzent)}
.termin-formular .haken input:checked::before{transform:scale(1)}
.termin-formular .haken input:focus-visible{outline:3px solid var(--akzent);outline-offset:2px}
.termin-formular label.zeit input{appearance:none;width:var(--sym);height:var(--sym);margin:0;flex:none;border-radius:50%;background:var(--feld-grund);box-shadow:inset 0 0 0 var(--linie-staerke) var(--linie-feld);transition:box-shadow .15s var(--kurve)}
.termin-formular label.zeit input:checked{background:var(--akzent);box-shadow:inset 0 0 0 var(--linie-staerke) var(--akzent),inset 0 0 0 5px var(--feld-grund)}
.termin-formular select{width:100%;max-width:100%;font:inherit;font-size:var(--t-text);color:var(--tinte);background:var(--feld-grund);border:var(--linie-staerke) solid var(--linie-feld);border-radius:var(--radius-feld);min-height:var(--feld-h);padding:0 var(--r-4)}
.termin-formular textarea{min-height:130px;padding:var(--r-3) var(--r-4);resize:vertical}
.termin-formular .haken{display:block;position:relative;font-weight:var(--gewicht-text);padding-left:calc(var(--haken) + var(--r-3));font-size:var(--t-klein);line-height:var(--lh-klein);max-width:var(--mass)}
.termin-formular .haken input{position:absolute;left:0;top:0}
.termin-formular .feld-fotos{gap:var(--r-2)}
.termin-formular .wahl-frage{padding:0;margin-bottom:var(--r-2);font-weight:var(--gewicht-stark);max-width:var(--mass)}
.termin-formular .wahl-reihe{display:flex;flex-wrap:wrap;gap:var(--r-2)}
.termin-formular .wahl-reihe label.zeit{min-width:7em}
.termin-formular .wahl-reihe label.zeit input{min-height:0;max-width:none;height:var(--sym);padding:0;border-width:0}
.termin-formular .feld-urheber{gap:var(--r-2);margin-top:var(--r-2);padding-left:var(--r-4);border-left:var(--linie-staerke) solid var(--linie-feld)}
.termin-formular .branchen-fragen{display:flex;flex-direction:column;gap:var(--r-4)}
.termin-formular .vt-ohne{display:flex;flex-direction:column;gap:var(--r-4);max-width:var(--mass)}
.termin-formular .vt-ohne[hidden],.termin-formular [hidden]{display:none}
.termin-formular .aktionen{display:flex;flex-wrap:wrap;gap:var(--r-3)}
.termin-formular .vt-meldung{font-weight:var(--gewicht-stark);border-left:3px solid var(--fehler);padding-left:var(--r-3);max-width:var(--mass)}
.termin-formular #vt-schutz:empty,.termin-formular .fehlertext[hidden]{display:none}