/* Terminbuchung (Startseite #kontakt und /kontakt/#termin). Gestaltung nach dem Canvas Entwurf. */
.tb{--ease-drawer:cubic-bezier(0.32,0.72,0,1);border-top:1px solid var(--ln);background:radial-gradient(120% 80% at 100% 0%,rgba(204,227,16,.07),rgba(204,227,16,0) 55%),var(--ink)}
.tb>.wrap{padding-top:130px;padding-bottom:130px}
.tb-oben{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px 48px;margin-bottom:48px}
.tb-oben h2{margin:0;font-size:clamp(52px,6.4vw,104px);line-height:.92}
.tb-lead{margin:22px 0 0;font-size:19px;line-height:1.6;color:var(--mut);max-width:46ch}
.tb-adr{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;font-size:17px}
.tb-adr a,.tb-adr span{display:inline-flex;align-items:center;min-height:44px}
.tb-tel{font:800 30px/1.2 "Bricolage Grotesque",sans-serif;text-decoration:none;color:var(--gr)!important}
.tb-buehne{display:grid;grid-template-columns:minmax(0,0fr) minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;min-height:640px;background:var(--panel);border:1px solid var(--ln);overflow:hidden;transition:grid-template-columns 700ms var(--ease-drawer)}
.tb-buehne.offen{grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr) minmax(0,0fr)}
.tb-zeiten,.tb-mitte,.tb-foto{min-width:0;overflow:hidden}
.tb-zeiten{order:-1;visibility:hidden;opacity:0;transform:translateX(-24px);transition:opacity 450ms ease 100ms,transform 700ms var(--ease-drawer),visibility 0s linear 700ms}
.offen .tb-zeiten{visibility:visible;opacity:1;transform:none;box-shadow:inset -1px 0 0 var(--ln);transition-delay:100ms,0s,0s}
.tb-zeiten-in{min-width:240px;padding:40px 30px}
.tb-zkopf{margin:0;font-size:15px;color:var(--mut)}
.tb-tag{min-height:26px;margin:8px 0 22px;font:700 22px/1.2 "Bricolage Grotesque",sans-serif}
.tb-liste{display:grid;gap:10px}
.tb-zeit{min-height:52px;border-radius:999px;border:1.5px solid var(--ln2);background:transparent;color:var(--tx);font:600 17px/1 "Instrument Sans",sans-serif;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform 160ms ease-out,border-color 200ms ease,background-color 200ms ease,color 200ms ease}
.tb-zeit:active{transform:scale(.97)}
.tb-zeit[aria-pressed="true"]{background:var(--gr);border-color:var(--gr);color:var(--ink)}
.tb-hinweis{margin:20px 0 0;font-size:14px;line-height:1.55;color:var(--mut)}
.tb-mitte{padding:40px;display:flex;flex-direction:column;justify-content:center}
.tb-kal{width:100%;max-width:470px;margin:0 auto}
.tb-form,.tb-danke{width:100%;max-width:620px;margin:0 auto}
.tb-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.tb-monat{margin:0;font:800 26px/1 "Bricolage Grotesque",sans-serif}
.tb-pfeil{width:44px;height:44px;border-radius:999px;border:1.5px solid var(--ln2);background:transparent;color:var(--tx);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform 160ms ease-out,border-color 200ms ease}
.tb-pfeil:active{transform:scale(.97)}
.tb-pfeil[aria-disabled="true"]{opacity:.3;cursor:default}
.tb-wt,.tb-raster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.tb-wt span{font-size:13px;color:var(--mut);text-align:center;padding-bottom:6px}
.tb-raster span{aspect-ratio:1}
.tb-t{position:relative;aspect-ratio:1;min-height:44px;border:0;border-radius:999px;background:transparent;color:#70756A;font:600 16px/1 "Instrument Sans",sans-serif;font-variant-numeric:tabular-nums;cursor:default;transition:transform 160ms ease-out,background-color 200ms ease,color 200ms ease}
.tb-t.frei{color:var(--tx);background:#20231A;cursor:pointer}
.tb-t.frei::after{content:"";position:absolute;left:50%;bottom:7px;width:5px;height:5px;margin-left:-2.5px;border-radius:999px;background:var(--gr)}
.tb-t.frei:active{transform:scale(.95)}
.tb-t.heute{box-shadow:inset 0 0 0 1.5px var(--mut)}
.tb-t.gewaehlt{background:var(--gr);color:var(--ink)}
.tb-t.gewaehlt::after{background:var(--ink)}
.tb-status{min-height:22px;margin:14px 0 0;font-size:15px;color:var(--mut)}
.tb-legende{display:flex;align-items:center;gap:10px;margin:6px 0 0;font-size:14px;color:var(--mut)}
.tb-punkt{width:7px;height:7px;border-radius:999px;background:var(--gr)}
.tb-anruf{margin:18px 0 0;font-size:15px;color:var(--mut)}
.tb-anruf a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.tb-foto{position:relative;margin:0;opacity:1;transform:none;transition:opacity 400ms ease,transform 700ms var(--ease-drawer)}
.offen .tb-foto{opacity:0;transform:translateX(60px)}
.tb-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.tb-foto::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(to top,rgba(14,15,12,.96),rgba(14,15,12,0));pointer-events:none}
.tb-foto figcaption{position:absolute;left:28px;right:28px;bottom:26px;z-index:1;display:flex;flex-direction:column;gap:6px}
.tb-foto strong{font:800 30px/1.05 "Bricolage Grotesque",sans-serif;color:var(--tx)}
.tb-foto figcaption span{font-size:15px;color:var(--gr)}
.tb-form{display:grid;gap:18px}
.tb-zurueck{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:transparent;color:var(--mut);font:600 15px/1 "Instrument Sans",sans-serif;cursor:pointer}
.tb-auswahl{margin:0;font:800 clamp(24px,2.4vw,34px)/1.1 "Bricolage Grotesque",sans-serif;color:var(--gr)}
.tb-auswahl:focus,.tb-danke h3:focus{outline:none}
.tb-themen{border:0;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tb-themen legend{font-size:15px;color:var(--mut);margin-bottom:10px;padding:0}
.tb-chip{position:relative;cursor:pointer}
.tb-chip input{position:absolute;opacity:0;width:1px;height:1px}
.tb-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--ln2);font-weight:600;font-size:15px;transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.tb-chip input:checked+span{background:var(--gr);border-color:var(--gr);color:var(--ink)}
.tb-chip input:focus-visible+span{outline:2px solid var(--gr);outline-offset:3px}
.tb-feld{display:flex;flex-direction:column;gap:8px;font-size:15px;color:#C9CDC0}
.tb-feld em{font-style:normal;color:var(--mut)}
.tb-feld input,.tb-feld textarea{font:400 17px/1.4 "Instrument Sans",sans-serif;color:var(--tx);background:var(--ink);border:1.5px solid var(--ln2);border-radius:6px;padding:13px 14px;min-height:50px;box-sizing:border-box;width:100%;transition:border-color 200ms ease}
.tb-feld textarea{resize:vertical;min-height:96px}
.tb-feld input::placeholder,.tb-feld textarea::placeholder{color:#7F8476}
.tb-feld input:focus,.tb-feld textarea:focus{outline:none;border-color:var(--gr)}
.tb-feld [aria-invalid="true"]{border-color:#FF8A7A}
.tb-dsgvo input[aria-invalid="true"]{outline:2px solid #FF8A7A;outline-offset:2px}
.tb-feld input:-webkit-autofill{-webkit-text-fill-color:#F2F3EE;box-shadow:0 0 0 1000px #0E0F0C inset}
.tb-paar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tb-dsgvo{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.55;color:var(--mut)}
.tb-dsgvo input{width:20px;height:20px;margin:2px 0 0;accent-color:#CCE310}
.tb-dsgvo a{color:var(--tx)}
.tb-aktion{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:4px}
.tb-tel2{font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.tb-meldung{min-height:22px;margin:0;font-size:15px;color:#FF8A7A}
.tb-danke{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.tb-haken{width:64px;height:64px;border-radius:999px;background:var(--gr);color:var(--ink);display:flex;align-items:center;justify-content:center}
.tb-danke h3{margin:0;font-size:clamp(34px,3.6vw,54px);line-height:1;max-width:18ch}
.tb-danke p{margin:0;font-size:18px;line-height:1.6;color:var(--mut);max-width:44ch}
.tb-danke a{font-weight:600;min-height:44px;display:inline-flex;align-items:center}
@media (prefers-reduced-motion:no-preference){.tb-danke{animation:tbEin 320ms var(--ease-out) both}@keyframes tbEin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
@media (hover:hover) and (pointer:fine){.tb-t.frei:hover{background:#2C3022}.tb-t.gewaehlt:hover{background:var(--gr)}.tb-zeit:hover{border-color:var(--gr)}.tb-pfeil:not([aria-disabled="true"]):hover{border-color:var(--gr)}.tb-chip:hover span{border-color:var(--gr)}.tb-zurueck:hover{color:var(--tx)}}
@media (max-width:900px){
.tb-buehne,.tb-buehne.offen{display:flex;flex-direction:column;min-height:0}
.tb-foto{order:1;max-height:380px;transition:max-height 450ms var(--ease-drawer),opacity 300ms ease}
.tb-foto img{position:static;height:380px}
.offen .tb-foto{max-height:0;transform:none}
.tb-mitte{order:2;padding:24px 8px}
.tb-zeiten{order:3;max-height:0;transform:none;transition:max-height 450ms var(--ease-drawer),opacity 300ms ease,visibility 0s linear 450ms}
.offen .tb-zeiten{max-height:520px;box-shadow:inset 0 1px 0 var(--ln);transition-delay:0s}
.tb-zeiten-in{min-width:0;padding:22px 16px}
.tb-liste{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.tb-paar{grid-template-columns:minmax(0,1fr)}
.tb-raster,.tb-wt{gap:2px}
.tb-t{min-height:44px;aspect-ratio:auto;font-size:15px}
}
@media (max-width:767px){.tb>.wrap{padding-top:96px;padding-bottom:96px}}
@media (prefers-reduced-motion:reduce){.tb-buehne,.tb-buehne *{transition:none!important}}
.tb,#termin{scroll-margin-top:var(--nav)}
.tb-mail{margin:40px 0 0;font:600 clamp(18px,1.6vw,24px)/1.4 "Bricolage Grotesque",sans-serif}
.tb-mail a{color:var(--gr);text-decoration:underline;text-underline-offset:.2em}
.tb-pfeil:focus-visible,.tb-t:focus-visible,.tb-zeit:focus-visible,.tb-zurueck:focus-visible{outline:2px solid var(--gr);outline-offset:3px}
.tb-raster[aria-busy="true"]{opacity:.5}
.tb-senden:disabled{opacity:.6;cursor:wait}
.tb-seite{border-top:0;background:var(--ink)}
.tb-seite>.wrap{padding-top:56px;padding-bottom:96px}
.tb-seite .tb-oben h2{font-size:clamp(34px,4vw,60px);line-height:1}
.tb-tag:focus{outline:none}
