/* ── FUNNEL LAYER STYLE (alle Branchenseiten) ────────────── */

.funnel-layer-wrap{
  max-width:1100px;margin:32px auto 64px;padding:0 24px;
  display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;
}
@media(max-width:760px){.funnel-layer-wrap{grid-template-columns:1fr;}}

/* Linke Spalte */
.fl-left{display:flex;flex-direction:column;gap:12px;}

.fl-box{
  background:#F5F5F5;border:1.5px solid #E0E0E0;border-radius:var(--radius-lg);
  padding:16px 18px;transition:.3s ease;
  opacity:.5;pointer-events:none;filter:blur(3px);
}
.fl-box.active{opacity:1;pointer-events:all;border-color:#C5C5C5;filter:none;}
.fl-box.done{opacity:.75;pointer-events:all;border-color:#C5C5C5;filter:none;}
.fl-box.done:hover{opacity:1;}

.fl-num{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--color-gray-500);margin-bottom:4px;}
.fl-box h3{font-family:var(--font-family);font-size:.97rem;font-weight:700;
  color:var(--color-ink);margin:0 0 10px;}

/* Inline-Zeile: Input + Wert + Button */
.fl-row{display:flex;align-items:center;gap:10px;}
.fl-row input[type=range]{flex:1;min-width:0;}
.fl-row select{flex:1;min-width:0;}

/* Opts-Buttons (für die bestehenden Funnels) */
.fl-opts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:0;}
.fl-opt{
  padding:7px 14px;border:1.5px solid #D0D0D0;border-radius:var(--radius-md);
  font-family:var(--font-family);font-size:.9rem;font-weight:600;
  color:var(--color-gray-700);background:#fff;cursor:pointer;transition:.15s ease;
}
.fl-opt:hover{border-color:var(--color-accent);color:var(--color-accent);}
.fl-opt.sel{border-color:var(--color-accent);background:var(--color-accent);color:#fff;}

.fl-box select{
  appearance:none;-webkit-appearance:none;
  padding:8px 32px 8px 10px;border:1.5px solid #D0D0D0;border-radius:var(--radius-md);
  font-family:var(--font-family);font-size:.93rem;color:var(--color-ink);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;
  cursor:pointer;width:100%;
}
.fl-box select:focus{outline:none;border-color:var(--color-accent);}

.fl-range{
  -webkit-appearance:none;height:4px;border-radius:2px;width:100%;
  background:linear-gradient(to right, var(--color-accent) 0%, var(--color-accent) var(--pct,50%), #D8D8D8 var(--pct,50%), #D8D8D8 100%);
  outline:none;cursor:pointer;
}
.fl-range::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;border-radius:50%;
  background:#fff;border:2px solid var(--color-accent);box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.fl-val{font-size:.95rem;font-weight:700;color:var(--color-ink);white-space:nowrap;}

.fl-checkgroup{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:10px;}
.fl-check{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:.88rem;color:var(--color-ink);}
.fl-check input[type=checkbox]{
  width:15px;height:15px;border-radius:3px;
  accent-color:var(--color-accent);cursor:pointer;flex:0 0 15px;
}

.fl-btn{
  flex:0 0 auto;padding:8px 16px;
  background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);
  font-family:var(--font-family);font-size:.88rem;font-weight:600;cursor:pointer;
  transition:var(--transition);white-space:nowrap;
}
.fl-btn:hover{background:var(--color-accent-hover);}
.fl-btn-block{margin-top:10px;width:100%;padding:10px;}

/* Rechter Ergebnis-Kasten */
.fl-result{
  background:#fff;border:1.5px solid #E0E0E0;border-radius:var(--radius-lg);
  padding:22px 22px;position:sticky;top:80px;
  opacity:0;transition:.4s ease;pointer-events:none;
  display:flex;flex-direction:column;min-height:480px;
}
.fl-result.visible{opacity:1;pointer-events:all;}

.fl-result-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--color-gray-500);margin-bottom:6px;}
.fl-result-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:800;
  color:var(--color-ink);margin:0 0 16px;line-height:1.2;min-height:2.6em;}

.fl-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.fl-kpi{background:#F5F5F5;border-radius:var(--radius-md);padding:11px 13px;}
.fl-kpi-label{font-size:.75rem;color:var(--color-gray-600);margin-bottom:3px;}
.fl-kpi-val{font-size:1.35rem;font-weight:800;color:var(--color-ink);line-height:1;}
.fl-kpi-val.accent{color:var(--color-accent);}
.fl-kpi-val.green{color:#16a34a;}

.fl-breakdown{font-size:.87rem;color:var(--color-gray-600);line-height:1.65;
  border-top:1px solid #EBEBEB;padding-top:13px;margin-bottom:14px;}
.fl-breakdown b{color:var(--color-ink);}

.fl-modules{margin-bottom:14px;}
.fl-modules h4{font-family:var(--font-family);font-size:.8rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-500);margin:0 0 8px;}
.fl-tag{
  display:inline-block;padding:4px 10px;border-radius:20px;
  background:#EEF4FF;color:var(--color-accent);font-size:.8rem;font-weight:600;
  margin:0 5px 5px 0;
}

.fl-cta-wrap{margin-top:auto;padding-top:12px;}
.fl-cta{
  display:block;width:100%;padding:13px;text-align:center;
  background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);
  font-family:var(--font-family);font-size:1rem;font-weight:700;
  cursor:pointer;text-decoration:none;transition:background .4s ease;
}
.fl-cta:hover{background:var(--color-accent-hover);}
.fl-cta.activated{background:#16a34a;}
.fl-cta.activated:hover{background:#15803d;}

@keyframes fl-pulse{
  0%  {background:var(--color-accent);}
  25% {background:#9CA3AF;box-shadow:0 0 0 6px rgba(156,163,175,.25);}
  75% {background:#9CA3AF;box-shadow:0 0 0 10px rgba(156,163,175,0);}
  100%{background:var(--color-accent);box-shadow:none;}
}
.fl-cta.pulse{animation:fl-pulse .7s ease;}

/* Grüner Betrag blinkt auf */
@keyframes green-pop{
  0%  {font-size:1.35rem;color:#16a34a;}
  40% {font-size:1.9rem;color:#15803d;}
  100%{font-size:1.35rem;color:#16a34a;}
}
.fl-kpi-val.green.pop{animation:green-pop .6s ease;}

.fl-note{font-size:.8rem;color:var(--color-gray-500);text-align:center;margin-top:8px;}
