/* First-call flow: existing Denzer tokens and typography, one centered step. */
.booking-shell{max-width:660px;margin:0 auto;padding:64px 24px 88px;min-height:76vh;text-align:center}
.booking-shell [hidden]{display:none!important}.booking-shell .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.booking-intro{max-width:540px;margin:0 auto 32px}.booking-intro h1{font-size:clamp(32px,6vw,48px);line-height:1.12;letter-spacing:-.035em;font-weight:400;margin:12px 0 16px}.booking-intro p{color:var(--dz-muted);font-size:17px;line-height:1.55;margin:0}.booking-intro .dz-eyebrow{font-size:12px;letter-spacing:.12em}
.booking-progress{display:flex;justify-content:center;gap:8px;margin:28px 0 32px}.booking-progress span{width:28px;height:4px;border-radius:4px;background:var(--dz-surface)}.booking-progress .active{background:var(--dz-ink)}
.booking-panel{border:0;padding:0;margin:0;min-width:0;animation:booking-in .18s ease-out}.booking-panel h2{font-size:clamp(23px,4.5vw,29px);line-height:1.25;letter-spacing:-.025em;font-weight:600;margin:0 0 22px}.booking-panel .sub{font-size:15px;color:var(--dz-muted);margin:-10px 0 24px}
.booking-choices{display:grid;gap:10px;text-align:left}.booking-shell .booking-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:58px;border-radius:14px;padding:16px 18px;background:var(--dz-surface);cursor:pointer;font-size:17px;line-height:1.35}.booking-choice input{appearance:none;width:20px;height:20px;min-width:20px;border:1.5px solid var(--dz-muted);border-radius:50%;margin:0;background:transparent}.booking-choice input[type=checkbox]{border-radius:6px}.booking-choice:has(input:checked){box-shadow:inset 0 0 0 2px var(--dz-ink)}.booking-choice input:checked{border:6px solid var(--dz-ink);background:var(--dz-bg)}.booking-choice:has(input:focus-visible){outline:3px solid var(--dz-muted);outline-offset:3px}
.booking-actions{display:flex;justify-content:center;gap:12px;margin:28px 0 0}.booking-shell button{font:inherit;cursor:pointer}.booking-shell .primary,.booking-shell .secondary{border:0;border-radius:999px;padding:14px 26px;min-height:50px;font-weight:600}.booking-shell .primary{background:var(--dz-ink);color:var(--dz-bg);min-width:170px}.booking-shell .secondary{background:var(--dz-surface);color:var(--dz-ink)}.booking-shell button:disabled{opacity:.4;cursor:default}.booking-shell button:focus-visible,.booking-shell a:focus-visible{outline:3px solid var(--dz-muted);outline-offset:4px}
.booking-price{display:grid;justify-items:center;gap:4px;font-size:14px;color:var(--dz-muted);line-height:1.5;max-width:490px;margin:0 auto 24px;text-align:center;padding:18px 12px;border-block:1px solid var(--dz-line)}.booking-price strong{font-size:26px;font-weight:600;line-height:1.3;color:var(--dz-ink)}.booking-price small{font-size:14px;font-weight:400}.booking-price a{display:inline-flex;align-items:center;min-height:44px}.booking-shell a{color:inherit;text-underline-offset:3px}.booking-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:center}.booking-day{padding:16px 18px;background:var(--dz-surface);border-radius:14px}.booking-shell .booking-day p{font-size:15px;font-weight:500;margin:0 0 12px}.booking-times{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.booking-shell .booking-time{display:block;cursor:pointer}.booking-time input{position:absolute;opacity:0;width:1px;height:1px}.booking-time span{display:block;border-radius:999px;background:var(--dz-bg);padding:11px 20px;min-height:44px}.booking-time input:checked+span{background:var(--dz-ink);color:var(--dz-bg)}.booking-time input:focus-visible+span{outline:3px solid var(--dz-muted);outline-offset:3px}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}.booking-fields label{display:grid;gap:7px;font-size:14px;color:var(--dz-muted)}.booking-fields input,.booking-fields textarea{width:100%;box-sizing:border-box;border:0;border-radius:12px;background:var(--dz-surface);padding:16px;font:inherit;font-size:17px;color:var(--dz-ink)}.booking-fields input{height:56px}.booking-fields textarea{min-height:90px;resize:vertical}.booking-fields input:focus,.booking-fields textarea:focus{outline:2px solid var(--dz-ink);outline-offset:1px}.booking-wide{grid-column:1/-1}.booking-summary{margin:0 0 22px;padding:16px;background:var(--dz-surface);border-radius:14px;font-size:16px;line-height:1.5}.booking-channels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.booking-foot{font-size:13px;color:var(--dz-muted);line-height:1.6;margin:20px auto 0}.booking-error{font-size:15px;line-height:1.5;margin:20px 0}.booking-success{line-height:1.6}.booking-success h2{font-size:28px}.booking-info-links{display:grid;gap:12px;margin:24px auto}.booking-info-links a{display:block;padding:16px;background:var(--dz-surface);border-radius:14px;text-decoration:none}
@keyframes booking-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.booking-shell{padding:36px 20px 56px}.booking-intro{margin-bottom:24px}.booking-fields{grid-template-columns:1fr}.booking-shell .booking-choice{min-height:60px}.booking-shell .booking-channels .booking-choice{padding:14px;font-size:16px}.booking-actions{position:relative;gap:8px}.booking-actions .primary,.booking-actions .secondary{min-width:0;padding:14px 18px}.booking-days{grid-template-columns:1fr}.booking-progress{margin:24px 0}.booking-intro h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.booking-panel{animation:none}}

#termin-form{width:100%;margin:0 auto}#termin-form label,#termin-form button{margin-top:0}#termin-form .booking-choice{display:flex;font-weight:400;font-size:17px}#termin-form .booking-fields input,#termin-form .booking-fields textarea{border:0;border-radius:12px;background:var(--dz-surface);padding:16px}#termin-form .booking-fields label{display:grid;font-weight:400}#termin-form .booking-time{font-weight:400}

/* Keep copy and controls aligned within the shared page styles. */
.booking-shell .booking-panel h2,.booking-shell .booking-panel .sub{text-align:center}
.booking-shell .booking-intro p{margin-inline:auto;max-width:440px;text-wrap:balance}
.booking-shell .booking-request{justify-content:center;margin-top:12px!important;text-align:left}
.booking-shell .booking-summary,.booking-shell .booking-foot{margin:20px auto;text-align:center;text-wrap:balance}
.booking-shell .booking-choice input{flex:none;margin:0}
.booking-shell .booking-choice span{min-width:0}
.booking-shell .booking-panel .sub{margin:0 0 20px}
.booking-shell .booking-actions{flex-wrap:wrap}
