/* ═══════════════════════════════════════════════════════════
   creaDIG — Termin-Seite (Port der Selsebil-Wizard-UX)
   Eigenständig, nutzt die creaDIG-Design-Tokens (Gold/Schwarz).
   ═══════════════════════════════════════════════════════════ */

:root{
  --accent-from:#be904e; --accent-to:#e4c378; --accent-color:#be904e;
  --accent-rgb:190,144,78; --accent-on:#0D1B2A;
  --accent-gradient:linear-gradient(90deg,var(--accent-from),var(--accent-to));
  --green:#28c840; --wa:#25d366;
  --fd:'Poppins',sans-serif; --fb:'Open Sans',sans-serif;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px;
}
[data-theme="light"]{
  color-scheme:light;
  --bg:#f6f5f2; --bg-2:#ffffff; --bg-3:#efede8; --bg-4:#e4e2dc;
  --text-1:#0c0c0e; --text-2:rgba(12,12,14,.65); --text-3:rgba(12,12,14,.45); --text-4:rgba(12,12,14,.28);
  --surface-1:rgba(12,12,14,.06); --surface-2:rgba(12,12,14,.04);
  --border:rgba(12,12,14,.1); --border-strong:rgba(12,12,14,.22);
  --border-b:rgba(var(--accent-rgb),.35); --blue-dim:rgba(var(--accent-rgb),.08);
  --nav-bg:rgba(246,245,242,.92); --page-bg:linear-gradient(180deg,#f8fafc 0%,#f6f5f2 45%,#f6f5f2 100%);
  --shadow-card:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);
}
[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0c0c0e; --bg-2:#131316; --bg-3:#1a1a1f; --bg-4:#222228;
  --text-1:#f4f2ef; --text-2:rgba(244,242,239,.6); --text-3:rgba(244,242,239,.4); --text-4:rgba(244,242,239,.2);
  --surface-1:rgba(244,242,239,.08); --surface-2:rgba(244,242,239,.05);
  --border:rgba(244,242,239,.07); --border-strong:rgba(244,242,239,.3);
  --border-b:rgba(var(--accent-rgb),.3); --blue-dim:rgba(var(--accent-rgb),.1);
  --nav-bg:rgba(12,12,14,.9); --page-bg:none;
  --shadow-card:0 1px 2px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.35);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--page-bg),var(--bg);background-attachment:fixed;
  color:var(--text-1);font-family:var(--fb);font-weight:300;line-height:1.7;
  min-height:100vh;overflow-x:hidden;
  transition:background .35s ease,color .35s ease;
}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;}
a,button,select,input,textarea,label,.tm-type-card,.tm-cal-day:not(.empty):not(.disabled),.tm-slot,.tm-radio-item{cursor:pointer;}
svg{display:block;}

/* ── dezenter Chaos→Struktur-Hintergrund (ruhig, nicht ablenkend) ── */
.tm-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.tm-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;}
.tm-orb.o1{width:46vw;height:46vw;top:-12%;right:-10%;background:radial-gradient(circle,rgba(var(--accent-rgb),.18),transparent 68%);}
.tm-orb.o2{width:38vw;height:38vw;bottom:-14%;left:-12%;background:radial-gradient(circle,rgba(var(--accent-rgb),.1),transparent 70%);}
.tm-grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(var(--accent-rgb),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.05) 1px,transparent 1px);
  background-size:62px 62px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000,transparent 78%);
          mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000,transparent 78%);}
[data-theme="light"] .tm-grid{opacity:.6;}

/* ── NAV ── */
.tm-nav{position:fixed;top:0;left:0;right:0;z-index:300;
  display:flex;align-items:center;gap:1rem;
  padding:.85rem clamp(1rem,3vw,2.5rem);
  background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);}
