/* ---------- Terminbuchung (termin-buchen.html, termin-bestaetigt.html) ---------- */

.tk-hero{padding-bottom:34px}
.tk-section{padding-top:30px}

/* ---------- Fortschrittsleiste ---------- */
.tk-steps{position:sticky;top:var(--navh,72px);z-index:40;background:rgba(21,23,28,.94);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tk-steps-inner{display:flex;align-items:center;gap:10px;padding-top:14px;padding-bottom:14px}
.tk-step{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:4px 2px;
  color:var(--muted);font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;cursor:pointer;transition:color .2s;flex:0 0 auto}
.tk-step:disabled{cursor:default;opacity:.45}
.tk-step .n{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;
  border:1px solid var(--line);border-radius:50%;font-size:13px;letter-spacing:0;transition:.2s}
.tk-step.is-now{color:var(--bone)}
.tk-step.is-now .n{border-color:var(--blitz);background:var(--blitz);color:#15171C}
.tk-step.is-done{color:var(--bone)}
.tk-step.is-done .n{border-color:var(--blitz);color:var(--blitz)}
.tk-step.is-done .n::before{content:"\2713"}
.tk-step.is-done .n{font-size:0}
.tk-step.is-done .n::before{font-size:14px}
.tk-step-line{flex:1 1 auto;height:1px;background:var(--line);min-width:12px}
@media(max-width:620px){
  .tk-steps-inner{gap:6px;padding-top:11px;padding-bottom:11px}
  .tk-step{font-size:11px;letter-spacing:.04em;gap:7px}
  .tk-step .n{width:23px;height:23px;flex:0 0 23px}
  .tk-step:not(.is-now) .l{display:none}
}

/* ---------- Panels und Navigation ---------- */
.tk-panel{margin-bottom:26px}
.tk-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
.tk-nav-help{font-size:14px;color:var(--muted)}
.tk-nav-help a{color:var(--blitz);text-decoration:underline}
.tk-nav-help span{margin:0 4px;color:var(--line)}
.tk-nav .btn:disabled{opacity:.45;cursor:default}
@media(max-width:600px){
  .tk-nav{flex-direction:column-reverse;align-items:stretch}
  .tk-nav .btn{width:100%}
  .tk-nav-help{text-align:center}
}

/* ---------- Schritt 1: Auswahl ---------- */
.tk-types{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:820px){.tk-types{grid-template-columns:1fr}}
.tk-type{text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--bone);
  padding:20px 20px 22px;cursor:pointer;font-family:var(--body);transition:.2s}
.tk-type:hover{border-color:var(--bone)}
.tk-type.on{border-color:var(--blitz);background:rgba(239,185,46,.09)}
.tk-type-name{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tk-type.on .tk-type-name{color:var(--blitz)}
.tk-type-price{font-family:var(--display);font-size:32px;line-height:1.1;margin:8px 0}
.tk-type-desc{font-size:14px;color:var(--muted);line-height:1.55}

/* ---------- Standortkarte ---------- */
.tk-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tk-loc{display:grid;grid-template-columns:200px 1fr;gap:22px;border:1px solid var(--line);
  background:var(--bg);padding:16px;margin-bottom:24px;align-items:center}
@media(max-width:680px){.tk-loc{grid-template-columns:1fr;gap:14px}}
.tk-loc-media{aspect-ratio:4/3;background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tk-loc-media img{width:100%;height:100%;object-fit:cover;display:block}
.tk-loc-media.is-placeholder{border:1px dashed var(--line)}
.tk-loc-media.is-placeholder span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tk-loc-name{font-family:var(--display);font-size:21px;letter-spacing:.02em;text-transform:uppercase}
.tk-loc-addr{font-size:14px;color:var(--bone);margin-top:6px}
.tk-loc-note{font-size:14px;color:var(--muted);margin:9px 0 0;max-width:52ch}
.tk-loc-map{display:inline-block;margin-top:11px;font-size:13px;color:var(--blitz);text-decoration:underline}

/* ---------- Schritt 2: Kalender + Tagesansicht ---------- */
.tk-picker{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:34px;align-items:start}
@media(max-width:860px){.tk-picker{grid-template-columns:1fr;gap:26px}}

.tk-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.tk-cal-title{font-family:var(--display);font-size:20px;letter-spacing:.02em;text-transform:uppercase}
.tk-cal-nav{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line);background:transparent;
  color:var(--bone);font-size:22px;line-height:1;cursor:pointer;transition:.2s}
.tk-cal-nav:hover:not(:disabled){border-color:var(--bone)}
.tk-cal-nav:disabled{opacity:.3;cursor:default}

.tk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.tk-cal-dow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);text-align:center;padding-bottom:8px}
.tk-cal-pad{aspect-ratio:1}
.tk-cal-day{position:relative;aspect-ratio:1;min-height:42px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:4px;border:1px solid transparent;background:transparent;
  color:#5c6068;font-family:var(--body);font-size:15px;cursor:default;transition:.15s;padding:0}
.tk-cal-day.has{border-color:var(--line);background:var(--bg);color:var(--bone);cursor:pointer}
.tk-cal-day.has:hover{border-color:var(--bone)}
.tk-cal-day.on{border-color:var(--blitz);background:var(--blitz);color:#15171C;font-weight:700}
.tk-cal-day .dot{width:4px;height:4px;border-radius:50%;background:var(--blitz)}
.tk-cal-day.on .dot{background:rgba(21,23,28,.65)}
.tk-cal-legend{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;color:var(--muted)}
.tk-cal-legend .dot{width:5px;height:5px;border-radius:50%;background:var(--blitz);display:block}

.tk-daybox{border-left:1px solid var(--line);padding-left:30px;min-height:220px}
@media(max-width:860px){.tk-daybox{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px;min-height:0}}
.tk-daybox-title{font-family:var(--display);font-size:22px;letter-spacing:.02em;text-transform:uppercase;margin-bottom:16px}
.tk-daybox-empty{font-size:14px;color:var(--muted)}

.tk-times{display:flex;gap:10px;flex-wrap:wrap}
.tk-time{display:flex;flex-direction:column;gap:3px;align-items:flex-start;border:1px solid var(--line);
  background:var(--bg);color:var(--bone);padding:12px 18px;font-family:var(--body);cursor:pointer;
  transition:.2s;min-width:136px;min-height:52px;justify-content:center}
.tk-time:hover{border-color:var(--bone)}
.tk-time.on{border-color:var(--blitz);background:var(--blitz);color:#15171C}
.tk-time .t{font-size:15px;font-weight:600}
.tk-time .c{font-size:12px;color:var(--muted)}
.tk-time.on .c{color:rgba(21,23,28,.7)}
@media(max-width:520px){.tk-times{gap:8px}.tk-time{flex:1 1 calc(50% - 4px);min-width:0}}

.tk-empty{border:1px solid var(--line);background:var(--bg);padding:22px;color:var(--muted);font-size:15px}
.tk-empty a{color:var(--blitz)}

/* ---------- Schritt 3 ---------- */
.tk-voucher{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.tk-voucher input{flex:1;min-width:200px}
/* button-Elemente haben von Haus aus einen hellen Hintergrund – der muss weg */
.tk-voucher .btn{white-space:nowrap;background:transparent;color:var(--bone);font-family:var(--body)}
.tk-voucher .btn:hover{border-color:var(--bone)}

.tk-good{color:#7fd18a}
.tk-bad{color:#ffb3a8}

/* ---------- Bestätigungsseite ---------- */
.tk-confirm{max-width:640px;margin:0 auto;border:1px solid rgba(239,185,46,.45);
  background:linear-gradient(150deg,#1C1F26 0%,#15171C 65%);padding:40px}
@media(max-width:600px){.tk-confirm{padding:26px 20px}}
.tk-confirm h3{font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(26px,5vw,38px);line-height:1.1;margin:0 0 22px;letter-spacing:.02em}
.tk-line{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);
  padding:13px 0;font-size:15px;flex-wrap:wrap}
.tk-line:first-of-type{border-top:0}
.tk-line .k{color:var(--muted)}
.tk-line .v{font-weight:600;text-align:right}

/* Hinweisbox beim Kartenkauf */
.tk-cardnote{border:1px solid var(--blitz);background:rgba(239,185,46,.08);padding:16px 18px;
  margin:0 0 22px;font-size:14px;color:#c9cbd0;line-height:1.6}
.tk-cardnote b{color:var(--bone)}

/* Code auf der Karten-Dankeseite */
.tk-code{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;text-align:center}
.tk-code .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tk-code .code{font-family:var(--display);font-size:30px;letter-spacing:.12em;margin-top:8px}

/* Fünf Kacheln in Schritt 1 */
@media(min-width:821px){.tk-types{grid-template-columns:repeat(3,1fr)}}

/* ---------- Karte: gleich festlegen oder später ---------- */
.tk-cardways{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}
.tk-cardways-title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px}
.tk-ways{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:680px){.tk-ways{grid-template-columns:1fr}}
.tk-way{text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--bone);
  padding:16px 18px;cursor:pointer;font-family:var(--body);transition:.2s;display:block}
.tk-way:hover{border-color:var(--bone)}
.tk-way.on{border-color:var(--blitz);background:rgba(239,185,46,.09)}
.tk-way .h{display:block;font-size:15px;font-weight:700;margin-bottom:5px}
.tk-way.on .h{color:var(--blitz)}
.tk-way .d{display:block;font-size:13px;color:var(--muted);line-height:1.55}

/* Gewählte Termine */
.tk-picked{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.tk-picked-title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--blitz);margin-bottom:10px}
.tk-picked ul{list-style:none;margin:0}
.tk-picked li{display:flex;justify-content:space-between;align-items:center;gap:14px;
  font-size:14px;padding:7px 0;border-bottom:1px solid var(--line)}
.tk-picked li:last-child{border-bottom:0}
.tk-picked-x{background:transparent;border:0;color:var(--muted);font-family:var(--body);
  font-size:12px;text-decoration:underline;cursor:pointer;padding:4px;flex:0 0 auto}
.tk-picked-x:hover{color:#ffb3a8}

/* ---------- Ratenhinweis ---------- */
.tk-split{border:1px solid rgba(239,185,46,.4);background:rgba(239,185,46,.06);
  padding:20px 22px;margin-top:24px}
.tk-split-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:15px;
  font-weight:600;margin-bottom:16px}
.tk-split-badge{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:var(--blitz);color:#15171C;padding:4px 10px}
.tk-split-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:680px){.tk-split-opts{grid-template-columns:1fr}}
.tk-split-opt{border:1px solid var(--line);background:var(--bg);padding:15px 16px}
.tk-split-opt .big{font-family:var(--display);font-size:26px;line-height:1.1;color:var(--blitz)}
.tk-split-opt .lbl{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--bone);margin-top:4px}
.tk-split-opt .txt{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}
.tk-split-note{font-size:13px;color:var(--muted);margin:16px 0 0;line-height:1.6}
.tk-split-note b{color:var(--bone)}

/* Hinweis, welche Mails der Kunde bekommt */
.tk-mails{border:1px solid var(--line);background:var(--bg);padding:18px 20px;margin-top:24px}
.tk-mails-title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:10px}
.tk-mails ul{list-style:none;margin:0}
.tk-mails li{font-size:14px;color:#c9cbd0;padding:3px 0}
.tk-mails li::before{content:"\2013  ";color:var(--muted)}
.tk-mails p{font-size:13px;color:var(--muted);margin:12px 0 0;line-height:1.6}
.tk-mails a{color:var(--blitz);text-decoration:underline}

/* ---------- Ortswahl kompakt: aktiver Ort sichtbar, Rest erst auf Klick ---------- */
.tk-ortzeile{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.tk-chips{display:flex;gap:8px;flex-wrap:wrap}
.tk-chips > *:not(.on){display:none}
.tk-chips.offen > *{display:inline-flex}
.tk-ortlink{background:none;border:none;padding:0;cursor:pointer;font-family:var(--body);
  font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.tk-ortlink:hover{color:var(--blitz)}
/* Ohne Foto: eine Zeile statt einer leeren Kachel */
.tk-loc.is-schmal{display:block;padding:16px 18px}
.tk-loc.is-schmal .tk-loc-note{margin-top:6px}
