/* ==========================================================================\n   TERMINSEITE — Conversion-Funnel\n   Ziel: Interessierte ohne Umwege vom Klick auf „Systemcheck“ zur Buchung.\n   ========================================================================== */

body.termin-page{ background:var(--paper); }
body.termin-page .sticky-cta{ display:none !important; }

/* --- Hero + Buchung: Kalender ist der primäre Inhalt --- */
.tbook-hero{ padding:clamp(52px,7vw,90px) 0 clamp(60px,8vw,104px); overflow:hidden; }
.tbook-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:34px; align-items:start; }
@media (min-width:1020px){
  .tbook-grid{ grid-template-columns:minmax(330px,.72fr) minmax(590px,1.28fr); gap:clamp(42px,5vw,72px); }
}
.tbook-copy{ min-width:0; padding-top:4px; }
.tbook-copy h1{ margin:14px 0 20px; max-width:13ch; color:#fff; font-size:clamp(2.3rem,5vw,4.65rem); line-height:.98; }
.tbook-copy .lede{ max-width:51ch; color:#d6e2e0; font-size:clamp(1rem,1.5vw,1.13rem); line-height:1.68; }
.tbook-promise{ margin:26px 0 0; padding:18px 20px; border-left:3px solid var(--p-glow); background:rgba(255,255,255,.045); }
.tbook-promise b{ display:block; color:#fff; font-family:var(--f-display); font-size:1.03rem; margin-bottom:5px; }
.tbook-promise p{ margin:0; color:#b8c7c5; font-size:.9rem; }

.tbook-facts{ list-style:none; margin:28px 0 0; padding:0; display:grid; gap:12px; }
.tbook-facts li{ display:grid; grid-template-columns:22px minmax(0,1fr); gap:10px; align-items:start; color:#d3dfdd; font-size:.92rem; }
.tbook-facts svg{ width:20px; height:20px; fill:none; stroke:var(--p-glow); stroke-width:2; margin-top:1px; }
.tbook-facts strong{ color:#fff; }

.tbook-mini{ margin:26px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.15); display:flex; align-items:center; gap:13px; }
.tbook-mini img{ width:50px; height:50px; object-fit:cover; object-position:center top; border-radius:50%; border:1px solid rgba(255,255,255,.28); }
.tbook-mini div{ min-width:0; }
.tbook-mini b{ display:block; color:#fff; font-size:.9rem; }
.tbook-mini span{ display:block; margin-top:2px; font-family:var(--f-mono); font-size:.68rem; line-height:1.45; letter-spacing:.03em; color:#9fb5b2; }

/* --- Buchungskarte --- */
.tbook-card{ min-width:0; background:#fff; color:var(--ink); padding:clamp(22px,3vw,34px); border:1px solid rgba(255,255,255,.2); border-radius:var(--r); box-shadow:0 24px 70px rgba(0,20,19,.22); }
.tbook-card::before,.tbook-card::after,.tbook-card>.c1,.tbook-card>.c2{ border-color:var(--p-300); }
.tbook-card-top{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:start; margin-bottom:18px; }
.tbook-card .dim{ color:var(--p-600); display:block; margin-bottom:8px; }
.tbook-card h2{ margin:0; font-size:clamp(1.45rem,2.4vw,2rem); }
.tbook-card-sub{ margin:7px 0 0; color:var(--ink-2); font-size:.9rem; }
.tbook-duration{ border:1px solid var(--line-2); border-radius:999px; padding:8px 11px; white-space:nowrap; font-family:var(--f-mono); font-size:.68rem; color:var(--ink-2); }

.tbook-steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:18px 0; }
.tbook-step{ min-width:0; padding:10px 8px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); text-align:center; }
.tbook-step b{ display:block; font-family:var(--f-mono); font-size:.66rem; color:var(--p-600); letter-spacing:.08em; }
.tbook-step span{ display:block; margin-top:4px; font-size:.75rem; line-height:1.35; color:var(--ink-2); }

/* Alte globale 620px-Pflicht nur nach dem Laden. Vor Einwilligung kompakt. */
.tbook-card .cal-inline{ min-height:0; height:auto; margin-top:8px; overflow:visible; }
.tbook-card .cal-loading{ height:auto; min-height:0; padding:26px 20px; background:var(--surface); border-color:var(--line-2); color:var(--ink-2); }
.tbook-card .cal-loading.cal-consent{ gap:15px; }
.tbook-card .cal-loading.cal-consent p{ max-width:46ch; font-family:var(--f-body); font-size:.83rem; color:var(--ink-3); line-height:1.55; }
.tbook-card .cal-loading.cal-consent .btn{ width:100%; justify-content:center; }
.tbook-card .cal-inline.cal-active{ min-height:650px; overflow:hidden; }
.tbook-card .cal-inline.cal-active .cal-loading{ min-height:650px; }
@media (max-width:620px){
  .tbook-card{ padding:20px 16px 22px; margin-inline:-4px; }
  .tbook-card-top{ grid-template-columns:1fr; gap:10px; }
  .tbook-duration{ justify-self:start; }
  .tbook-steps{ grid-template-columns:1fr; }
  .tbook-step{ display:grid; grid-template-columns:32px 1fr; text-align:left; gap:4px; align-items:center; padding:9px 11px; }
  .tbook-step span{ margin:0; }
  .tbook-card .cal-inline.cal-active,.tbook-card .cal-inline.cal-active .cal-loading{ min-height:600px; }
}
.tbook-privacy{ margin:13px 0 0; text-align:center; font-family:var(--f-mono); font-size:.65rem; line-height:1.5; color:var(--ink-3); }
.tbook-privacy a{ color:inherit; }

/* --- Ergebnis nach 60 Minuten --- */
.tbook-outcomes{ display:grid; grid-template-columns:1fr; gap:14px; margin-top:30px; }
@media (min-width:760px){ .tbook-outcomes{ grid-template-columns:repeat(3,1fr); } }
.tbook-outcome{ padding:24px; border:1px solid var(--line); border-radius:var(--r); background:rgba(255,255,255,.78); }
.tbook-outcome .n{ display:block; font-family:var(--f-mono); font-size:.7rem; letter-spacing:.1em; color:var(--p-600); margin-bottom:16px; }
.tbook-outcome h3{ margin:0 0 8px; font-size:1.1rem; }
.tbook-outcome p{ margin:0; font-size:.9rem; }
.tbook-good-result{ margin-top:20px; padding:20px 22px; border-left:3px solid var(--p-500); background:var(--p-50); font-size:.96rem; color:var(--ink-2); }
.tbook-good-result strong{ color:var(--ink); }

/* --- Was nicht passiert --- */
.tbook-relief-grid{ display:grid; grid-template-columns:1fr; gap:14px; margin-top:26px; }
@media (min-width:760px){ .tbook-relief-grid{ grid-template-columns:repeat(3,1fr); } }
.tbook-relief{ padding:22px; border-top:2px solid var(--ink); background:#fff; }
.tbook-relief .x{ width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--line-2); border-radius:50%; font-family:var(--f-mono); color:var(--p-700); margin-bottom:14px; }
.tbook-relief h3{ margin:0 0 7px; font-size:1rem; }
.tbook-relief p{ margin:0; font-size:.88rem; }

/* --- Persönliche Vertrauenssektion --- */
.tbook-person{ display:grid; grid-template-columns:1fr; gap:30px; align-items:center; }
@media (min-width:850px){ .tbook-person{ grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(42px,6vw,76px); } }
.tbook-portrait{ max-width:390px; margin:0; overflow:hidden; background:#eae5dc; }
.tbook-portrait img{ display:block; width:100%; height:auto; }
.tbook-person h2{ margin:14px 0 18px; }
.tbook-person-lead{ font-size:1.02rem; color:var(--ink-2); max-width:62ch; }
.tbook-person-facts{ margin-top:24px; display:grid; gap:0; border-top:1px solid var(--line); }
.tbook-person-fact{ display:grid; grid-template-columns:minmax(110px,.38fr) minmax(0,1fr); gap:18px; padding:14px 0; border-bottom:1px solid var(--line); }
.tbook-person-fact span{ font-family:var(--f-mono); font-size:.68rem; color:var(--ink-3); text-transform:uppercase; letter-spacing:.08em; }
.tbook-person-fact b{ font-size:.88rem; font-weight:500; }
@media(max-width:520px){ .tbook-person-fact{ grid-template-columns:1fr; gap:4px; } }

/* --- FAQ + alternative Kontaktmöglichkeit --- */
.tbook-faq-wrap{ display:grid; grid-template-columns:1fr; gap:32px; align-items:start; }
@media (min-width:900px){ .tbook-faq-wrap{ grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr); gap:70px; } }
.tbook-faq-intro h2{ margin:14px 0 14px; }
.tbook-faq-intro p{ margin:0; }
.tbook-faq .faq{ max-width:none; }
.tbook-faq .fa p+p{ margin-top:10px; }

.tbook-bottom-cta{ margin-top:38px; padding:26px; background:var(--ink); color:#fff; border-radius:var(--r); display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; justify-content:space-between; }
.tbook-bottom-cta h3{ color:#fff; margin:0 0 5px; }
.tbook-bottom-cta p{ color:#b8c7c5; margin:0; font-size:.88rem; }
.tbook-bottom-cta .btn{ flex-shrink:0; }
@media(max-width:620px){ .tbook-bottom-cta .btn{ width:100%; justify-content:center; } }

.tbook-alt{ margin-top:22px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; color:var(--ink-3); font-size:.8rem; }
.tbook-alt b{ color:var(--ink-2); }
.tbook-alt a{ color:var(--p-700); text-decoration:none; border-bottom:1px solid var(--p-200); }

/* --- Buchung angekommen --- */
.tdone{ min-height:66vh; display:grid; align-items:center; padding:clamp(64px,10vw,120px) 0; }
.tdone-grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:start; }
@media(min-width:900px){ .tdone-grid{ grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:70px; } }
.tdone h1{ margin:14px 0 18px; max-width:15ch; }
.tdone-lede{ font-size:1.08rem; max-width:56ch; }
.tdone-date{ display:none; margin:26px 0 0; padding:18px 20px; background:var(--p-50); border-left:3px solid var(--p-500); }
.tdone-date.show{ display:block; }
.tdone-date span{ display:block; font-family:var(--f-mono); font-size:.68rem; color:var(--p-700); letter-spacing:.08em; text-transform:uppercase; }
.tdone-date b{ display:block; margin-top:5px; font-family:var(--f-display); font-size:1.15rem; }
.tdone-card{ padding:26px; background:#fff; border:1px solid var(--line); border-radius:var(--r); }
.tdone-list{ list-style:none; padding:0; margin:0; display:grid; gap:18px; }
.tdone-list li{ display:grid; grid-template-columns:28px minmax(0,1fr); gap:12px; }
.tdone-list i{ width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--p-50); color:var(--p-700); font-family:var(--f-mono); font-style:normal; font-size:.72rem; }
.tdone-list b{ display:block; font-size:.93rem; margin-bottom:3px; }
.tdone-list p{ margin:0; font-size:.83rem; color:var(--ink-2); }
.tdone-links{ margin-top:22px; display:flex; flex-wrap:wrap; gap:10px 18px; }
.tdone-links a{ font-family:var(--f-mono); font-size:.72rem; color:var(--p-700); text-decoration:none; border-bottom:1px solid var(--p-200); }

/* focus / accessibility */
#calLoadBtn:focus-visible,.js-calendar-jump:focus-visible{ outline:3px solid var(--p-glow); outline-offset:3px; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto !important; } }

/* Review 01/05: Terminseite als fokussierter Funnel – keine Hauptnavigation. */
.tbook-header .nav{ justify-content:space-between; }
.tbook-back{ display:inline-flex; align-items:center; gap:8px; font-family:var(--f-mono); font-size:.72rem; letter-spacing:.04em; color:var(--ink-2); text-decoration:none; border-bottom:1px solid transparent; padding:8px 0; }
.tbook-back:hover{ color:var(--p-700); border-bottom-color:var(--p-300); }
@media(max-width:520px){ .tbook-back{ font-size:.66rem; gap:6px; } .tbook-back span{ font-size:.9rem; } }

/* Trust kommt auf Mobil bewusst NACH dem Buchungsmodul. */
.tbook-trust{ min-width:0; }
@media(min-width:1020px){ .tbook-trust{ grid-column:1; margin-top:-22px; } }
@media(max-width:1019px){ .tbook-trust{ margin-top:-6px; } }


/* Review 01: Trust auf Desktop als kompakte, gemeinsame Abschlusszeile des Heroes. */
@media(min-width:1020px){
  .tbook-trust{ grid-column:1 / -1; margin-top:2px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; padding-top:20px; border-top:1px solid rgba(255,255,255,.15); }
  .tbook-trust .tbook-facts{ margin:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .tbook-trust .tbook-mini{ margin:0; padding:0 0 0 24px; border-top:0; border-left:1px solid rgba(255,255,255,.15); min-width:260px; }
}

/* Review 05: fokussierter, reduzierter Footer auf der eigentlichen Buchungsseite. */
.tbook-footer{ border-top:1px solid var(--line); background:#fbfaf7; }
.tbook-footer-in{ min-height:92px; display:flex; gap:20px 30px; align-items:center; justify-content:space-between; padding:22px 0; }
.tbook-footer-in b{ display:block; font-size:.84rem; }
.tbook-footer-in span{ display:block; margin-top:3px; font-family:var(--f-mono); font-size:.65rem; color:var(--ink-3); }
.tbook-footer-links{ display:flex; flex-wrap:wrap; gap:14px 22px; }
.tbook-footer-links a{ font-family:var(--f-mono); font-size:.68rem; color:var(--ink-2); text-decoration:none; }
@media(max-width:620px){ .tbook-footer-in{ align-items:flex-start; flex-direction:column; } }

.tbook-reg{margin:10px 0 0;font-family:var(--f-mono);font-size:.68rem;color:var(--ink-3);line-height:1.45;}