.tm-logo{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fd);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:var(--text-1);}
.tm-logo .crea{color:var(--text-1);} .tm-logo .dig{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.tm-logo-mark{width:26px;height:26px;}
.tm-nav-sp{flex:1;}
.tm-nav-link{font-size:.82rem;color:var(--text-2);display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border-radius:var(--radius-sm);transition:color .2s,background .2s;}
.tm-nav-link:hover{color:var(--text-1);background:var(--blue-dim);}
.tm-lang{position:relative;}
.tm-lang-btn,.tm-theme{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:.8rem;transition:.2s;}
.tm-lang-btn:hover,.tm-theme:hover{border-color:var(--border-b);color:var(--text-1);}
.tm-theme{width:2.1rem;height:2.1rem;justify-content:center;padding:0;}
.tm-theme .icon-sun{display:none;} [data-theme="dark"] .tm-theme .icon-sun{display:block;} [data-theme="dark"] .tm-theme .icon-moon{display:none;}
.tm-theme svg{width:1.05rem;height:1.05rem;stroke:currentColor;fill:none;stroke-width:1.75;}
.tm-lang-menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:9rem;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.35rem;display:none;z-index:30;}
.tm-lang-menu.open{display:block;}
.tm-lang-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--text-2);font-size:.82rem;padding:.5rem .7rem;border-radius:6px;}
.tm-lang-menu button:hover{background:var(--blue-dim);color:var(--text-1);}
.tm-lang-menu button.ac{color:var(--accent-from);font-weight:600;}

/* ── MAIN / HERO ── */
.tm-main{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:7rem clamp(1.1rem,4vw,1.5rem) 4rem;}
.tm-hero{text-align:center;margin-bottom:2.4rem;}
.tm-eye{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-from);
  background:var(--blue-dim);border:1px solid var(--border-b);border-radius:100px;padding:.4rem .9rem;margin-bottom:1.1rem;}
.tm-eye::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-to);box-shadow:0 0 10px var(--accent-to);}
.tm-h1{font-family:var(--fd);font-weight:800;font-size:clamp(1.9rem,5.5vw,2.9rem);line-height:1.06;letter-spacing:-.03em;}
.tm-h1 .grad{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.tm-sub{margin-top:.9rem;color:var(--text-2);font-size:clamp(.92rem,2.4vw,1.02rem);}

/* ── STEP DOTS + PROGRESS ── */
.tm-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:1rem;}
.tm-step-item{display:flex;align-items:center;}
.tm-dot{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--fd);font-weight:600;font-size:.85rem;background:var(--surface-1);color:var(--text-3);border:1px solid var(--border);
  transition:.3s;}
.tm-dot.active{background:var(--accent-gradient);color:var(--accent-on);border-color:transparent;box-shadow:0 4px 14px rgba(var(--accent-rgb),.35);}
.tm-dot.done{background:rgba(var(--accent-rgb),.18);color:var(--accent-from);border-color:var(--border-b);}
.tm-line{width:clamp(1.5rem,7vw,3.5rem);height:2px;background:var(--border);transition:.3s;}
.tm-line.done{background:var(--accent-gradient);}
.tm-progress{height:4px;background:var(--surface-1);border-radius:100px;overflow:hidden;margin-bottom:2.2rem;}
.tm-progress-fill{height:100%;background:var(--accent-gradient);border-radius:100px;transition:width .45s cubic-bezier(.16,1,.3,1);}

/* ── WIZARD SCREENS ── */
.tm-screen{display:none;animation:tmIn .45s cubic-bezier(.16,1,.3,1);}
.tm-screen.active{display:block;}
@keyframes tmIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.tm-sec-title{font-family:var(--fd);font-weight:700;font-size:1.3rem;letter-spacing:-.02em;}
.tm-sec-sub{color:var(--text-2);font-size:.9rem;margin:.35rem 0 1.5rem;}

/* ── TYP-KARTEN ── */
.tm-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.tm-type-card{position:relative;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.35rem;box-shadow:var(--shadow-card);transition:transform .25s,border-color .25s,box-shadow .25s;}
.tm-type-card:hover{border-color:var(--border-b);transform:translateY(-2px);}
.tm-type-card.selected{border-color:transparent;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.5),0 16px 36px rgba(var(--accent-rgb),.16);}
.tm-tc-icon{width:2.6rem;height:2.6rem;border-radius:var(--radius-sm);background:var(--blue-dim);display:flex;align-items:center;justify-content:center;color:var(--accent-from);margin-bottom:.9rem;}
.tm-tc-icon svg{width:1.3rem;height:1.3rem;}
.tm-tc-badge{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .6rem;border-radius:100px;margin-bottom:.6rem;}
.tm-tc-badge.free{background:rgba(40,200,64,.14);color:#2ea043;}
.tm-tc-badge.book{background:var(--blue-dim);color:var(--accent-from);}
.tm-tc-title{font-family:var(--fd);font-weight:700;font-size:1.05rem;line-height:1.25;}
.tm-tc-title small{display:block;font-weight:400;font-size:.78rem;color:var(--text-3);margin-top:.1rem;}
.tm-tc-desc{color:var(--text-2);font-size:.85rem;margin:.55rem 0 .9rem;}
.tm-tc-meta{display:flex;flex-direction:column;gap:.45rem;}
.tm-tc-meta-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-2);}
.tm-tc-meta-row svg{width:.95rem;height:.95rem;stroke:var(--accent-from);fill:none;stroke-width:2;flex-shrink:0;}
.tm-tc-check{position:absolute;top:1.1rem;right:1.1rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:.25s;}
.tm-tc-check svg{width:.85rem;height:.85rem;stroke:var(--accent-on);fill:none;stroke-width:3;}
.tm-type-card.selected .tm-tc-check{opacity:1;transform:scale(1);}

