.termin{--box-bg:var(--canvas-warm)}.termin-grid{grid-template-columns:4fr 7fr;align-items:start;gap:clamp(32px,5vw,80px);display:grid}.termin-intro{position:sticky;top:112px}.termin-intro h1{margin-bottom:20px}.termin-person{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:16px;margin-top:32px;display:flex}.termin-person img{object-fit:cover;object-position:top;border-radius:50%;width:72px;height:72px}.termin-person p{color:var(--ink-secondary);flex-direction:column;margin:0;font-size:15px;display:flex}.termin-person strong{color:var(--primary);font-size:17px;font-weight:500}.termin-facts{color:var(--ink-secondary);gap:10px;margin:28px 0 0;padding:0;list-style:none;display:grid}.termin-facts li{align-items:flex-start;gap:10px;display:flex}.termin-facts svg{color:var(--accent);flex:none;margin-top:2px}.termin-alt{color:var(--ink-mute);margin-top:28px;font-size:15px}.termin-alt ul{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.termin-alt a{color:var(--primary);overflow-wrap:anywhere;align-items:center;gap:10px;padding:6px 0;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.termin-alt a:hover{text-decoration:underline}}.booking{border:1px solid var(--hairline);border-radius:var(--r-xl);box-shadow:var(--shadow-1);background:#fff;gap:8px;padding:clamp(20px,3vw,40px);display:grid}.booking-step{border:0;min-width:0;margin:0;padding:0 0 28px}.booking-step+.booking-step{border-top:1px solid var(--hairline);padding-top:28px}.booking-step>legend,.booking-legend{font-family:var(--sans);letter-spacing:0;color:var(--primary);align-items:center;gap:12px;margin-bottom:20px;padding:0;font-size:19px;font-weight:500;display:flex}.booking-step>legend{float:left;width:100%}.booking-step>legend+*{clear:both}.booking-num{background:var(--accent-soft);width:28px;height:28px;color:var(--primary);border-radius:50%;place-items:center;font-size:14px;display:inline-grid}.booking-types{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.booking-types:has(>:nth-child(4):last-child){grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.booking-type{cursor:pointer;display:block;position:relative}.booking-type input{opacity:0;position:absolute}.booking-type>span{border:1px solid var(--hairline);border-radius:var(--r-lg);height:100%;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.booking-type strong{color:var(--primary);font-weight:500}.booking-type-text{color:var(--ink-secondary);font-size:14px;line-height:1.45}.booking-type-meta{color:var(--ink-mute);align-items:center;gap:6px;margin-top:auto;padding-top:4px;font-size:13px;display:inline-flex}.booking-type input:checked+span{border-color:var(--primary);background:var(--canvas-soft);box-shadow:inset 0 0 0 1px var(--primary)}.booking-type input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.booking-week{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.booking-range{color:var(--ink);font-weight:500}.booking-nav{border:1px solid var(--hairline);width:44px;height:44px;color:var(--primary);cursor:pointer;transition:background-color .16s var(--ease-out);background:#fff;border-radius:50%;place-items:center;display:inline-grid}.booking-nav:disabled{opacity:.35;cursor:default}@media (hover:hover) and (pointer:fine){.booking-nav:not(:disabled):hover{background:var(--canvas-soft)}}.booking-days{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.booking-day{border:1px solid var(--hairline);border-radius:var(--r-lg);min-width:68px;font:inherit;color:var(--ink-mute);cursor:pointer;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out);background:#fff;flex-direction:column;flex:none;align-items:center;gap:2px;padding:10px 12px;font-size:13px;display:flex}.booking-day strong{color:var(--primary);font-size:17px;font-weight:500}.booking-day[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:#fffc}.booking-day[aria-pressed=true] strong{color:#fff}.booking-times{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:16px;display:grid}.booking-time{border:1px solid var(--hairline-input);border-radius:var(--r-pill);min-height:44px;font:inherit;color:var(--primary);cursor:pointer;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), transform .16s var(--ease-out);background:#fff;font-weight:500}.booking-time:active,.booking-day:active{transform:scale(.97)}.booking-time[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}@media (hover:hover) and (pointer:fine){.booking-day:not([aria-pressed=true]):hover,.booking-time:not([aria-pressed=true]):hover{border-color:var(--primary);background:var(--canvas-soft)}}.booking-day:focus-visible,.booking-time:focus-visible,.booking-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.booking-hint,.booking-note{color:var(--ink-mute);margin:14px 0 0;font-size:14px}.booking-note a{color:var(--primary)}.booking-skeleton{gap:8px;display:flex}.booking-skeleton span{border-radius:var(--r-lg);background:var(--canvas-soft);width:68px;height:62px;animation:1.2s ease-in-out infinite alternate booking-pulse}@keyframes booking-pulse{to{opacity:.4}}@media (prefers-reduced-motion:reduce){.booking-skeleton span{animation:none}}.booking-form{scroll-margin-top:104px}.booking-summary{border-radius:var(--r-lg);background:var(--canvas-soft);color:var(--ink-secondary);align-items:flex-start;gap:12px;margin:0 0 24px;padding:14px 18px;font-size:15px;display:flex}.booking-summary svg{color:var(--primary);flex:none;margin-top:2px}.booking-summary span{flex-direction:column;display:flex}.booking-summary strong{color:var(--primary);font-weight:500}.booking-fields{grid-template-columns:1fr 1fr;gap:18px 16px;display:grid}.field{min-width:0;color:var(--ink);border:0;flex-direction:column;gap:6px;margin:0;padding:0;font-size:15px;display:flex}.field>span,.field>legend{margin-bottom:6px;padding:0;font-weight:500}.field-wide{grid-column:1/-1}.field input,.field textarea{border:1px solid var(--hairline-input);border-radius:var(--r-md);width:100%;min-height:48px;font:inherit;color:var(--ink);transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);background:#fff;padding:12px 14px;font-size:16px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #00aaff40}.field small{color:var(--ink-mute);font-size:13px}.choice{min-height:40px;color:var(--ink-secondary);cursor:pointer;align-items:center;gap:10px;display:flex}.choice input[type=radio],.choice input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--primary);margin:0}.choice-other input:not([type]){flex:1;min-height:40px;padding:8px 12px}.booking-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.booking-privacy{color:var(--ink-mute);margin:20px 0 0;font-size:13px;line-height:1.5}.booking-privacy a{color:var(--primary)}.booking-error{border-radius:var(--r-md);color:#8c1d1d;background:#fdecec;margin:16px 0 0;padding:12px 16px;font-size:15px}.booking-submit{width:100%;margin-top:20px}.booking-submit:disabled{opacity:.7;cursor:progress}.booking-done,.booking-fallback{justify-items:start;gap:16px}.booking-done-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.booking-done-links{gap:24px;margin:0;display:flex}.booking-done-links a{color:var(--primary)}@media (max-width:960px){.termin-grid{grid-template-columns:1fr}.termin-intro{position:static}}@media (max-width:560px){.booking-fields{grid-template-columns:1fr}}.booking-demo{border-radius:var(--r-md);color:#6b4e00;background:#fff6db;margin:0 0 20px;padding:12px 16px;font-size:14px;line-height:1.5}.booking-periods{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.booking-period{border:1px solid var(--hairline);border-radius:var(--r-lg);min-height:56px;font:inherit;cursor:pointer;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out), transform .16s var(--ease-out);background:#fff;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;display:flex}.booking-period strong{color:var(--primary);font-size:15px;font-weight:500}.booking-period span{color:var(--ink-mute);font-size:12px}.booking-period[aria-pressed=true]{border-color:var(--primary);background:var(--canvas-soft);box-shadow:inset 0 0 0 1px var(--primary)}.booking-period:disabled{opacity:.45;cursor:default}.booking-period:active:not(:disabled){transform:scale(.98)}.booking-period:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.booking-period:not(:disabled):not([aria-pressed=true]):hover{border-color:var(--primary)}}.booking-period .booking-period-count{color:var(--ink-secondary)}.booking-period[aria-pressed=true] .booking-period-count{color:var(--primary)}.booking-step>legend+.booking-times{margin-top:0}.booking{scroll-margin-top:104px}.booking-progress{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;margin:0 0 20px;padding:0;list-style:none;display:grid}.booking-progress li>*{width:100%;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:8px;padding:0;display:flex}.booking-progress button{cursor:pointer}.booking-progress-bar{border-radius:var(--r-pill);background:var(--hairline);height:4px;transition:background-color .24s var(--ease-out)}.booking-progress-label{color:var(--ink-mute);font-size:13px}.booking-progress [data-state=done] .booking-progress-bar,.booking-progress [data-state=current] .booking-progress-bar{background:var(--primary)}.booking-progress [data-state=current] .booking-progress-label{color:var(--primary);font-weight:500}@media (hover:hover) and (pointer:fine){.booking-progress button:hover .booking-progress-label{color:var(--primary);text-decoration:underline}}.booking-progress button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--r-sm)}.booking-choices{color:var(--ink-secondary);margin:0 0 20px;font-size:14px}.booking-panel{animation:booking-in .22s var(--ease-out)}@keyframes booking-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.booking-panel{animation:none}}.booking-panel>.booking-step{padding-bottom:0}.booking-step legend:focus,.booking-legend:focus{outline:none}.booking-sub{color:var(--ink);margin:24px 0 0;font-weight:500}.booking-sub+.booking-periods{margin-top:10px}.booking-back{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;margin-top:24px;padding:8px 0;font-size:15px;display:inline-flex}@media (hover:hover) and (pointer:fine){.booking-back:hover{text-decoration:underline}}.booking-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.booking{grid-template-columns:minmax(0,1fr)}.booking>*,.booking-panel,.booking-step{min-width:0}.booking-periods{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-progress{grid-auto-columns:minmax(0,1fr)}@media (max-width:960px){.termin-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:420px){.booking-period{padding:8px 4px}.booking-period strong{font-size:clamp(12.5px,3.6vw,14px)}}
