/* Terminanfrage – Website. Farben aus dem Layout (--farbe-…), Hell/Dunkel automatisch. */
.ta{--ta-p:var(--farbe-primaer,#9c4f5c);--ta-pt:var(--farbe-primaer-text,#fff);--ta-a:var(--farbe-akzent,#8a6a3b);--ta-g:var(--cs-gold,#c9a36b);--ta-f:var(--farbe-flaeche,#f5ebe4);--ta-h:var(--farbe-hintergrund,#fbf6f1);--ta-t:var(--farbe-text,#3b2a2e);--ta-l:var(--farbe-text-leise,#76605f);--ta-r:var(--farbe-rand,#dcc3b6);--ta-s:0 18px 50px -20px rgba(92,48,56,.35);--ta-titel:var(--cs-titel,var(--schrift-titel,Georgia,serif));
  max-width:var(--inhalt-breite,1180px);margin:0 auto;padding:clamp(12px,3vw,32px) clamp(16px,3vw,24px) clamp(40px,6vw,80px);box-sizing:border-box;color:var(--ta-t)}
.ta *{box-sizing:border-box}
.ta-kopf{text-align:center;max-width:720px;margin:0 auto 28px}
.ta-kopf p{color:var(--ta-l);line-height:1.7}
/* Fortschritt */
.ta-fortschritt{display:flex;justify-content:center;gap:clamp(6px,2vw,28px);list-style:none;margin:0 0 28px;padding:0;counter-reset:ta}
.ta-fortschritt li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ta-l);cursor:default;transition:color .3s}
.ta-fortschritt li span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ta-r);font-size:13px;transition:background .3s,border-color .3s,color .3s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.ta-fortschritt li.aktiv{color:var(--ta-t)}
.ta-fortschritt li.aktiv span{background:var(--ta-p);border-color:var(--ta-p);color:var(--ta-pt);transform:scale(1.1)}
.ta-fortschritt li.erledigt{color:var(--ta-p);cursor:pointer}
.ta-fortschritt li.erledigt span{border-color:var(--ta-p);color:var(--ta-p)}
.ta-fortschritt li.erledigt span::before{content:"✓"}
.ta-fortschritt li.erledigt span{font-size:0}.ta-fortschritt li.erledigt span::before{font-size:14px}
/* Bühne */
.ta-buehne{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.ta-haupt{min-width:0;padding:clamp(20px,3vw,36px);border-radius:28px;background:var(--ta-f);border:1px solid color-mix(in srgb,var(--ta-g) 28%,transparent)}
.ta-schritt{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.ta-schritt.aktiv{opacity:1;transform:none}
.ta-schritt:focus{outline:none}
.ta-frage{margin:0 0 20px;font-family:var(--ta-titel);font-weight:500;font-size:clamp(22px,2.2vw,28px);line-height:1.2}
.ta-frage small{display:block;margin-top:4px;font-family:inherit;font-size:15px;color:var(--ta-l);font-weight:400}
/* Leistungen */
.ta-gruppe+.ta-gruppe{margin-top:22px}
.ta-gruppe-titel{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ta-a)}
.ta-wahl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ta-leistung{position:relative;display:flex;flex-direction:column;gap:6px;width:100%;padding:16px 18px;border:1.5px solid var(--ta-r);border-radius:18px;background:var(--ta-h);color:var(--ta-t);font:inherit;text-align:left;cursor:pointer;transition:border-color .25s,transform .25s,box-shadow .25s}
.ta-leistung:hover{border-color:var(--ta-p);transform:translateY(-2px);box-shadow:var(--ta-s)}
.ta-leistung:focus-visible,.ta-kal-tag:focus-visible,.ta-zeit:focus-visible,.ta-link:focus-visible{outline:2px solid var(--farbe-fokus,var(--ta-a));outline-offset:3px}
.ta-leistung[aria-pressed="true"]{border-color:var(--ta-p);background:color-mix(in srgb,var(--ta-p) 9%,var(--ta-h))}
.ta-leistung[aria-pressed="true"]::after{content:"✓";position:absolute;top:12px;right:14px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ta-p);color:var(--ta-pt);font-size:13px;animation:taPop .35s cubic-bezier(.3,1.6,.5,1)}
.ta-leistung-titel{font-weight:700;line-height:1.35;padding-right:26px}
.ta-leistung-info{display:flex;flex-wrap:wrap;gap:6px}
.ta-dauer,.ta-preis{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600}
.ta-dauer{background:color-mix(in srgb,var(--ta-g) 20%,transparent);color:var(--ta-t)}
.ta-dauer::before{content:"◷"}
.ta-preis{border:1px solid var(--ta-r);color:var(--ta-p)}
.ta-leistung-text{font-size:13.5px;line-height:1.5;color:var(--ta-l)}
/* Team: „Bei wem?“ */
.ta-team{margin:0 0 22px}
.ta-team[hidden]{display:none}
.ta-team .ta-gruppe-titel small{font-weight:400;letter-spacing:0;text-transform:none;color:var(--ta-l)}
.ta-personen{display:flex;flex-wrap:wrap;gap:10px}
.ta-person{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-width:150px;max-width:260px;padding:10px 16px 10px 10px;border:1.5px solid var(--ta-r);border-radius:999px;background:var(--ta-h);color:var(--ta-t);font:inherit;text-align:left;cursor:pointer;animation:taRein .35s ease both;transition:border-color .25s,transform .25s,box-shadow .25s,background .25s}
.ta-person[hidden]{display:none}
.ta-person:hover{border-color:var(--ta-farbe,var(--ta-p));transform:translateY(-2px);box-shadow:var(--ta-s)}
.ta-person:focus-visible{outline:2px solid var(--farbe-fokus,var(--ta-a));outline-offset:3px}
.ta-avatar{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ta-farbe,var(--ta-p));color:#fff;font-weight:700;font-size:14px;letter-spacing:.04em;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.ta-person-egal .ta-avatar{background:color-mix(in srgb,var(--ta-g) 35%,var(--ta-h));color:var(--ta-t)}
.ta-person-name{font-weight:700;line-height:1.2}
.ta-person-text{font-size:12.5px;line-height:1.35;color:var(--ta-l);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ta-person[aria-pressed="true"]{border-color:var(--ta-farbe,var(--ta-p));background:color-mix(in srgb,var(--ta-farbe,var(--ta-p)) 10%,var(--ta-h))}
.ta-person[aria-pressed="true"] .ta-avatar{transform:scale(1.08);box-shadow:0 0 0 3px var(--ta-h),0 0 0 5px var(--ta-farbe,var(--ta-p))}
.ta-team-wahl-hinweis{border:1.5px dashed var(--ta-r)}
/* Kalender */
.ta-kalender{max-width:520px}
.ta-kal-kopf{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.ta-kal-kopf strong{font-family:var(--ta-titel);font-weight:500;font-size:21px}
.ta-kal-pfeil{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--ta-r);background:var(--ta-h);color:var(--ta-t);font-size:22px;line-height:1;cursor:pointer;transition:border-color .2s,transform .2s}
.ta-kal-pfeil:hover:not(:disabled){border-color:var(--ta-p);transform:scale(1.06)}
.ta-kal-pfeil:disabled{opacity:.3;cursor:default}
.ta-kal-gitter{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ta-kal-wt{text-align:center;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ta-l);padding:4px 0}
.ta-kal-tag{position:relative;aspect-ratio:1;display:grid;place-items:center;border:1.5px solid transparent;border-radius:14px;background:transparent;color:color-mix(in srgb,var(--ta-l) 60%,transparent);font:inherit;font-weight:600;cursor:default;animation:taRein .4s ease both}
.ta-kal-tag i{position:absolute;bottom:6px;width:5px;height:5px;border-radius:50%;background:transparent}
.ta-kal-tag.frei{background:var(--ta-h);border-color:color-mix(in srgb,var(--ta-g) 45%,transparent);color:var(--ta-t);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}
.ta-kal-tag.frei i{background:#3f9b5a}
.ta-kal-tag.frei:hover{transform:translateY(-2px);border-color:var(--ta-p)}
.ta-kal-tag.heute span{text-decoration:underline;text-underline-offset:3px}
.ta-kal-tag.gewaehlt{background:var(--ta-p);border-color:var(--ta-p);color:var(--ta-pt)}
.ta-kal-tag.gewaehlt i{background:var(--ta-pt)}
.ta-laedt .ta-kal-tag{opacity:.35}
.ta-legende{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:16px 0 0;font-size:13px;color:var(--ta-l)}
.ta-legende span{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:middle;margin-right:-6px}
.ta-l-frei{background:var(--ta-h);border:1.5px solid color-mix(in srgb,var(--ta-g) 45%,transparent);box-shadow:inset 0 -3px 0 #3f9b5a}
.ta-l-voll{background:transparent;border:1.5px dashed var(--ta-r)}
.ta-kal-hinweis,.ta-laed-text{margin:16px 0 0;padding:14px 16px;border-radius:14px;background:var(--ta-h);color:var(--ta-l);font-size:15px}
/* Zeiten */
.ta-zeit-gruppe+.ta-zeit-gruppe{margin-top:16px}
.ta-zeit-gruppe>p{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ta-a)}
.ta-zeiten .ta-wahl{grid-template-columns:repeat(auto-fill,minmax(86px,1fr))}
.ta-zeit{padding:12px 6px;border:1.5px solid var(--ta-r);border-radius:999px;background:var(--ta-h);color:var(--ta-t);font:inherit;font-weight:700;cursor:pointer;animation:taRein .35s ease both;transition:border-color .2s,transform .2s,background .2s}
.ta-zeit:hover{border-color:var(--ta-p);transform:translateY(-2px)}
.ta-zeit.gewaehlt{background:var(--ta-p);border-color:var(--ta-p);color:var(--ta-pt)}
/* Formular */
.ta-felder{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.ta-feld{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
.ta-feld small{font-weight:400;color:var(--ta-l)}
.ta-feld-breit{grid-column:1/-1}
.ta-feld input,.ta-feld textarea{width:100%;padding:13px 16px;border:1.5px solid var(--ta-r);border-radius:14px;background:var(--ta-h);color:var(--ta-t);font:inherit;font-weight:400;font-size:16px;transition:border-color .2s,box-shadow .2s}
.ta-feld input:focus,.ta-feld textarea:focus{outline:0;border-color:var(--ta-p);box-shadow:0 0 0 4px color-mix(in srgb,var(--ta-p) 16%,transparent)}
.ta-feld.fehler input{border-color:#b3261e}
.ta-feld em,.ta-fehler-zeile{font-style:normal;font-weight:600;font-size:13px;color:#b3261e;min-height:0}
.ta-fehler-zeile:empty,.ta-feld em:empty{display:none}
.ta-weg{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ta-haken{display:flex;gap:10px;align-items:flex-start;margin:18px 0 6px;font-size:14px;line-height:1.5;color:var(--ta-l)}
.ta-haken input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--ta-p)}
.ta-haken a{color:var(--ta-p)}
.ta-meldung{margin:14px 0 0;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,#b3261e 12%,var(--ta-h));color:var(--ta-t);font-size:15px}
.ta-senden{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding:15px 30px;border:0;border-radius:999px;background:var(--ta-p);color:var(--ta-pt);font:inherit;font-weight:700;font-size:16px;cursor:pointer;transition:transform .25s,box-shadow .25s,opacity .2s}
.ta-senden:hover{transform:translateY(-2px);box-shadow:var(--ta-s)}
.ta-senden.laedt{opacity:.7;pointer-events:none}
.ta-senden.laedt::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:taDreh .7s linear infinite}
.ta-klein{margin:12px 0 0;font-size:13px;color:var(--ta-l)}
/* Fertig */
.ta-fertig{text-align:center;padding:10px 0}
.ta-fertig h3{font-family:var(--ta-titel);font-weight:500;font-size:clamp(26px,3vw,34px);margin:10px 0}
.ta-fertig p{max-width:520px;margin:0 auto 14px;line-height:1.7;color:var(--ta-l)}
.ta-haken-gross svg{width:76px;height:76px;fill:none;stroke:var(--ta-p);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ta-haken-gross circle{stroke-dasharray:151;stroke-dashoffset:151;animation:taStrich .8s ease forwards}
.ta-haken-gross path{stroke-dasharray:36;stroke-dashoffset:36;animation:taStrich .5s .6s ease forwards}
/* Auswahl */
.ta-auswahl{position:sticky;top:110px;padding:22px 24px;border-radius:24px;background:var(--farbe-dunkel,#3b2a2e);color:var(--farbe-dunkel-text,#f6ece6);box-shadow:var(--ta-s)}
.ta-auswahl-titel{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ta-g)}
.ta-auswahl dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 14px;font-size:15px}
.ta-auswahl dt{opacity:.65}
.ta-auswahl dd{margin:0;font-weight:700;text-align:right}
.ta-link{margin-top:14px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ta-fertig .ta-link{color:var(--ta-p)}
.ta-hinweis-box{max-width:720px;margin:0 auto;padding:24px 28px;border-radius:24px;background:var(--ta-f);border:1px dashed color-mix(in srgb,var(--ta-g) 60%,transparent);text-align:center;line-height:1.7}
.ta-hinweis-box p{margin:0 0 8px}
.ta-admin-hinweis{font-size:14px;color:var(--ta-l)}
.ta-zu .ta-buehne{opacity:.5;pointer-events:none}
@keyframes taRein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes taPop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes taDreh{to{transform:rotate(360deg)}}
@keyframes taStrich{to{stroke-dashoffset:0}}
@media (max-width:900px){
  .ta-buehne{grid-template-columns:1fr}
  .ta-auswahl{position:sticky;top:auto;bottom:12px;order:-1;z-index:5;padding:14px 18px;border-radius:18px;display:none}
  .ta.ta-hat-wahl .ta-auswahl{display:block}
  .ta-auswahl dl{grid-template-columns:repeat(2,auto 1fr);gap:4px 10px;font-size:13px}
  .ta-auswahl-titel{display:none}
}
@media (max-width:600px){
  .ta-fortschritt li{font-size:0;gap:0}
  .ta-fortschritt li span{font-size:13px}
  .ta-felder{grid-template-columns:1fr}
  .ta-kal-gitter{gap:4px}
  .ta-kal-tag{border-radius:10px}
  .ta-senden{width:100%}
  .ta-wahl{grid-template-columns:1fr}
  .ta-zeiten .ta-wahl{grid-template-columns:repeat(3,1fr)}
}
/* Schutz vor globalen CMS-Formularstilen (template/css/style-form.css: button mit Innenabstand + float, label als Flex-Zeile, Ersatz-Checkbox, textarea 200px) */
.ta button{float:none;-webkit-appearance:none;appearance:none}
.ta .ta-kal-gitter{grid-template-columns:repeat(7,minmax(0,1fr))}
.ta .ta-kal-tag{min-width:0;width:100%;padding:0;font-size:inherit;line-height:1}
.ta .ta-kal-pfeil{padding:0;display:grid;place-items:center}
.ta .ta-kal-leer{min-width:0}
.ta label,.ta input,.ta textarea{font-family:inherit;color:inherit}
.ta .ta-feld textarea{min-height:110px}
.ta .ta-haken input[type=checkbox]{position:static;opacity:1;transform:none;z-index:auto;margin:2px 0 0;padding:0;-webkit-appearance:auto;appearance:auto}
.ta .ta-haken input[type=checkbox]+label{display:block;flex:1;min-width:0;padding:0;margin:0;font-size:14px;line-height:1.5;color:var(--ta-l);cursor:pointer}
.ta .ta-haken input[type=checkbox]+label::before,.ta .ta-haken input[type=checkbox]+label::after{content:none;display:none}
.ta .ta-haken input[type=checkbox]:focus-visible+label{border:0}
@media (prefers-reduced-motion:reduce){.ta *,.ta *::before,.ta *::after{animation:none!important;transition:none!important}.ta-schritt{opacity:1;transform:none}.ta-haken-gross circle,.ta-haken-gross path{stroke-dashoffset:0}}