/* ── KALENDER ── */
.tm-notice{display:flex;gap:.6rem;align-items:flex-start;background:var(--blue-dim);border:1px solid var(--border-b);border-radius:var(--radius-md);padding:.8rem 1rem;font-size:.82rem;color:var(--text-2);margin-bottom:1.1rem;}
.tm-notice svg{width:1.05rem;height:1.05rem;stroke:var(--accent-from);fill:none;stroke-width:2;flex-shrink:0;margin-top:.1rem;}
.tm-legend{display:flex;gap:1.2rem;font-size:.76rem;color:var(--text-3);margin-bottom:.8rem;}
.tm-legend span{display:inline-flex;align-items:center;gap:.4rem;}
.tm-legend i{width:.6rem;height:.6rem;border-radius:50%;}
.tm-legend .av i{background:var(--accent-to);box-shadow:0 0 8px var(--accent-to);}
.tm-legend .pa i{background:var(--surface-1);border:1px solid var(--border);}
.tm-cal{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.2rem;box-shadow:var(--shadow-card);}
.tm-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.tm-cal-month{font-family:var(--fd);font-weight:600;font-size:1rem;}
.tm-cal-nav{display:flex;gap:.4rem;}
.tm-cal-nav button{width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--surface-1);border:1px solid var(--border);color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:.2s;}
.tm-cal-nav button:hover{border-color:var(--border-b);color:var(--text-1);}
.tm-cal-nav svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;}
.tm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;}
.tm-cal-dayname{text-align:center;font-size:.68rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:.3rem 0;}
.tm-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-2);border:1px solid transparent;transition:.18s;position:relative;}
.tm-cal-day.empty{pointer-events:none;}
.tm-cal-day.disabled{color:var(--text-4);opacity:.45;pointer-events:none;text-decoration:line-through;}
.tm-cal-day:not(.empty):not(.disabled):hover{background:var(--blue-dim);border-color:var(--border-b);color:var(--text-1);}
.tm-cal-day.today{font-weight:700;color:var(--text-1);}
.tm-cal-day.has-slots::after{content:'';position:absolute;bottom:.28rem;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent-to);box-shadow:0 0 6px var(--accent-to);}
.tm-cal-day.selected{background:var(--accent-gradient);color:var(--accent-on);font-weight:700;border-color:transparent;}
.tm-cal-day.selected::after{background:var(--accent-on);box-shadow:none;}

.tm-time{margin-top:1.3rem;}
.tm-time-title{font-size:.82rem;color:var(--text-2);margin-bottom:.6rem;}
.tm-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.2rem,1fr));gap:.5rem;}
.tm-slot{text-align:center;padding:.6rem .4rem;border-radius:var(--radius-sm);background:var(--bg-3);border:1px solid var(--border);font-size:.85rem;color:var(--text-2);transition:.18s;}
.tm-slot:hover{border-color:var(--border-b);color:var(--text-1);}
.tm-slot.selected{background:var(--accent-gradient);color:var(--accent-on);font-weight:600;border-color:transparent;}

/* ── FORMULAR ── */
.tm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.tm-fg{display:flex;flex-direction:column;gap:.4rem;}
.tm-fg.full{grid-column:1 / -1;}
.tm-label{font-size:.8rem;color:var(--text-2);font-weight:400;}
.tm-label .req{color:var(--accent-from);}
.tm-input,.tm-select,.tm-textarea{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem;font-size:.9rem;color:var(--text-1);transition:border-color .2s,box-shadow .2s;width:100%;}
.tm-input::placeholder,.tm-textarea::placeholder{color:var(--text-4);}
.tm-input:focus,.tm-select:focus,.tm-textarea:focus{outline:none;border-color:var(--border-b);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15);}
.tm-input.invalid,.tm-select.invalid{border-color:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.14);}
.tm-textarea{min-height:5.5rem;resize:vertical;}
.tm-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:1rem;padding-right:2.2rem;}
.tm-radio-group{display:flex;flex-wrap:wrap;gap:.6rem;}
.tm-radio-item{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .85rem;font-size:.85rem;color:var(--text-2);transition:.2s;}
.tm-radio-item:hover{border-color:var(--border-b);}
.tm-radio-dot{width:1rem;height:1rem;border-radius:50%;border:2px solid var(--border-strong);transition:.2s;flex-shrink:0;}
.tm-radio-item.selected{border-color:var(--border-b);color:var(--text-1);background:var(--blue-dim);}
.tm-radio-item.selected .tm-radio-dot{border-color:var(--accent-from);background:radial-gradient(circle,var(--accent-from) 0 40%,transparent 45%);}

