/* ============================================================
   Funnel — Qualifizierungsstrecke
   ============================================================ */

body.funnel-body{
  background:
    radial-gradient(900px 500px at 85% -10%,rgba(193,154,63,.10),transparent 60%),
    radial-gradient(700px 450px at 0% 100%,rgba(193,154,63,.08),transparent 55%),
    var(--bg-soft);
  min-height:100vh;
  display:flex;flex-direction:column;
}

/* Top bar */
.funnel-top{padding:20px 0}
.funnel-top .container{display:flex;align-items:center;justify-content:space-between}
.funnel-top .brand{font-size:18px}
.funnel-top .secure{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--slate-500)}
.funnel-top .secure svg{color:var(--emerald-500)}

/* Progress */
.progress-wrap{max-width:640px;margin:0 auto 6px;width:100%}
.progress-meta{display:flex;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--slate-500);margin-bottom:8px;padding-inline:4px}
.progress-meta b{color:var(--blue-600);font-family:var(--font-head)}
.progress-bar{height:8px;border-radius:8px;background:#e6ecf5;overflow:hidden}
.progress-fill{height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,var(--blue-600),var(--emerald-500));transition:width .5s var(--ease)}

/* Stage container */
.funnel-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:24px 0 80px}
.funnel-card{
  width:100%;max-width:640px;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:clamp(28px,5vw,48px);position:relative;overflow:hidden;
}

/* Steps */
.step-panel{display:none;animation:fadeUp .45s var(--ease)}
.step-panel.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.step-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-600);margin-bottom:14px}
.step-panel h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:10px}
.step-panel .step-sub{color:var(--slate-500);font-size:16px;margin-bottom:22px}

/* Calendly-Embed */
.calendly-embed{width:100%;min-height:660px;border-radius:14px;overflow:hidden}
.calendly-embed .calendly-inline-widget{min-height:660px}

/* Option cards */
.options{display:grid;gap:12px}
.options.cols-2{grid-template-columns:1fr 1fr}
.option{
  display:flex;align-items:center;gap:15px;width:100%;text-align:left;
  background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;transition:.2s var(--ease);font-family:var(--font-body);
}
.option:hover{border-color:var(--blue-500);background:var(--blue-50);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.option.selected{border-color:var(--blue-600);background:var(--blue-50);box-shadow:0 0 0 3px rgba(193,154,63,.12)}
.option .opt-ic{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:var(--blue-50);color:var(--blue-600);display:grid;place-items:center;transition:.2s}
.option.selected .opt-ic,.option:hover .opt-ic{background:var(--blue-600);color:#fff}
.option .opt-txt{flex:1}
.option .opt-txt b{display:block;font-family:var(--font-head);font-weight:700;font-size:16.5px;color:var(--navy-800)}
.option .opt-txt span{font-size:13.5px;color:var(--slate-500)}
.option .opt-check{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;transition:.2s}
.option.selected .opt-check{background:var(--emerald-500);border-color:var(--emerald-500)}
.option .opt-check svg{opacity:0;color:#fff;transition:.2s}
.option.selected .opt-check svg{opacity:1}
.options.cols-2 .option{flex-direction:column;text-align:center;gap:10px;padding:22px 16px}
.options.cols-2 .option .opt-check{display:none}

/* Form fields */
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--font-head);font-weight:600;font-size:14px;color:var(--navy-800);margin-bottom:8px}
.field input{
  width:100%;padding:15px 16px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:16px;color:var(--ink);transition:.2s;background:#fff;
}
.field input:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(193,154,63,.12)}
.field input::placeholder{color:var(--slate-400)}
.field .err{display:none;color:#e5484d;font-size:13px;margin-top:6px;font-weight:600}
.field.invalid input{border-color:#e5484d}
.field.invalid .err{display:block}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--slate-500);line-height:1.5;margin-top:4px}
.consent input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;accent-color:var(--blue-600)}
.consent a{color:var(--blue-600);text-decoration:underline}

/* Nav buttons */
.step-nav{display:flex;align-items:center;gap:14px;margin-top:28px}
.btn-back{background:none;border:none;color:var(--slate-500);font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:6px;padding:8px 4px}
.btn-back:hover{color:var(--navy-800)}
.step-nav .spacer{flex:1}

/* Trust chips under card */
.funnel-trust{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:26px;font-size:13px;color:var(--slate-500);font-weight:500}
.funnel-trust span{display:inline-flex;align-items:center;gap:7px}
.funnel-trust svg{color:var(--emerald-500)}

/* Loading / result panel */
.finish{text-align:center;padding:10px 0}
.finish .spinner{width:56px;height:56px;border:4px solid var(--blue-50);border-top-color:var(--blue-600);border-radius:50%;margin:0 auto 24px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.finish .check{width:72px;height:72px;border-radius:50%;background:var(--emerald-50);color:var(--emerald-500);display:grid;place-items:center;margin:0 auto 22px;animation:pop .5s var(--ease)}
@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.finish h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:12px}
.finish p{color:var(--slate-500);font-size:16px;max-width:440px;margin:0 auto 26px}
.summary{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-align:left;max-width:420px;margin:0 auto 26px}
.summary .srow{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:14.5px;border-bottom:1px dashed var(--line)}
.summary .srow:last-child{border-bottom:none}
.summary .srow span{color:var(--slate-500)}
.summary .srow b{color:var(--navy-800);font-family:var(--font-head);text-align:right}

.redirect-note{font-size:13px;color:var(--slate-400);margin-top:16px}
.redirect-note a{color:var(--blue-600);text-decoration:underline}

@media(max-width:520px){
  .options.cols-2{grid-template-columns:1fr}
}
