:root{--buchung-frei:var(--farbe-gelb);--buchung-frei-hover:#eae65f;--buchung-gedaempft:#6d6a65;--buchung-warnung:#9c3b22;--buchung-warnung-flaeche:#fbe7e1;--buchung-erfolg:#4f5c47;--buchung-erfolg-flaeche:#e6ebe2;--buchung-fokus:var(--farbe-tinte);--buchung-ziel:44px}.buchung{padding:clamp(48px, 6vw, 96px) var(--seitenrand);background:#fff}.buchung__innen{max-width:var(--inhaltsbreite-breit);grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:clamp(32px,4vw,72px);margin:0 auto;display:grid}.buchung__haupt{background:var(--rahmen);gap:2px;min-width:0;display:grid}.buchung__titel{font-family:var(--schrift-display);letter-spacing:-.023em;margin:0 0 clamp(24px,3vw,36px);font-size:clamp(36px,4vw,58px);font-weight:700;line-height:1.03}@media (width<=1100px){.buchung__innen{grid-template-columns:minmax(0,1fr)}}.schritte{background:var(--rahmen);counter-reset:schritt;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:0 0 clamp(24px,3vw,32px);padding:0;list-style:none;display:grid}.schritte__eintrag{font-family:var(--schrift-display);color:var(--buchung-gedaempft);min-height:var(--buchung-ziel);background:#fff;align-items:baseline;gap:10px;padding:14px 16px;font-size:16px;font-weight:500;display:flex}.schritte__nr{font-size:14px}.schritte__eintrag--aktiv{background:var(--farbe-tinte);color:#fff}.schritte__eintrag--fertig{background:var(--farbe-creme);color:var(--farbe-tinte)}.schritte__eintrag--fertig .schritte__nr:after{content:" ✓"}.schritt{border-top:2px solid var(--farbe-tinte);background:#fff;padding:clamp(24px,3vw,40px) 0}.schritt+.schritt{margin-top:0}.schritt__kopf{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.schritt__titel{font-family:var(--schrift-display);letter-spacing:-.016em;margin:0;font-size:clamp(22px,2vw,28px);font-weight:700;line-height:1.15}.schritt__wert{font-size:17px}.schritt--gesperrt .schritt__titel{color:var(--buchung-gedaempft)}.schritt--gesperrt .schritt__inhalt{display:none}.schritt__hinweis-gesperrt{color:var(--buchung-gedaempft);font-size:15px}.schritt--erledigt .schritt__inhalt{display:none}.textlink{font:inherit;font-family:var(--schrift-display);color:var(--farbe-tinte);border:0;border-bottom:2px solid var(--farbe-koralle);cursor:pointer;min-height:var(--buchung-ziel);background:0 0;align-items:center;padding:0;font-weight:500;display:inline-flex}.textlink:hover{color:var(--link-hover)}.textlink:active{color:var(--farbe-tinte-hover);border-color:var(--farbe-koralle-hover)}.kalender{gap:16px;display:grid}.kalender__kopf{justify-content:space-between;align-items:center;gap:12px;display:flex}.kalender__monat{font-family:var(--schrift-display);margin:0;font-size:21px;font-weight:700}.kalender__pfeile{gap:2px;display:flex}.kalender__pfeil{width:var(--buchung-ziel);height:var(--buchung-ziel);color:var(--farbe-tinte);cursor:pointer;background:#fff;border:1px solid #3b3a383d;place-content:center;padding:0;display:grid}.kalender__pfeil svg{width:20px;height:20px}.kalender__pfeil:hover{border-color:var(--farbe-tinte);background:var(--farbe-creme)}.kalender__pfeil:active{background:var(--farbe-tinte);color:#fff}.kalender__pfeil[disabled]{color:#a8a49d;border-color:var(--rahmen);cursor:not-allowed;background:#fff}.kalender__raster{border-collapse:collapse;table-layout:fixed;width:100%}.kalender__wt{letter-spacing:.12em;text-transform:uppercase;color:var(--text-sekundaer);text-align:center;padding:0 0 8px;font-size:12px;font-weight:400}.kalender__zelle{padding:1px}.kalender__tag{aspect-ratio:1;width:100%;min-height:var(--buchung-ziel);max-height:72px;font-family:var(--schrift-display);color:var(--buchung-gedaempft);cursor:default;background:#fff;border:0;place-content:center;gap:2px;padding:4px 2px;font-size:18px;font-weight:500;line-height:1;display:grid;position:relative}.kalender__punkte{font-family:var(--schrift-text);letter-spacing:0;font-size:11px;font-weight:400}.kalender__tag--frei{background:var(--buchung-frei);color:var(--farbe-tinte);cursor:pointer;font-weight:700}.kalender__tag--frei:hover{background:var(--buchung-frei-hover)}.kalender__tag--frei:active,.kalender__tag--gewaehlt,.kalender__tag--gewaehlt:hover{background:var(--farbe-tinte);color:#fff}.kalender__tag--voll{text-decoration:line-through 1px}.kalender__tag--heute:after{content:"";border:2px solid var(--farbe-tinte);pointer-events:none;position:absolute;inset:3px}.kalender__tag--gewaehlt.kalender__tag--heute:after{border-color:#fff}.kalender__tag--leer{visibility:hidden}.kalender__tag:focus-visible{outline:3px solid var(--buchung-fokus);outline-offset:1px;z-index:1}.kalender__tag--gewaehlt:focus-visible{outline-color:var(--farbe-koralle-text)}.kalender__legende{color:var(--text-sekundaer);flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.kalender__legende li{align-items:center;gap:8px;display:flex}.legende__muster{flex:none;width:18px;height:18px;display:inline-block}.legende__muster--frei{background:var(--buchung-frei)}.legende__muster--heute{border:2px solid var(--farbe-tinte)}.legende__muster--gewaehlt{background:var(--farbe-tinte)}.legende__muster--zu{border:1px solid var(--rahmen);background:#fff}.kalender--laedt .kalender__tag{color:#0000;background:var(--farbe-creme);animation:1.2s ease-in-out infinite puls}.kalender--laedt .kalender__tag--leer{visibility:hidden}@keyframes puls{50%{background:#e6e2d8}}@media (prefers-reduced-motion:reduce){.kalender--laedt .kalender__tag{animation:none}}.zeiten{gap:14px;margin-top:28px;display:grid}.zeiten__titel{font-family:var(--schrift-display);margin:0;font-size:18px;font-weight:700}.zeiten__liste{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.zeit{border:2px solid var(--farbe-tinte);width:100%;min-height:56px;color:var(--farbe-tinte);font-family:var(--schrift-display);cursor:pointer;background:#fff;padding:8px 12px;font-size:17px;font-weight:500}.zeit:hover{background:var(--buchung-frei)}.zeit:active{background:var(--farbe-tinte-hover);color:#fff}.zeit[aria-pressed=true]{background:var(--farbe-tinte);color:#fff}.zeit[disabled]{color:var(--buchung-gedaempft);cursor:not-allowed;background:#fff;border:1px dashed #3b3a3866}.zeit__zusatz{font-family:var(--schrift-text);margin-top:2px;font-size:13px;font-weight:400;display:block}.meldung{border-left:0;gap:10px;padding:18px 20px;font-size:16px;line-height:1.55;display:grid}.meldung__titel{font-family:var(--schrift-display);margin:0;font-size:17px;font-weight:700}.meldung--info{background:var(--farbe-creme)}.meldung--warnung{background:var(--buchung-warnung-flaeche);color:var(--buchung-warnung)}.meldung--warnung .meldung__titel{color:var(--buchung-warnung)}.meldung--erfolg{background:var(--buchung-erfolg-flaeche);color:var(--buchung-erfolg)}.meldung__aktion{justify-self:start}.meldung__symbol{flex:none;width:20px;height:20px}.meldung__zeile{align-items:flex-start;gap:12px;display:flex}.knopf{min-height:56px;font-family:var(--schrift-display);cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:16px;padding:0 28px;font-size:17px;font-weight:500;text-decoration:none;display:inline-flex}.knopf--primaer{background:var(--farbe-koralle-knopf);color:var(--farbe-tinte)}.knopf--primaer:hover{background:var(--farbe-koralle-knopf-hover);color:var(--farbe-tinte)}.knopf--primaer:active{background:var(--farbe-koralle-hover)}.knopf--zweit{color:var(--farbe-tinte);border:2px solid var(--farbe-tinte);background:#fff}.knopf--zweit:hover{background:var(--farbe-creme);color:var(--farbe-tinte)}.knopf--zweit:active,.knopf--tinte{background:var(--farbe-tinte);color:#fff}.knopf--tinte:hover{background:var(--farbe-tinte-hover);color:#fff}.knopf--breit{width:100%}.knopf[disabled]{color:var(--buchung-gedaempft);cursor:not-allowed;background:#e6e2d8;border-color:#0000}.knopf__pfeil{font-size:20px}.knopfreihe{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.angaben{gap:22px;display:grid}.angaben__paar{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.angaben__paar--plz{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.feld{align-content:start;gap:8px;display:grid}.feld__label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-sekundaer);font-size:12px}.feld__pflicht{color:var(--buchung-warnung)}.feld__optional{text-transform:none;letter-spacing:0}.feld__eingabe{width:100%;min-height:54px;font-family:var(--schrift-text);border:0;border-bottom:2px solid var(--farbe-tinte);background:var(--farbe-creme);color:var(--farbe-tinte);border-radius:0;padding:14px 16px;font-size:17px}.feld__eingabe:hover{background:#e9e5da}.feld__eingabe:focus-visible{outline:3px solid var(--buchung-fokus);outline-offset:2px;background:#fff}textarea.feld__eingabe{resize:vertical;min-height:120px}.feld--fehler .feld__eingabe{border-bottom-color:var(--buchung-warnung);background:var(--buchung-warnung-flaeche)}.feld__fehler{color:var(--buchung-warnung);align-items:flex-start;gap:8px;font-size:15px;line-height:1.45;display:flex}.feld__fehler svg{flex:none;width:18px;height:18px;margin-top:1px}.feld__hilfe{color:var(--text-sekundaer);font-size:14px}.personen{align-items:stretch;gap:0;max-width:220px;display:flex}.personen__knopf{border:2px solid var(--farbe-tinte);width:54px;min-height:54px;font-size:22px;font-family:var(--schrift-display);cursor:pointer;color:var(--farbe-tinte);background:#fff}.personen__knopf:hover{background:var(--farbe-creme)}.personen__knopf:active{background:var(--farbe-tinte);color:#fff}.personen__knopf[disabled]{border-color:var(--rahmen);color:#a8a49d;cursor:not-allowed;background:#fff}.personen__wert{text-align:center;border:0;border-top:2px solid var(--farbe-tinte);border-bottom:2px solid var(--farbe-tinte);font-family:var(--schrift-display);min-width:0;color:var(--farbe-tinte);-moz-appearance:textfield;background:#fff;flex:1;font-size:20px;font-weight:700}.personen__wert::-webkit-inner-spin-button{-webkit-appearance:none}@media (width<=720px){.angaben__paar,.angaben__paar--plz{grid-template-columns:minmax(0,1fr)}}.zusammenfassung{margin:0 0 24px;display:grid}.zusammenfassung__zeile{border-top:1px solid var(--rahmen);grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:8px 16px;min-height:52px;padding:10px 0;display:grid}.zusammenfassung__zeile:last-child{border-bottom:1px solid var(--rahmen)}.zusammenfassung dt{letter-spacing:.12em;text-transform:uppercase;color:var(--text-sekundaer);font-size:12px}.zusammenfassung dd{overflow-wrap:anywhere;margin:0;font-size:17px}.zusammenfassung__betrag dd{font-family:var(--schrift-display);font-size:24px;font-weight:700}.zusammenfassung__regulaer{font-family:var(--schrift-text);color:var(--text-sekundaer);margin-left:8px;font-size:15px;font-weight:400;text-decoration:line-through}.reservierung{background:var(--farbe-creme);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;padding:14px 18px;font-size:16px;display:flex}.reservierung__uhr{flex:none;width:22px;height:22px}.reservierung__rest{font-family:var(--schrift-display);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.reservierung--knapp{background:var(--buchung-warnung-flaeche);color:var(--buchung-warnung)}.haken{cursor:pointer;align-items:flex-start;gap:14px;padding:4px 0;font-size:16px;line-height:1.55;display:flex}.haken__box{width:24px;height:24px;accent-color:var(--farbe-tinte);flex:none;margin:1px 0 0}.haken--fehler{color:var(--buchung-warnung)}.zahlfeld{border:2px solid var(--farbe-tinte);min-height:360px;margin-top:24px;display:grid}.zahlfeld__vorher{background:#fff;align-content:start;gap:18px;padding:clamp(22px,3vw,36px);display:grid}.zahlfeld__marke{font-family:var(--schrift-display);color:var(--text-sekundaer);align-items:center;gap:12px;font-size:15px;font-weight:500;display:flex}.zahlfeld__marke svg{width:22px;height:22px}.zahlfeld__text{margin:0;font-size:17px;line-height:1.6}.zahlfeld__online{gap:18px;display:grid}.zahlfeld__online[hidden]{display:none}.zahlfeld__haken{gap:6px;display:grid}.zahlfeld__haken-online[hidden]{display:none}.zahlfeld__wege{gap:12px;display:grid}.zahlfeld__knopftext{text-align:left;flex:auto}@media (width<=420px){.zahlfeld .knopf{padding:0 18px}}.zahlfeld__weg-hinweis{color:var(--text-sekundaer);margin:-4px 0 0;font-size:14px}.zahlfeld__rahmen{grid-template-rows:auto 1fr;display:grid}.zahlfeld__leiste{background:var(--farbe-creme);color:var(--text-sekundaer);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:14px;display:flex}.zahlfeld__maske{text-align:center;min-height:300px;color:var(--text-sekundaer);background:repeating-linear-gradient(135deg,#fff 0 14px,#faf9f5 14px 28px);place-content:center;gap:14px;padding:24px;font-size:15px;display:grid}.zahlfeld__maske--geladen{background:#fff;padding:0;display:block}.zahlfeld__ladebalken{background:var(--rahmen);justify-self:center;width:220px;height:4px;position:relative;overflow:hidden}.zahlfeld__ladebalken:after{content:"";background:var(--farbe-tinte);width:40%;animation:1.1s linear infinite laufen;position:absolute;inset:0}@keyframes laufen{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.zahlfeld__ladebalken:after{width:100%;animation:none}}.zahlfeld__rahmenmarke{font-family:var(--schrift-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-sekundaer);font-size:13px}.ergebnis{border-top:2px solid var(--farbe-tinte);background:#fff;gap:22px;padding:clamp(28px,3vw,44px) 0;display:grid}.buchung [tabindex="-1"]:focus{outline:none}.ergebnis__marke{font-family:var(--schrift-display);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.ergebnis__marke svg{width:24px;height:24px}.ergebnis--gebucht .ergebnis__marke{color:var(--buchung-erfolg)}.ergebnis--warnung .ergebnis__marke{color:var(--buchung-warnung)}.ergebnis--info .ergebnis__marke{color:var(--text-sekundaer)}.ergebnis__titel{font-family:var(--schrift-display);letter-spacing:-.023em;margin:0;font-size:clamp(30px,3.6vw,52px);font-weight:700;line-height:1.04}.ergebnis__text{margin:0;font-size:17px;line-height:1.65}.ergebnis__daten{background:var(--rahmen);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;margin:0;display:grid}.ergebnis__daten>div{background:var(--farbe-creme);padding:18px 20px}.ergebnis__daten dt{letter-spacing:.12em;text-transform:uppercase;color:var(--text-sekundaer);margin-bottom:6px;font-size:12px}.ergebnis__daten dd{font-family:var(--schrift-display);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700}.ergebnis__pruefung{align-items:center;gap:14px;display:flex}.drehung{border:3px solid var(--rahmen);border-top-color:var(--farbe-tinte);border-radius:50%;flex:none;width:28px;height:28px;animation:.9s linear infinite drehen}@keyframes drehen{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.drehung{animation:none}}.alternative{background:var(--farbe-creme);gap:14px;padding:clamp(24px,2.6vw,36px);display:grid;position:sticky;top:140px}.alternative__titel{font-family:var(--schrift-display);margin:0;font-size:21px;font-weight:700}.alternative__text{margin:0;font-size:16px;line-height:1.6}.alternative__weg{border-top:1px solid var(--rahmen);min-height:52px;color:var(--farbe-tinte);font-family:var(--schrift-display);overflow-wrap:anywhere;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;font-size:18px;font-weight:500;text-decoration:none;display:grid}.alternative__weg:hover{color:var(--link-hover)}.alternative__weg svg{width:22px;height:22px}.alternative__klein{color:var(--text-sekundaer);margin:0;font-size:14px}@media (width<=1100px){.alternative{position:static}}@media (width<=720px){.buchung{padding:36px 20px 56px}.schritte__eintrag{flex-direction:column;gap:2px;padding:12px 10px;font-size:14px}.zusammenfassung__zeile{grid-template-columns:minmax(0,1fr) auto}.zusammenfassung__zeile dt{grid-column:1/-1}.reservierung__rest{margin-left:0}.knopf{width:100%}.kalender__tag{font-size:16px}.kalender__punkte{display:none}}.nur-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.marke-vorschlag{font-family:var(--schrift-display);letter-spacing:.12em;text-transform:uppercase;background:var(--farbe-blau-band);color:var(--farbe-tinte);vertical-align:middle;margin-left:8px;padding:3px 7px;font-size:11px;display:inline-block}.ergebnis__adresse{overflow-wrap:anywhere}@media (width<=480px){.ergebnis .knopfreihe{flex-direction:column;align-items:stretch;padding-bottom:72px}}