/* ── BUTTONS ── */
.tm-btn-row{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;}
.tm-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;padding:.8rem 1.5rem;border-radius:var(--radius-sm);border:1px solid transparent;transition:.22s;}
.tm-btn svg{width:1.05rem;height:1.05rem;stroke:currentColor;fill:none;stroke-width:2.2;}
.tm-btn-fill{background:var(--accent-gradient);color:var(--accent-on);box-shadow:0 6px 18px rgba(var(--accent-rgb),.3);}
.tm-btn-fill:hover{filter:brightness(1.05);transform:translateY(-1px);}
.tm-btn-fill:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none;filter:none;}
.tm-btn-out{background:transparent;border-color:var(--border-strong);color:var(--text-2);}
.tm-btn-out:hover{border-color:var(--border-b);color:var(--text-1);}

/* ── SUMMARY ── */
.tm-summary{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);}
.tm-sum-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--border);font-size:.88rem;}
.tm-sum-row:last-child{border-bottom:0;}
.tm-sum-key{color:var(--text-3);flex-shrink:0;}
.tm-sum-val{color:var(--text-1);text-align:right;font-weight:400;word-break:break-word;}
.tm-sum-val.accent{color:var(--accent-from);font-weight:600;}
.tm-btn-wa{display:inline-flex;align-items:center;gap:.6rem;background:var(--wa);color:#fff;font-weight:700;font-size:.95rem;padding:.85rem 1.6rem;border-radius:var(--radius-sm);box-shadow:0 8px 22px rgba(37,211,102,.32);transition:.2s;}
.tm-btn-wa:hover{filter:brightness(1.05);transform:translateY(-1px);}
.tm-btn-wa svg{width:1.15rem;height:1.15rem;fill:currentColor;}

/* ── SUCCESS ── */
.tm-success{text-align:center;padding:2rem 1rem;}
.tm-success-icon{width:4.2rem;height:4.2rem;border-radius:50%;background:rgba(40,200,64,.14);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;animation:tmPop .5s cubic-bezier(.16,1,.3,1);}
.tm-success-icon svg{width:2rem;height:2rem;stroke:#2ea043;fill:none;stroke-width:2.5;}
@keyframes tmPop{from{transform:scale(.5);opacity:0;}to{transform:scale(1);opacity:1;}}
.tm-success-title{font-family:var(--fd);font-weight:700;font-size:1.45rem;}
.tm-success-sub{color:var(--text-2);font-size:.92rem;margin:.6rem auto 1.4rem;max-width:30rem;}
.tm-success-detail{display:inline-flex;flex-direction:column;gap:.55rem;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.3rem;margin-bottom:1.6rem;}
.tm-success-detail-row{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--text-2);}
.tm-success-detail-row svg{width:1rem;height:1rem;stroke:var(--accent-from);fill:none;stroke-width:2;}

/* ── FOOTER ── */
.tm-footer{position:relative;z-index:1;border-top:1px solid var(--border);margin-top:3rem;padding:1.8rem clamp(1.1rem,4vw,2.5rem);
  display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center;justify-content:center;text-align:center;}
.tm-footer .ft-links{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;}
.tm-footer a{font-size:.8rem;color:var(--text-3);}
.tm-footer a:hover{color:var(--accent-from);}
.tm-footer .ft-copy{font-size:.78rem;color:var(--text-4);width:100%;}

/* ── RESPONSIVE ── */
@media(max-width:640px){
  .tm-type-grid{grid-template-columns:1fr;}
  .tm-form-grid{grid-template-columns:1fr;}
  .tm-main{padding-top:6rem;}
  .tm-btn{padding:.8rem 1.1rem;font-size:.85rem;}
  .tm-nav-link span.lbl{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .tm-screen,.tm-success-icon{animation:none;}
  *{transition-duration:.01ms!important;}
}
