.public-booking{background:var(--grund-os);min-height:100dvh;color:var(--text)}html[data-eingebettet],html[data-eingebettet] body{height:auto;min-height:0}html[data-eingebettet] .public-booking{min-height:0}.public-booking-header{align-items:center;gap:12px;max-width:1280px;margin:0 auto;padding:32px 52px 0;display:flex}.public-booking-header b{overflow-wrap:anywhere;min-width:0;font-size:var(--gr-text);font-weight:600}.public-booking-main{max-width:1280px;margin:0 auto;padding:32px 52px 52px}.public-booking-footer{max-width:1280px;font-size:var(--gr-klein);color:var(--text-leise);align-items:center;gap:8px;margin:0 auto;padding:0 52px 32px;display:flex}.public-booking-footer img{border-radius:3px;width:14px;height:14px}.public-booking h1{font-size:var(--gr-seitentitel);font-family:var(--font-titel);letter-spacing:.04em;text-transform:uppercase;font-weight:800;font-stretch:115%}.public-booking h2{font-size:var(--gr-titel-klein);letter-spacing:.04em;font-weight:800;font-family:var(--font-titel);text-transform:uppercase;font-stretch:115%}.public-booking :focus-visible{outline-color:var(--betrieb)}.public-booking .gerippe-box,.public-booking .button.button-placeholder{background:var(--neutral-toenung)}.public-booking .booking-submit{background:var(--betrieb);color:var(--text-b);--ladefarbe:var(--text-b)}.public-booking .booking-submit:hover{background:color-mix(in srgb, var(--betrieb) 86%, #000)}.booking-intro{min-height:26px;margin-top:12px}.booking-block{background:var(--flaeche-os);border:1px solid var(--feldlinie);border-radius:var(--ecke-kachel);min-width:0;box-shadow:var(--schatten-kachel);padding:32px}.booking-columns{grid-template-columns:minmax(0,61.8fr) minmax(0,38.2fr);align-items:start;gap:20px;margin-top:32px;display:grid}.booking-choices,.booking-step{min-width:0}.booking-step+.booking-step{margin-top:32px}.booking-heading-placeholder{height:calc(var(--gr-titel-klein) * 1.2)}.result-heading-placeholder{width:80%;height:var(--gr-ueberschrift)}.booking-step-heading{border-bottom:1px solid var(--linie);align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;display:flex}.booking-step-mark{color:var(--aktion);font-size:var(--gr-text);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;font-weight:600;line-height:1;display:inline-flex}.booking-step-mark:before{content:attr(data-icon);font-feature-settings:"liga";font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 20;width:18px;font-family:Material Symbols Rounded;font-size:18px;font-weight:400;line-height:1;overflow:hidden}.booking-step-mark[data-done=true]:before{content:"check_circle";color:var(--erledigt)}.booking-types{background:var(--mulde);border-radius:var(--ecke-mulde);box-shadow:var(--mulde-schatten);outline:1px solid var(--haar);outline-offset:-1px;gap:6px;padding:8px;display:grid}.booking-selection{border:1px solid var(--feldlinie);background:var(--flaeche-os);color:var(--text);box-shadow:var(--kante-zweit)}.booking-selection:not(:disabled):hover{border-color:var(--feldlinie)}.booking-selection:active{box-shadow:none}.booking-selection[aria-checked=true]{background:var(--betrieb);color:var(--text-b);box-shadow:none;border-color:#0000}.booking-selection:disabled{box-shadow:none;color:var(--text-leise);cursor:not-allowed;background:0 0;border-color:#0000}.booking-type{border-radius:var(--ecke-zeile);text-align:left;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 20px 12px 16px;display:flex}.booking-radio{border:1px solid var(--feldlinie);border-radius:var(--ecke-kapsel);background:var(--flaeche-os);flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.booking-type[aria-checked=true] .booking-radio{border-color:var(--text-b);background:0 0}.booking-radio-dot{border-radius:var(--ecke-kapsel);background:var(--flaeche-os);width:8px;height:8px}.public-booking-type-text{overflow-wrap:anywhere;flex:1;min-width:0}.public-booking-type-text b{font-size:var(--gr-text);font-weight:500;display:block}.public-booking-type-text>span{font-size:var(--gr-klein);color:var(--text-mittel);display:block}.booking-type[aria-checked=true] .public-booking-type-text>span{color:rgb(from var(--text-b) r g b / .82)}.public-booking-price{font-size:var(--gr-text);font-variant-numeric:tabular-nums;font-weight:300;font-family:var(--font-zahl);flex-shrink:0}.booking-days-wrap{position:relative}.booking-days{background:var(--mulde);border-radius:var(--ecke-mulde);box-shadow:var(--mulde-schatten);scrollbar-width:thin;scroll-snap-type:x proximity;outline:1px solid var(--haar);outline-offset:-1px;gap:6px;padding:6px;display:flex;overflow-x:auto}.booking-days-fade{pointer-events:none;opacity:0;width:28px;transition:opacity var(--dauer-ein) var(--kurve-ein);position:absolute;top:6px;bottom:6px}.booking-days-fade-start{background:linear-gradient(to right, var(--mulde), transparent);left:6px}.booking-days-fade-end{background:linear-gradient(to left, var(--mulde), transparent);right:6px}.booking-days-wrap[data-fade-start=true] .booking-days-fade-start,.booking-days-wrap[data-fade-end=true] .booking-days-fade-end{opacity:1}.booking-day{border-radius:var(--ecke-zeile);text-align:center;font-variant-numeric:tabular-nums;scroll-snap-align:start;flex-shrink:0;width:60px;padding:8px 4px}.booking-day>span{font-size:var(--gr-beschriftung);letter-spacing:.16em;text-transform:uppercase;color:var(--text-leise);font-weight:600;display:block}.booking-day[aria-checked=true]>span{color:rgb(from var(--text-b) r g b / .82)}.booking-day:disabled>span{color:inherit}.booking-day b{font-size:var(--gr-text);margin-top:2px;font-weight:500;display:block}.booking-days .button-wrap{flex-shrink:0;align-self:center}.booking-times{background:var(--mulde);border-radius:var(--ecke-mulde);min-height:96px;box-shadow:var(--mulde-schatten);outline:1px solid var(--haar);outline-offset:-1px;margin-top:12px;padding:8px;position:relative;overflow-y:auto}.booking-times>[data-times-loading]{inset:8px}.booking-time-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}.booking-time{min-height:44px;font-size:var(--gr-text);font-variant-numeric:tabular-nums;border-radius:var(--ecke-pille);padding:8px 4px;font-weight:500;line-height:1.3}.public-booking-fields{gap:20px;display:grid}.booking-field-help{font-size:var(--gr-klein);color:var(--text-leise)}.booking-field-error{color:var(--fehler);font-size:var(--gr-klein)}.booking-note{resize:vertical;min-height:84px}.booking-summary{background:var(--mulde);border-radius:var(--ecke-zeile);min-height:52px;font-size:var(--gr-text);font-variant-numeric:tabular-nums;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-weight:500;display:flex}.booking-summary:before{content:"schedule";font-feature-settings:"liga";width:18px;color:var(--aktion);flex:none;font-family:Material Symbols Rounded;font-size:18px;font-weight:400;line-height:1;overflow:hidden}.booking-summary:empty{display:none}.booking-submit-row{flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px;display:flex}.booking-consent{font-size:var(--gr-klein);color:var(--text-leise)}.booking-empty{text-align:left;padding:20px}.booking-empty b{font-weight:500}.public-booking .booking-result{overflow-wrap:anywhere;background:var(--flaeche-os);border:1px solid var(--feldlinie);border-radius:var(--ecke-kachel);max-width:640px;box-shadow:var(--schatten-kachel);margin:0 auto;padding:32px}.public-booking:has(.booking-result) :is(.public-booking-header,.public-booking-footer){max-width:744px}.public-booking .booking-result h1{font-size:var(--gr-ueberschrift);font-family:var(--font-titel);letter-spacing:.04em;text-transform:uppercase;font-weight:800;font-stretch:115%}.public-booking .booking-result .error-code{font-size:var(--gr-seitentitel);margin-bottom:12px}.booking-mark{border-radius:var(--ecke-zeile);width:52px;height:52px;color:var(--erledigt-wort);background:var(--erledigt-toenung);place-items:center;margin-bottom:20px;display:grid}.booking-mark-cancelled{color:var(--text-mittel);background:var(--neutral-toenung)}.booking-when{background:var(--mulde);border-radius:var(--ecke-zeile);font-size:var(--gr-titel-klein);font-variant-numeric:tabular-nums;color:var(--text);margin:20px 0 12px;padding:12px 16px;font-weight:500}.public-booking .booking-result>p:not(.error-code,.eyebrow){margin-top:12px}.public-booking .booking-result .standalone-actions{margin-top:32px}@media not (min-width:994px){.booking-columns{grid-template-columns:minmax(0,1fr)}.public-booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-note-field{grid-column:1/-1}}@media (max-width:599px){.public-booking-header{padding:20px 16px 0}.public-booking-main{padding:20px 16px 32px}.public-booking-footer{padding:0 16px 32px}.booking-block,.public-booking .booking-result{padding:20px}.public-booking h1,.public-booking .booking-result h1{font-size:var(--gr-ueberschrift);font-family:var(--font-titel);letter-spacing:.04em;text-transform:uppercase;font-weight:800;font-stretch:115%}.public-booking-main>h1,.public-booking-main>.heading-box{min-height:66px}.booking-intro{min-height:52px}.public-booking-fields{grid-template-columns:minmax(0,1fr)}.booking-type{padding:12px}.booking-submit-row>.button-wrap,.booking-submit-row .button{width:100%}.booking-result .standalone-actions>.button-wrap{max-width:100%}}
