{"id":10863,"date":"2026-07-28T14:45:07","date_gmt":"2026-07-28T14:45:07","guid":{"rendered":"https:\/\/nispel.athene.wpspace.me\/angebotsanfrage\/"},"modified":"2026-07-28T14:45:07","modified_gmt":"2026-07-28T14:45:07","slug":"angebotsanfrage","status":"publish","type":"page","link":"https:\/\/nispel.athene.wpspace.me\/en\/angebotsanfrage\/","title":{"rendered":"Request for quotation"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Sie brauchen ein schriftliches Angebot, einen Staffelpreis oder sind unsicher, welches Teil zu Ihrem Ger&auml;t passt? Schicken Sie uns Ihre Anfrage &ndash; unverbindlich und kostenfrei.<\/p>\n\t<div class=\"nsp-rfq-hof\">\n\t<form class=\"nsp-rfq\" method=\"post\" action=\"https:\/\/nispel.athene.wpspace.me\/wp-admin\/admin-post.php\">\n\t\t<input type=\"hidden\" id=\"nispel_rfq_nonce\" name=\"nispel_rfq_nonce\" value=\"60422cddf0\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/10863\" \/>\t\t<input type=\"hidden\" name=\"action\" value=\"nispel_rfq\">\n\t\t<input type=\"hidden\" name=\"zeit\" value=\"1790414053\">\n\t\t<input type=\"hidden\" name=\"artikel_zurueck\" value=\"0\">\n\t\t<p class=\"nsp-rfq-falle\" style=\"position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none\" aria-hidden=\"true\"><label>Bitte nicht ausf\u00fcllen <input type=\"text\" name=\"webseite\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/p>\n\n\t\t\n\t\t<h2>Ihre Positionen<\/h2>\n\t\t\t\t\t<ul class=\"nsp-rfq-liste\" data-naechster=\"0\"><\/ul>\n\t\t\t<p class=\"nsp-rfq-leer\">Noch keine Position gew\u00e4hlt. Suchen Sie unten nach Artikelnummer oder Bezeichnung \u2013 oder beschreiben Sie einfach, was Sie brauchen; Hersteller und Ger\u00e4temodell gen\u00fcgen uns meistens.<\/p>\n\t\t\t<p class=\"nsp-rfq-gesamt\" hidden>Zwischensumme netto <b>0,00&nbsp;&euro;<\/b><\/p>\n\t\t\n\t\t\t\t<div class=\"nsp-rfq-zufuegen\" data-quelle=\"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/nispel\/v1\/suchindex\" hidden>\n\t\t\t<label for=\"nsp-rfq-suche\">Weiteren Artikel hinzuf\u00fcgen<\/label>\n\t\t\t<div class=\"nsp-rfq-suchfeld\">\n\t\t\t\t<input type=\"search\" id=\"nsp-rfq-suche\" autocomplete=\"off\" spellcheck=\"false\"\n\t\t\t\t\tplaceholder=\"Artikelnummer oder Bezeichnung\" aria-describedby=\"nsp-rfq-suchhilfe\">\n\t\t\t\t<ul class=\"nsp-rfq-vorschlaege\" hidden><\/ul>\n\t\t\t<\/div>\n\t\t\t<p class=\"nsp-rfq-suchhilfe\" id=\"nsp-rfq-suchhilfe\">Ab zwei Zeichen durchsuchen wir das gesamte Sortiment.\n\t\t\t\t<button type=\"button\" class=\"nsp-rfq-freitaste\">Artikel nicht dabei? Position frei beschreiben<\/button><\/p>\n\t\t<\/div>\n\n\t\t<h2>Ihre Angaben<\/h2>\n\t\t<div class=\"nsp-rfq-raster\">\n\t\t\t<p><label for=\"nsp-firma\">Firma \/ Einrichtung <span aria-hidden=\"true\">*<\/span><\/label><input id=\"nsp-firma\" name=\"firma\" type=\"text\" required autocomplete=\"organization\"><\/p>\n\t\t\t<p><label for=\"nsp-person\">Ansprechpartner <span aria-hidden=\"true\">*<\/span><\/label><input id=\"nsp-person\" name=\"person\" type=\"text\" required autocomplete=\"name\"><\/p>\n\t\t\t<p><label for=\"nsp-mail\">E-Mail <span aria-hidden=\"true\">*<\/span><\/label><input id=\"nsp-mail\" name=\"mail\" type=\"email\" required autocomplete=\"email\"><\/p>\n\t\t\t<p><label for=\"nsp-tel\">Telefon<\/label><input id=\"nsp-tel\" name=\"tel\" type=\"tel\" autocomplete=\"tel\"><\/p>\n\t\t\t<p><label for=\"nsp-knr\">Kundennummer <span class=\"nsp-rfq-opt\">(falls vorhanden)<\/span><\/label><input id=\"nsp-knr\" name=\"knr\" type=\"text\"><\/p>\n\t\t\t<p><label for=\"nsp-geraet\">Ger\u00e4t \/ Modell <span class=\"nsp-rfq-opt\">(hilft bei der Kompatibilit\u00e4t)<\/span><\/label><input id=\"nsp-geraet\" name=\"geraet\" type=\"text\"><\/p>\n\t\t<\/div>\n\t\t<p class=\"nsp-rfq-voll\"><label for=\"nsp-text\">Ihre Nachricht<\/label><textarea id=\"nsp-text\" name=\"text\" rows=\"5\" placeholder=\"Zum Beispiel: Wir ben\u00f6tigen 5 St\u00fcck, bitte mit Liefertermin.\"><\/textarea><\/p>\n\n\t\t<p class=\"nsp-rfq-recht\"><label><input type=\"checkbox\" name=\"einwilligung\" value=\"1\" required> Ich bin einverstanden, dass meine Angaben zur Bearbeitung dieser Anfrage gespeichert und verwendet werden. Hinweise dazu in der <a href=\"https:\/\/nispel.athene.wpspace.me\/en\/datenschutz\/\">Datenschutzerkl\u00e4rung<\/a>.<\/label><\/p>\n\n\t\t<p><button type=\"submit\" class=\"nsp-rfq-senden\">Angebot anfordern<\/button><\/p>\n\t\t<p class=\"nsp-rfq-fuss\">Unverbindlich und kostenfrei. Wir melden uns in der Regel innerhalb eines Arbeitstages.<\/p>\n\t<\/form>\n\n\t\t<aside class=\"nsp-rfq-seite\" aria-label=\"Hinweise zur Anfrage\">\n\t\t<section class=\"nsp-rfq-karte\">\n\t\t\t<h2>So geht es weiter<\/h2>\n\t\t\t<ol class=\"nsp-rfq-schritte\">\n\t\t\t\t<li><b>Positionen pr\u00fcfen<\/b><span>Menge \u00e4ndern, Artikel erg\u00e4nzen oder frei beschreiben.<\/span><\/li>\n\t\t\t\t<li><b>Anfrage senden<\/b><span>Firma, Ansprechpartner und E-Mail gen\u00fcgen uns.<\/span><\/li>\n\t\t\t\t<li><b>Angebot erhalten<\/b><span>In der Regel innerhalb eines Arbeitstages, schriftlich.<\/span><\/li>\n\t\t\t<\/ol>\n\t\t<\/section>\n\n\t\t<section class=\"nsp-rfq-karte\">\n\t\t\t<h2>Lieber direkt sprechen?<\/h2>\n\t\t\t<p class=\"nsp-rfq-fon\"><a href=\"tel:+49236336630\">02363&nbsp;3663-0<\/a><\/p>\n\t\t\t<p class=\"nsp-rfq-zeit\">Mo&ndash;Do 7:45&ndash;16:30 Uhr<br>Freitag 7:45&ndash;13:00 Uhr<\/p>\n\t\t\t<p class=\"nsp-rfq-mail\"><a href=\"mailto:kontakt@nispel.de\">kontakt@nispel.de<\/a><\/p>\n\t\t<\/section>\n\n\t\t<section class=\"nsp-rfq-karte nsp-rfq-karte-leise\">\n\t\t\t<h2>Gut zu wissen<\/h2>\n\t\t\t<ul class=\"nsp-rfq-fakten\">\n\t\t\t\t<li>Unverbindlich und kostenfrei<\/li>\n\t\t\t\t<li>Alle Preise netto zzgl. gesetzlicher MwSt.<\/li>\n\t\t\t\t<li>Nur f\u00fcr Fachkreise (B2B)<\/li>\n\t\t\t\t<li>Wir pr\u00fcfen vorab, ob das Teil zu Ihrem Ger\u00e4t passt<\/li>\n\t\t\t<\/ul>\n\t\t<\/section>\n\t<\/aside>\n\t<\/div>\n\t<style id=\"nsp-rfq-css\">\n.nsp-rfq{max-width:none;min-width:0}\n\/* Zwei Spalten ab 1000 px: Formular links, Hinweise rechts. Darunter\n   untereinander, Hinweise zuletzt - dort zaehlt zuerst das Formular. *\/\n.nsp-rfq-hof{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start}\n@media(min-width:1000px){.nsp-rfq-hof{grid-template-columns:minmax(0,1fr) 330px;gap:38px}}\n.nsp-rfq-seite{display:flex;flex-direction:column;gap:16px;min-width:0}\n.nsp-rfq-karte{background:#f7faff;border:1px solid #dde5f1;border-radius:12px;padding:18px 20px}\n.nsp-rfq-karte h2{font-size:15px!important;color:#1F3A68;margin:0 0 12px!important;font-weight:700;\n  letter-spacing:.01em;position:relative;padding-bottom:9px}\n.nsp-rfq-karte h2::after{content:\"\";position:absolute;left:0;bottom:0;width:28px;height:3px;\n  border-radius:2px;background:#C0000E}\n.nsp-rfq-schritte{list-style:none;margin:0;padding:0;counter-reset:nspS;display:flex;\n  flex-direction:column;gap:14px}\n.nsp-rfq-schritte li{counter-increment:nspS;display:grid;grid-template-columns:26px 1fr;\n  gap:4px 10px;align-items:start}\n.nsp-rfq-schritte li::before{content:counter(nspS);grid-row:span 2;display:flex;\n  align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;\n  background:#1F3A68;color:#fff;font-size:13px;font-weight:700}\n.nsp-rfq-schritte b{color:#1F3A68;font-size:14px;line-height:1.3}\n.nsp-rfq-schritte span{color:#4a5a78;font-size:13px;line-height:1.5}\n.nsp-rfq-fon{margin:0 0 6px!important;font-size:20px;font-weight:800;line-height:1.15}\n.nsp-rfq-fon a{color:#1F3A68!important;text-decoration:none!important}\n.nsp-rfq-fon a:hover{color:#C0000E!important}\n.nsp-rfq-zeit{margin:0 0 10px!important;font-size:13px;color:#4a5a78;line-height:1.55}\n.nsp-rfq-mail{margin:0!important;font-size:14px}\n.nsp-rfq-mail a{color:#1F3A68!important;text-decoration:underline!important;text-underline-offset:3px}\n.nsp-rfq-mail a:hover{color:#C0000E!important}\n.nsp-rfq-karte-leise{background:#fff}\n.nsp-rfq-fakten{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}\n.nsp-rfq-fakten li{position:relative;padding-left:22px;font-size:13.5px;color:#3a4a68;line-height:1.5}\n.nsp-rfq-fakten li::before{content:\"\";position:absolute;left:0;top:6px;width:11px;height:6px;\n  border-left:2px solid #1C6B3F;border-bottom:2px solid #1C6B3F;transform:rotate(-45deg)}\n.nsp-rfq h2{font-size:19px;color:#1F3A68;margin:28px 0 14px;font-weight:700}\n.nsp-rfq-fehler{background:#fdeeee;border:1px solid #f3c9c9;color:#8a1414;border-radius:8px;padding:12px 14px;margin:0 0 18px;font-size:14px}\n.nsp-rfq-quelle{background:#eaf0f9;border:1px solid #dde5f1;border-radius:8px;padding:10px 14px;font-size:13.5px;color:#3a4a68;margin:0 0 16px}\n.nsp-rfq-liste{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:10px}\n.nsp-rfq-zeile{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e4eaf4;border-radius:10px;padding:12px 14px}\n.nsp-rfq-bild{flex:0 0 64px;width:64px;height:64px;border-radius:6px;overflow:hidden;background:#f4f7fb;display:flex;align-items:center;justify-content:center}\n.nsp-rfq-bild img{width:100%;height:100%;object-fit:contain}\n.nsp-rfq-bild-platz{width:100%;height:100%;background:#eaf0f9}\n.nsp-rfq-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}\n.nsp-rfq-name{color:#1F3A68;font-weight:600;font-size:15px;text-decoration:none}\n.nsp-rfq-name:hover{text-decoration:underline}\n.nsp-rfq-fahne{display:inline-flex;align-self:flex-start;background:#eaf0f9;color:#3a4a68;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:2px 6px}\n.nsp-rfq-art{color:#5a6a87;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}\n.nsp-rfq-stepper{flex:0 0 auto;display:flex;align-items:center;border:1px solid #dde5f1;border-radius:8px;overflow:hidden}\n.nsp-rfq-stepper button{width:34px;height:38px;border:0;background:#f4f7fb;color:#1F3A68;font-size:18px;line-height:1;cursor:pointer}\n.nsp-rfq-stepper button:hover{background:#eaf0f9}\n.nsp-rfq-stepper input{width:44px;height:38px;border:0;border-left:1px solid #dde5f1;border-right:1px solid #dde5f1;text-align:center;font-size:15px;-moz-appearance:textfield}\n.nsp-rfq-stepper input::-webkit-outer-spin-button,.nsp-rfq-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n.nsp-rfq-preise{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;gap:2px;min-width:100px}\n.nsp-rfq-einzel{font-size:12px;color:#5a6a87}\n\/* 24.08.2026 nachgemessen: #9db0d2 auf Weiss ergibt 2,19:1 - noetig sind\n   4,5:1. #5a6a87 liegt bei 5,3:1 und bleibt die leise Nebenangabe. *\/\n.nsp-rfq-je{color:#5a6a87}\n.nsp-rfq-summe{font-weight:700;color:#1F3A68;font-size:16px;display:block}\n.nsp-rfq-entfernen{flex:0 0 auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#8a97ad;text-decoration:none}\n.nsp-rfq-entfernen:hover{background:#fdeeee;color:#C0000E}\n.nsp-rfq-entfernen svg{fill:currentColor}\n.nsp-rfq-gesamt{text-align:right;font-size:15px;color:#1c2333;margin:4px 0 18px;padding-top:10px;border-top:1px solid #e4eaf4}\n.nsp-rfq-gesamt b{font-size:19px;color:#1F3A68;margin-left:6px}\n.nsp-rfq-raster{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}\n.nsp-rfq-raster p{margin:0 0 14px}\n.nsp-rfq-voll{margin:0 0 14px}\n.nsp-rfq label{display:block;font-size:13px;font-weight:600;color:#3a4a68;margin:0 0 5px}\n.nsp-rfq-opt{font-weight:400;color:#8a97ad}\n\/* Die Klammerzusaetze an den Beschriftungen standen bei 2,95:1. *\/\n.nsp-rfq label .nsp-rfq-opt,.nsp-rfq-opt{color:#5a6a87!important}\n.nsp-rfq input[type=text],.nsp-rfq input[type=email],.nsp-rfq input[type=tel],.nsp-rfq textarea{width:100%;border:1px solid #dde5f1;border-radius:6px;padding:10px 12px;font:inherit;font-size:15px;min-height:44px;box-sizing:border-box;color:#1c2333}\n.nsp-rfq textarea{min-height:110px;resize:vertical}\n.nsp-rfq input:focus-visible,.nsp-rfq textarea:focus-visible,.nsp-rfq-stepper button:focus-visible,.nsp-rfq-entfernen:focus-visible,.nsp-rfq-name:focus-visible,.nsp-rfq-senden:focus-visible{outline:3px solid #1F3A68;outline-offset:2px}\n.nsp-rfq input:focus-visible,.nsp-rfq textarea:focus-visible{border-color:#1F3A68}\n.nsp-rfq-recht{font-size:13px;color:#5a6a87;display:flex;gap:8px;align-items:flex-start;margin:6px 0 20px}\n.nsp-rfq-recht label{display:flex;gap:8px;font-weight:400;color:#5a6a87}\n.nsp-rfq-recht input{margin-top:3px;flex:0 0 auto}\n.nsp-rfq-senden{display:inline-flex;align-items:center;min-height:48px;padding:12px 26px;background:#1F3A68;color:#fff;border:0;border-radius:8px;font-weight:600;font-size:15.5px;cursor:pointer}\n.nsp-rfq-senden:hover{background:#C0000E}\n.nsp-rfq-fuss{color:#5a6a87;font-size:13px;margin-top:8px}\n.nsp-rfq-leer{background:#f4f7fb;border:1px solid #e4eaf4;border-radius:8px;padding:16px;color:#3a4a68}\n.nsp-rfq-ok{text-align:center;padding:40px 20px}\n.nsp-rfq-ok h2{margin-top:0}\n.nsp-rfq-weiter{display:inline-flex;min-height:44px;align-items:center;padding:10px 20px;background:#1F3A68;color:#fff;border-radius:8px;text-decoration:none;font-weight:600;margin-top:10px}\n@media (max-width:640px){\n .nsp-rfq-raster{grid-template-columns:1fr}\n .nsp-rfq-zeile{flex-wrap:wrap}\n .nsp-rfq-bild{flex-basis:52px;width:52px;height:52px}\n .nsp-rfq-info{flex-basis:calc(100% - 52px - 14px - 36px)}\n .nsp-rfq-stepper{order:3;flex-basis:auto}\n .nsp-rfq-preise{order:4;flex:1 1 auto;text-align:left;flex-direction:row;justify-content:space-between;min-width:0;align-items:center}\n .nsp-rfq-entfernen{order:2}\n}\n\t\n\/* --- Nachtrag 24.08.2026 ---------------------------------------------- *\/\n\/* Der Produktname stand rot und unterstrichen im Bild des Inhabers: eine\n   spaeter ausgegebene Regel fuer Textlinks schlaegt .nsp-rfq-name bei\n   gleicher Spezifitaet. Ein Element mehr im Selektor genuegt. *\/\n.nsp-rfq a.nsp-rfq-name{color:#1F3A68;text-decoration:none}\n.nsp-rfq a.nsp-rfq-name:hover{color:#C0000E;text-decoration:underline;text-underline-offset:3px}\n.nsp-rfq span.nsp-rfq-name{color:#1F3A68;font-weight:600;font-size:15px}\n\/* Der Entfernen-Knopf ist bei selbst gesetzten Zeilen ein <button>. *\/\n.nsp-rfq button.nsp-rfq-entfernen{border:0;background:none;cursor:pointer;padding:0;\n  width:36px;height:36px;display:flex;align-items:center;justify-content:center;\n  border-radius:8px;color:#8a97ad}\n.nsp-rfq button.nsp-rfq-entfernen:hover{background:#fdeeee;color:#C0000E}\n\n\/* Weiteren Artikel hinzufuegen *\/\n.nsp-rfq-zufuegen{margin:0 0 18px;padding:14px;border:1px dashed #cfdaee;\n  border-radius:10px;background:#fbfcfe}\n.nsp-rfq-zufuegen>label{display:block;font-size:13px;font-weight:600;color:#3a4a68;margin:0 0 6px}\n.nsp-rfq-suchfeld{position:relative}\n.nsp-rfq-suchfeld input[type=search]{width:100%;height:42px;border:1px solid #dde5f1;\n  border-radius:8px;padding:0 12px;font-size:15px;background:#fff;color:#1c2333}\n.nsp-rfq-suchfeld input[type=search]:focus-visible{outline:2px solid #1F3A68;outline-offset:1px}\n.nsp-rfq-vorschlaege{position:absolute;z-index:20;left:0;right:0;top:46px;margin:0;padding:4px;\n  list-style:none;background:#fff;border:1px solid #dde5f1;border-radius:8px;\n  box-shadow:0 10px 26px rgba(24,34,52,.14);max-height:320px;overflow:auto}\n.nsp-rfq-vorschlaege li{margin:0}\n.nsp-rfq-vorschlag{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;\n  border:0;background:none;padding:8px 10px;border-radius:6px;cursor:pointer;font:inherit}\n.nsp-rfq-vorschlag:hover,.nsp-rfq-vorschlag:focus-visible{background:#eef3fb}\n.nsp-rfq-v-name{font-size:14px;font-weight:600;color:#1F3A68;line-height:1.3}\n.nsp-rfq-v-meta{font-size:12px;color:#5a6a87}\n.nsp-rfq-suchhilfe{margin:8px 0 0;font-size:12.5px;color:#5a6a87}\n.nsp-rfq-freitaste{border:0;background:none;padding:0;font:inherit;color:#1F3A68;\n  font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}\n.nsp-rfq-freitaste:hover{color:#C0000E}\n.nsp-rfq-freifeld{width:100%;height:38px;border:1px solid #dde5f1;border-radius:8px;\n  padding:0 10px;font-size:15px;color:#1F3A68;background:#fff}\n.nsp-rfq-freifeld:focus-visible{outline:2px solid #1F3A68;outline-offset:1px}\n\n\/* Am Telefon bricht die Zeile um. Ohne feste Reihenfolge landet der\n   Entfernen-Knopf als letztes Kind am ANFANG der zweiten Zeile - links neben\n   dem Mengensteller, wo ihn niemand vermutet (gemessen 24.08.2026, 390 px). *\/\n@media(max-width:640px){\n .nsp-rfq-zeile{flex-wrap:wrap;row-gap:10px}\n .nsp-rfq-bild{order:1}\n .nsp-rfq-info{order:2;flex:1 1 calc(100% - 78px)}\n .nsp-rfq-stepper{order:3}\n .nsp-rfq-preise{order:4;flex:1 1 auto;align-items:flex-end;text-align:right;min-width:0}\n .nsp-rfq-zeile .nsp-rfq-entfernen{order:5;margin-left:auto}\n}\n<\/style>\n\t<script id=\"nsp-rfq-js\">\n(function(){\n var liste = document.querySelector('.nsp-rfq-liste');\n if(!liste){return;}\n function euro(n){\n  try{ return n.toLocaleString('de-DE',{minimumFractionDigits:2,maximumFractionDigits:2})+'\\u00a0\\u20ac'; }\n  catch(e){ return n.toFixed(2)+' \\u20ac'; }\n }\n function neuBerechnen(){\n  var gesamt = 0;\n  liste.querySelectorAll('.nsp-rfq-zeile').forEach(function(zeile){\n   var eingabe = zeile.querySelector('input[type=\"number\"]');\n   var netto = parseFloat(zeile.dataset.netto || '0');\n   var menge = Math.max(1, parseInt(eingabe.value,10) || 1);\n   if(String(menge) !== eingabe.value){ eingabe.value = menge; }\n   var summe = netto * menge;\n   var ziel = zeile.querySelector('.nsp-rfq-summe');\n   if(ziel){ ziel.textContent = netto > 0 ? euro(summe) : 'auf Anfrage'; }\n   gesamt += summe;\n  });\n  var gesamtZiel = document.querySelector('.nsp-rfq-gesamt b');\n  if(gesamtZiel){ gesamtZiel.textContent = euro(gesamt); }\n }\n liste.addEventListener('input', function(e){\n  if(e.target.matches('input[type=\"number\"]')){ neuBerechnen(); }\n });\n liste.addEventListener('click', function(e){\n  var knopf = e.target.closest('.nsp-rfq-stepper button');\n  if(!knopf){return;}\n  var eingabe = knopf.parentElement.querySelector('input[type=\"number\"]');\n  var wert = Math.max(1, parseInt(eingabe.value,10) || 1);\n  wert += (knopf.dataset.richtung === '1' ? 1 : -1);\n  wert = Math.max(1, wert);\n  eingabe.value = wert;\n  neuBerechnen();\n });\n\n \/* --- Der Kunde stellt selbst zusammen (24.08.2026) -----------------------\n    Bis heute konnte er nur streichen, was Warenkorb oder ?artikel= gebracht\n    hatten. Jetzt sucht er hier im ganzen Sortiment: der Suchindex aus\n    Schnipsel 65 ist EINE Datei (1.170 Artikel), wird beim ersten Tippen\n    einmal geholt und danach im Browser durchsucht - keine Anfrage je\n    Tastendruck. Wer nichts Passendes findet, beschreibt die Position frei.\n    Selbst gesetzte Zeilen sind reine Formularfelder und brauchen keinen\n    Serverzustand; damit sie einen Validierungsfehler ueberleben - die Seite\n    laedt dann neu - liegen sie zusaetzlich in sessionStorage. *\/\n var block = document.querySelector('.nsp-rfq-zufuegen');\n var LAGER = 'nspRfqEigene';\n var leerMeldung = document.querySelector('.nsp-rfq-leer');\n var gesamtZeile = document.querySelector('.nsp-rfq-gesamt');\n\n function standAnpassen(){\n  var n = liste.querySelectorAll('.nsp-rfq-zeile').length;\n  if(leerMeldung){ leerMeldung.hidden = n > 0; }\n  if(gesamtZeile){ gesamtZeile.hidden = n === 0; }\n }\n function naechster(){\n  var n = parseInt(liste.dataset.naechster,10) || 0;\n  liste.dataset.naechster = n + 1;\n  return n;\n }\n function feldBauen(art, name, wert){\n  var e = document.createElement('input');\n  e.type = art; e.name = name; e.value = wert;\n  return e;\n }\n function merken(){\n  var eigene = [];\n  liste.querySelectorAll('.nsp-rfq-zeile[data-eigen]').forEach(function(z){\n   var bez = z.querySelector('[name^=\"bez\"]');\n   var sku = z.querySelector('[name^=\"sku\"]');\n   var mng = z.querySelector('input[type=\"number\"]');\n   eigene.push({sku: sku ? sku.value : '', name: bez ? bez.value : '',\n    netto: parseFloat(z.dataset.netto)||0, menge: parseInt(mng.value,10)||1,\n    bild: z.dataset.bild||'', link: z.dataset.link||'', frei: z.dataset.frei==='1'});\n  });\n  try{ sessionStorage.setItem(LAGER, JSON.stringify(eigene)); }catch(e){}\n }\n function zeileZufuegen(a){\n  var i = naechster();\n  var li = document.createElement('li');\n  li.className = 'nsp-rfq-zeile';\n  li.dataset.netto = String(a.netto || 0);\n  li.dataset.eigen = '1';\n  if(a.bild){ li.dataset.bild = a.bild; }\n  if(a.link){ li.dataset.link = a.link; }\n  if(a.frei){ li.dataset.frei = '1'; }\n\n  var bild = document.createElement('div');\n  bild.className = 'nsp-rfq-bild';\n  if(a.bild){\n   var img = document.createElement('img');\n   img.src = a.bild; img.alt = ''; img.loading = 'lazy'; img.width = 64; img.height = 64;\n   bild.appendChild(img);\n  } else {\n   var pl = document.createElement('span');\n   pl.className = 'nsp-rfq-bild-platz'; pl.setAttribute('aria-hidden','true');\n   bild.appendChild(pl);\n  }\n\n  var info = document.createElement('div');\n  info.className = 'nsp-rfq-info';\n  if(a.frei){\n   var eingabe = document.createElement('input');\n   eingabe.type = 'text'; eingabe.className = 'nsp-rfq-freifeld';\n   eingabe.name = 'bez[' + i + ']'; eingabe.value = a.name || '';\n   eingabe.placeholder = 'Was ben\u00f6tigen Sie? Hersteller, Ger\u00e4t, Teil';\n   eingabe.setAttribute('aria-label','Bezeichnung der Position');\n   info.appendChild(eingabe);\n   info.appendChild(feldBauen('hidden','sku[' + i + ']',''));\n  } else {\n   var name = document.createElement(a.link ? 'a' : 'span');\n   name.className = 'nsp-rfq-name';\n   if(a.link){ name.href = a.link; }\n   name.textContent = a.name;\n   info.appendChild(name);\n   var art = document.createElement('span');\n   art.className = 'nsp-rfq-art';\n   art.textContent = 'Art.-Nr. ' + (a.sku || '\u2013');\n   info.appendChild(art);\n   info.appendChild(feldBauen('hidden','sku[' + i + ']', a.sku || ''));\n   info.appendChild(feldBauen('hidden','bez[' + i + ']', a.name || ''));\n  }\n\n  var st = document.createElement('div');\n  st.className = 'nsp-rfq-stepper';\n  var minus = document.createElement('button');\n  minus.type='button'; minus.dataset.richtung='-1'; minus.setAttribute('aria-label','Menge verringern');\n  minus.textContent = '\\u2212';\n  var zahl = document.createElement('input');\n  zahl.type='number'; zahl.min='1'; zahl.step='1'; zahl.inputMode='numeric';\n  zahl.name = 'menge[' + i + ']'; zahl.value = String(Math.max(1, parseInt(a.menge,10)||1));\n  zahl.setAttribute('aria-label','Menge');\n  var plus = document.createElement('button');\n  plus.type='button'; plus.dataset.richtung='1'; plus.setAttribute('aria-label','Menge erh\u00f6hen');\n  plus.textContent = '+';\n  st.appendChild(minus); st.appendChild(zahl); st.appendChild(plus);\n\n  var pr = document.createElement('div');\n  pr.className = 'nsp-rfq-preise';\n  var einzel = document.createElement('span');\n  einzel.className = 'nsp-rfq-einzel';\n  einzel.textContent = a.netto > 0 ? euro(a.netto) + ' \/ St\u00fcck' : 'Preis auf Anfrage';\n  var summe = document.createElement('span');\n  summe.className = 'nsp-rfq-summe';\n  pr.appendChild(einzel); pr.appendChild(summe);\n\n  var weg = document.createElement('button');\n  weg.type = 'button'; weg.className = 'nsp-rfq-entfernen'; weg.dataset.eigen = '1';\n  weg.setAttribute('aria-label','Position aus der Anfrage entfernen');\n  weg.innerHTML = '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">'\n   + '<path d=\"M6 7h12l-1 14H7L6 7zm3-4h6l1 2h4v2H2V5h4l1-2zm1 2h4l-.5-1h-3L10 5z\"><\/path><\/svg>';\n\n  li.appendChild(bild); li.appendChild(info); li.appendChild(st); li.appendChild(pr); li.appendChild(weg);\n  liste.appendChild(li);\n  neuBerechnen(); standAnpassen(); merken();\n  return li;\n }\n\n \/* Entfernen und Merken fuer die selbst gesetzten Zeilen. Die serverseitigen\n    Zeilen behalten ihren Verweis - sie muessen aus dem Warenkorb heraus. *\/\n liste.addEventListener('click', function(e){\n  var weg = e.target.closest('.nsp-rfq-entfernen[data-eigen]');\n  if(!weg){ return; }\n  e.preventDefault();\n  var zeile = weg.closest('.nsp-rfq-zeile');\n  if(zeile){ zeile.remove(); }\n  neuBerechnen(); standAnpassen(); merken();\n });\n liste.addEventListener('input', function(){ merken(); });\n\n if(block){\n  block.hidden = false;\n  var feld = block.querySelector('#nsp-rfq-suche');\n  var vorschlaege = block.querySelector('.nsp-rfq-vorschlaege');\n  var freitaste = block.querySelector('.nsp-rfq-freitaste');\n  var index = null, holt = null;\n\n  function indexHolen(){\n   if(index){ return Promise.resolve(index); }\n   if(!holt){\n    holt = fetch(block.dataset.quelle, {credentials:'same-origin'})\n     .then(function(r){ return r.json(); })\n     .then(function(d){ index = d; return d; })\n     .catch(function(){ holt = null; return null; });\n   }\n   return holt;\n  }\n  function treffer(text){\n   if(!index || !index.p){ return []; }\n   var q = text.trim().toLowerCase();\n   if(q.length < 2){ return []; }\n   var a = [], b = [], d = [];\n   for(var i = 0; i < index.p.length; i++){\n    var p = index.p[i];\n    var sku = (p[1]||'').toLowerCase(), nm = (p[0]||'').toLowerCase();\n    if(sku.indexOf(q) === 0){ a.push(p); }\n    else if(sku.indexOf(q) > -1){ b.push(p); }\n    else if(nm.indexOf(q) > -1){ d.push(p); }\n    if(a.length >= 8){ break; }\n   }\n   return a.concat(b, d).slice(0, 8);\n  }\n  function vorschlaegeZeigen(tr){\n   vorschlaege.textContent = '';\n   if(!tr.length){ vorschlaege.hidden = true; return; }\n   tr.forEach(function(p){\n    var li = document.createElement('li');\n    var k = document.createElement('button');\n    k.type = 'button'; k.className = 'nsp-rfq-vorschlag';\n    var n1 = document.createElement('span'); n1.className = 'nsp-rfq-v-name'; n1.textContent = p[0];\n    var n2 = document.createElement('span'); n2.className = 'nsp-rfq-v-meta';\n    var preis = parseFloat(p[3]) || 0;\n    n2.textContent = (p[1] ? 'Art.-Nr. ' + p[1] : 'ohne Artikelnummer') + (preis > 0 ? ' \u00b7 ' + euro(preis) + ' netto' : '');\n    k.appendChild(n1); k.appendChild(n2);\n    k.addEventListener('click', function(){\n     zeileZufuegen({sku: p[1], name: p[0], netto: preis,\n      bild: p[6] ? (index.b + p[6]) : '', link: index.pb + p[2] + '\/'});\n     feld.value = ''; vorschlaegeZeigen([]); feld.focus();\n    });\n    li.appendChild(k); vorschlaege.appendChild(li);\n   });\n   vorschlaege.hidden = false;\n  }\n  feld.addEventListener('input', function(){\n   var wert = feld.value;\n   if(wert.trim().length < 2){ vorschlaegeZeigen([]); return; }\n   indexHolen().then(function(){ if(feld.value === wert){ vorschlaegeZeigen(treffer(wert)); } });\n  });\n  feld.addEventListener('keydown', function(e){\n   if(e.key === 'Escape'){ vorschlaegeZeigen([]); }\n   if(e.key === 'Enter'){\n    e.preventDefault();\n    var erster = vorschlaege.querySelector('.nsp-rfq-vorschlag');\n    if(erster){ erster.click(); }\n   }\n  });\n  document.addEventListener('click', function(e){\n   if(!block.contains(e.target)){ vorschlaegeZeigen([]); }\n  });\n  freitaste.addEventListener('click', function(){\n   var zeile = zeileZufuegen({sku:'', name: feld.value.trim(), netto: 0, frei: true});\n   feld.value = ''; vorschlaegeZeigen([]);\n   var e2 = zeile.querySelector('.nsp-rfq-freifeld');\n   if(e2){ e2.focus(); }\n  });\n\n  \/* Nach einem Validierungsfehler laedt die Seite neu - dann zurueckholen.\n     Auf jedem anderen Weg (Erfolg, frischer Aufruf) den Speicher leeren,\n     damit alte Zeilen nicht wieder auftauchen. *\/\n  if(\/[?&]fehler=\/.test(location.search)){\n   try{\n    var alt = JSON.parse(sessionStorage.getItem(LAGER) || '[]');\n    alt.forEach(function(z){ zeileZufuegen(z); });\n   }catch(e){}\n  } else {\n   try{ sessionStorage.removeItem(LAGER); }catch(e){}\n  }\n }\n standAnpassen();\n neuBerechnen();\n})();\n\t<\/script>\n\t\n","protected":false},"excerpt":{"rendered":"<p>Do you need a written quote, a tiered price, or are you unsure which part fits your device? Send us your inquiry \u2013 no obligation and free of charge.<\/p>","protected":false},"author":603,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-10863","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"acf":[],"_links":{"self":[{"href":"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/wp\/v2\/pages\/10863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/wp\/v2\/users\/603"}],"replies":[{"embeddable":true,"href":"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/wp\/v2\/comments?post=10863"}],"version-history":[{"count":0,"href":"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/wp\/v2\/pages\/10863\/revisions"}],"wp:attachment":[{"href":"https:\/\/nispel.athene.wpspace.me\/en\/wp-json\/wp\/v2\/media?parent=10863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}