/* ===== Teile-Anfrage-Assistent ===== */
.finder-sec{position:relative;background:linear-gradient(var(--bg),#13090b 50%,var(--bg))}
.finder{max-width:880px;margin:44px auto 0;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:28px;padding:30px 24px;backdrop-filter:blur(10px);position:relative;overflow:hidden}
.finder::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,43,56,.7),transparent 35%,transparent 65%,rgba(217,183,121,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.f-bar{height:3px;background:var(--line);border-radius:3px;margin-bottom:22px;overflow:hidden}
.f-bar span{display:block;height:100%;width:33%;background:linear-gradient(90deg,var(--red-hot),var(--gold));transition:width .5s cubic-bezier(.2,.8,.2,1)}
.f-dots{list-style:none;display:flex;gap:18px;margin:0 0 22px;padding:0;color:var(--muted);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.f-dots li{opacity:.45;transition:opacity .3s,color .3s}.f-dots li.on{opacity:1;color:var(--gold)}
.f-step{animation:fade .45s both}
.f-step[hidden]{display:none}
.f-step h3{font:400 clamp(1.4rem,3.4vw,2rem)/1.2 var(--serif);margin:0 0 22px}
.f-choices{display:grid;gap:12px}
.f-choice{display:flex;flex-direction:column;gap:6px;text-align:left;padding:22px;border-radius:18px;border:1px solid var(--line);background:rgba(0,0,0,.3);color:var(--ink);font:inherit;cursor:pointer;transition:transform .25s,border-color .25s,background .25s}
.f-choice strong{font:400 1.4rem var(--serif)}
.f-choice span{color:var(--muted);font-size:.92rem}
.f-choice:hover,.f-choice.sel{border-color:var(--red-hot);background:rgba(225,6,19,.1);box-shadow:0 0 0 3px rgba(225,6,19,.12)}
.f-fields{display:grid;gap:16px;margin-bottom:22px}
.f-fields label{display:block;font-size:.85rem;margin:0}
.f-fields small{color:var(--muted)}
.f-fields input{width:100%;margin-top:6px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:1rem;color:var(--ink);background:rgba(0,0,0,.4);transition:border-color .2s,box-shadow .2s}
.f-fields input:focus{outline:none;border-color:var(--red-hot);box-shadow:0 0 0 4px rgba(225,6,19,.2)}
.f-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.f-actions .btn[disabled]{opacity:.4;pointer-events:none}
.f-back{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;text-decoration:underline;padding:8px}
.f-summary{white-space:pre-wrap;background:rgba(0,0,0,.4);border:1px dashed rgba(217,183,121,.5);border-radius:16px;padding:18px 20px;margin:0 0 22px;color:#e8e4de;font-size:.95rem;line-height:1.6}
@media(min-width:700px){.f-choices{grid-template-columns:1fr 1fr}.finder{padding:40px 44px}.f-fields{grid-template-columns:1fr 1fr}.f-fields label.wide{grid-column:1/-1}}

/* ===== Liefer-Route ===== */
.route{margin:40px auto 0;max-width:980px}
.route svg{width:100%;height:auto;display:block;overflow:visible}
.route .r-line{stroke:url(#rg);stroke-width:3;fill:none;stroke-linecap:round;stroke-dasharray:6 12;opacity:.9}
.route.go .r-line{animation:dash 24s linear infinite}
@keyframes dash{to{stroke-dashoffset:-600}}
.route .r-node{fill:#0b0b0d;stroke:var(--red-hot);stroke-width:3}
.route .r-pulse{fill:var(--red-hot);opacity:.35;transform-box:fill-box;transform-origin:center;animation:pulse 2.6s ease-out infinite}
.route .r-pulse.b{animation-delay:1.3s}
@keyframes pulse{0%{transform:scale(.6);opacity:.5}100%{transform:scale(2.6);opacity:0}}
.route text{fill:var(--ink);font:400 22px var(--serif)}
.route text.sub{fill:var(--muted);font:500 13px var(--sans);letter-spacing:.2em;text-transform:uppercase}
.route .van{fill:var(--gold);filter:drop-shadow(0 0 8px rgba(217,183,121,.8))}
.route.static .r-line{animation:none}
.route-cap{text-align:center;color:var(--muted);max-width:560px;margin:10px auto 0}

/* Zahnrad folgt leicht der Maus */
.hero-gear{transform:translateY(-50%) translate(var(--gx,0px),var(--gy,0px)) rotate(var(--rot,0deg))}

.f-hint{margin:0 0 12px;color:var(--muted)}
