{"product_id":"hundenapf","title":"Hundenapf","description":"\u003cdiv class=\"np\" id=\"np-root\"\u003e\n  \u003cstyle\u003e\n    \n    .product{ display:block !important; }\n    .product \u003e .grid,\n    .product .product__column-sticky,\n    .product .grid--2-col,\n    .product .grid{\n      display:block !important;\n      max-width:none !important;\n      width:100% !important;\n      margin:0 auto !important;\n    }\n    .product .grid__item,\n    .product .product__media-wrapper,\n    .product .product__info-wrapper{\n      width:100% !important;\n      max-width:100% !important;\n      flex:0 0 100% !important;\n      padding-left:0 !important;\n      padding-right:0 !important;\n      margin-left:0 !important;\n      margin-right:0 !important;\n    }\n    \n    .product__media-wrapper{ display:none !important; }\n    \n    .product-form,\n    .product__info-container .price,\n    .product__info-container .product-form__buttons,\n    .product__info-container .product__tax,\n    .product__info-container \u003e product-form{ display:none !important; }\n    .np{--o:#FF751F;--od:#e9650f;--line:#e7e3da;--sand:#f4f1ec;--cream:#faf9f7;--braun:#554E3C;width:100%;max-width:1000px;margin:0 auto;color:var(--braun);text-align:center}\n    .np *,.np *::before,.np *::after{box-sizing:border-box}\n    .np .eyebrow{display:inline-block;font-size:.72em;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--o);margin:0 0 6px}\n    .np h2{font-size:1.5em;font-weight:600;margin:0 0 8px;line-height:1.25}\n    .np p{line-height:1.65;margin:0 0 12px}\n    .np .hero{text-align:center;margin:0 0 22px}\n    .np .hero p{opacity:.9;max-width:560px;margin:0 auto}\n    .np .split{display:flex;gap:20px;align-items:center;margin:0 0 28px;flex-wrap:wrap}\n    .np .split .img{flex:1 1 200px;min-width:180px}\n    .np .split .img img{width:100%;height:auto;border-radius:12px;display:block}\n    .np .split .img .ph{width:100%;aspect-ratio:1\/1;border:1.5px dashed var(--braun);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#8a8475;font-size:.85em;text-align:center;padding:16px;background:var(--sand)}\n    .np .split .txt{flex:2 1 280px;min-width:240px}\n    .np .split .txt .feat{display:flex;gap:10px;margin:0 0 9px;align-items:flex-start;font-size:.92em;line-height:1.5}\n    .np .split .txt .feat .i{color:var(--o);font-size:1.1em;flex:0 0 auto;line-height:1.4}\n    .np .feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px 26px;margin:0 0 8px;padding:18px 0 0;border-top:1px solid var(--line)}\n    .np .feat{display:flex;gap:11px;align-items:flex-start;font-size:.94em;line-height:1.5}\n    .np .ck{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#fff3ea;color:var(--o);display:inline-flex;align-items:center;justify-content:center;font-size:.72em;font-weight:700;margin-top:1px}\n    .np .hero2{display:flex;gap:24px;align-items:center;padding:20px 0 0;border-top:1px solid var(--line);flex-wrap:wrap;text-align:left}\n    .np .hero2-img{flex:1 1 240px;min-width:200px}\n    .np .hero2-img img{width:100%;height:auto;border-radius:12px;display:block}\n    .np .hero2-feats{flex:1 1 240px;min-width:220px}\n    .np .divider{height:1px;background:var(--line);border:none;margin:24px 0}\n    .np .seclabel{font-size:.72em;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--braun);opacity:.5;margin:0 0 14px}\n    .np .cfg-head{text-align:center;margin:0 0 18px}\n    .np .cfg-eyebrow{display:inline-block;font-size:.72em;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--o);margin:0 0 6px}\n    .np .cfg-title{font-size:1.4em;font-weight:600;margin:0 0 6px}\n    .np .cfg-sub{font-size:.92em;opacity:.7;margin:0;line-height:1.5}\n    .np .menge{margin:0 0 18px}\n    .np .lab{display:block;font-size:.74em;font-weight:600;letter-spacing:.5px;text-transform:uppercase;opacity:.7;margin:0 0 9px}\n    .np .opts{display:flex;flex-wrap:wrap;gap:8px}\n    .np .opt{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:9px 13px;font-size:.88em;line-height:1.25;background:transparent;color:inherit}\n    .np .opt small{display:block;opacity:.6;font-size:.85em;margin-top:2px}\n    .np .opt .tag{display:inline-block;margin-top:3px;font-size:.78em;font-weight:600;color:var(--o)}\n    .np .opt[aria-pressed=\"true\"]{border-color:var(--o);box-shadow:inset 0 0 0 1px var(--o)}\n    .np .naepfe{display:flex;gap:16px;flex-wrap:wrap}\n    .np .napf{flex:1 1 240px;min-width:220px;border:1px solid var(--line);border-radius:14px;padding:14px}\n    .np .napf.single{flex:1 1 100%}\n    .np .cardhead{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.92em;margin:0 0 12px}\n    .np .cardhead .n{display:inline-flex;width:21px;height:21px;border-radius:50%;background:var(--o);color:#fff;font-size:.7em;align-items:center;justify-content:center}\n    .np .stage{position:relative;text-align:center;background:var(--sand);border-radius:11px;padding:12px;margin:0 0 14px}\n    .np .stage svg{display:block;width:100%;max-width:180px;height:auto;margin:0 auto}\n    .np .grav-note{font-size:.76em;opacity:.65;text-align:center;margin:6px 0 0}\n    .np .group{margin:0 0 14px}\n    .np .chips{display:flex;flex-wrap:wrap;gap:9px}\n    .np .chip{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.74em}\n    .np .sw{width:30px;height:30px;border-radius:50%;border:2px solid var(--line)}\n    .np .chip[aria-pressed=\"true\"] .sw{border-color:var(--o);transform:scale(1.06)}\n    .np .sw-beige{background:#e8dcc4}.np .sw-schwarz{background:#1f1f1f}.np .sw-weiss{background:#f7f7f4}.np .sw-orange{background:#FF751F}\n    .np .in{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:.92em;background:#fff;color:inherit;font-family:inherit}\n    .np .in:focus{outline:none;border-color:var(--o)}\n    .np .hint{font-size:.74em;opacity:.6;margin:5px 0 0}\n    .np .pla{font-size:.82em;opacity:.85;line-height:1.5;margin:18px 0 0;padding:11px 13px;background:var(--sand);border-radius:10px}\n    .np .pla b{font-weight:600}\n    .np .summary{margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}\n    .np .row{display:flex;justify-content:space-between;font-size:.9em;padding:3px 0}\n    .np .row span:last-child{font-weight:600}\n    .np .row.disc span{color:var(--o)}\n    .np .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:11px;border-top:1px solid var(--line)}\n    .np .total .tl{font-weight:600}.np .total .tv{font-size:1.4em;font-weight:700;color:var(--o)}\n    .np .ship{font-size:.78em;opacity:.6;text-align:right;margin:4px 0 0}\n    .np .cta{display:block;width:100%;margin-top:16px;border:none;border-radius:11px;background:var(--o);color:#fff;font-size:.98em;font-weight:600;padding:14px;cursor:pointer;font-family:inherit}\n    .np .cta:hover{background:var(--od)}\n    .np .cta:disabled{opacity:.6;cursor:default}\n    .np .note{font-size:.78em;opacity:.6;text-align:center;margin:11px 0 0}\n    .np .care{display:flex;gap:11px;align-items:flex-start;margin:0 0 11px;font-size:.92em;line-height:1.55;text-align:left;max-width:560px;margin-left:auto;margin-right:auto}\n    \n    .np .specs{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 4px}\n    .np .specrow{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;font-size:.9em}\n    .np .specrow:nth-child(odd){background:var(--sand)}\n    .np .specrow b{font-weight:600}\n    .np .menge,.np .opts,.np .group,.np .chips,.np .summary,.np .pla,.np .specs{text-align:left}\n    .np .opts{justify-content:center}\n    .np .chips{justify-content:center}\n    .np .feats{justify-items:center}\n    .np .hero2{display:flex;gap:24px;align-items:center;padding:20px 0 0;border-top:1px solid var(--line);flex-wrap:wrap;text-align:left}\n    .np .feat{text-align:left}\n    .np .lab{text-align:center}\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"hero\"\u003e\n    \u003cspan class=\"eyebrow\"\u003eHandgemacht im Hochsauerland\u003c\/span\u003e\n    \u003ch2\u003ePersonalisierter Hundenapf\u003c\/h2\u003e\n    \u003cp\u003eEin Napf, so einzigartig wie dein Hund – 3D-gedruckt, mit Edelstahleinsatz und eingraviertem Namen. Gestalte ihn unten ganz nach deinem Geschmack.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"hero2\"\u003e\n    \u003cdiv class=\"hero2-img\"\u003e\u003cimg src=\"https:\/\/thewooflove.de\/cdn\/shop\/files\/Produktvorlage-210.png\" alt=\"Personalisierter Hundenapf von the wooflove\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"hero2-feats\"\u003e\n      \u003cdiv class=\"feat\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eName vorne eingraviert – vertieft, nicht aufgedruckt.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"feat\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eHerausnehmbarer Edelstahleinsatz (700 ml), spülmaschinengeeignet.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"feat\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eHandgefertigt im Hochsauerland – jedes Stück ein Unikat.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"feat\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eFertigung ca. 1 Woche.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"feat\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eZwei Höhen: 9,5 cm oder 13,2 cm (Ø 16,1 cm).\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"feat\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eEdelstahleinsatz 700 ml · Ø 16 cm · 6 cm tief.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cdiv class=\"cfg-head\"\u003e\n    \u003cspan class=\"cfg-eyebrow\"\u003eIn wenigen Klicks fertig\u003c\/span\u003e\n    \u003ch3 class=\"cfg-title\"\u003eJetzt deinen Napf gestalten\u003c\/h3\u003e\n    \u003cp class=\"cfg-sub\"\u003eHöhe, Farbe und Name wählen – die Vorschau passt sich live an.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"menge\" data-g=\"menge\"\u003e\n    \u003cspan class=\"lab\"\u003eMenge\u003c\/span\u003e\n    \u003cdiv class=\"opts\"\u003e\n      \u003cdiv class=\"opt\" role=\"button\" tabindex=\"0\" aria-pressed=\"true\" data-val=\"1\"\u003e1 Napf \u003csmall\u003eEinzelstück\u003c\/small\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"opt\" role=\"button\" tabindex=\"0\" aria-pressed=\"false\" data-val=\"2\"\u003e2er-Set \u003csmall\u003e2× individuell\u003c\/small\u003e\u003cspan class=\"tag\"\u003e−5 €\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"naepfe\" id=\"np-naepfe\"\u003e\u003c\/div\u003e\n\n  \u003cp class=\"pla\"\u003e\u003cb\u003eGut zu wissen:\u003c\/b\u003e PLA ist nicht lebensmittelzertifiziert. Futter \u0026amp; Wasser kommen ausschließlich in den mitgelieferten Edelstahleinsatz – der gedruckte Napf dient als Halterung. So bleibt alles hygienisch und sicher.\u003c\/p\u003e\n\n  \u003cdiv class=\"summary\"\u003e\n    \u003cdiv class=\"row\"\u003e\n\u003cspan id=\"np-sum1l\"\u003eNapf\u003c\/span\u003e\u003cspan id=\"np-sum1v\"\u003eNiedrig · Beige\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"row\" id=\"np-sum2\" style=\"display:none\"\u003e\n\u003cspan\u003eNapf 2\u003c\/span\u003e\u003cspan id=\"np-sum2v\"\u003eNiedrig · Beige\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"row disc\" id=\"np-rowship\" style=\"display:none\"\u003e\n\u003cspan\u003e2er-Set-Rabatt\u003c\/span\u003e\u003cspan id=\"np-rabatt\"\u003e−5,00 €\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"total\"\u003e\n\u003cspan class=\"tl\"\u003eGesamt\u003c\/span\u003e\u003cspan class=\"tv\" id=\"np-total\"\u003e30,00 €\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cp class=\"ship\" id=\"np-ship\"\u003ezzgl. Versand\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cbutton class=\"cta\" id=\"np-add\" type=\"button\"\u003eAb ins Körbchen\u003c\/button\u003e\n  \u003cp class=\"note\"\u003eEdelstahleinsatz inklusive · Fertigung ca. 1 Woche\u003c\/p\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"seclabel\"\u003ePflegehinweise\u003c\/p\u003e\n  \u003cdiv class=\"care\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eDen \u003cb\u003eEdelstahleinsatz\u003c\/b\u003e einfach herausnehmen – er ist spülmaschinengeeignet.\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"care\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eDen \u003cb\u003egedruckten Napf\u003c\/b\u003e mit lauwarmem Wasser und mildem Spülmittel von Hand reinigen.\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"care\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eNicht in die pralle Sonne oder den heißen Trockengang legen – PLA mag keine starke Hitze.\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"care\"\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eFutter \u0026amp; Wasser gehören ausschließlich in den Edelstahleinsatz.\u003c\/span\u003e\n\u003c\/div\u003e\n\n  \u003cscript\u003e\n  (function(){\n    function init(){\n      var root=document.getElementById('np-root');\n      if(!root||root.getAttribute('data-init')==='1')return;\n      root.setAttribute('data-init','1');\n\n      var VARIANTEN={niedrig:53431938056539,hoch:53431938089307};\n      var PRICE={niedrig:30,hoch:40};\n      var COL={\n        'Beige':{body:'#e8dcc4',rim:'#d9cdac',stroke:'#cbbf9f',eng:'#9c8f6b'},\n        'Schwarz':{body:'#2a2a2a',rim:'#3a3a3a',stroke:'#1a1a1a',eng:'#000000'},\n        'Wei\\u00DF':{body:'#f4f4f1',rim:'#e7e7e2',stroke:'#d8d8d2',eng:'#c4c0b6'},\n        'Orange':{body:'#FF751F',rim:'#e9650f',stroke:'#cf590c',eng:'#b34a09'}\n      };\n      var menge=1;\n      var napf=[{hoehe:'niedrig',farbe:'Beige',name:''},{hoehe:'niedrig',farbe:'Beige',name:''}];\n      function eur(v){return v.toFixed(2).replace('.',',')+'\\u00A0\\u20AC';}\n      function lbl(i){return napf[i].hoehe==='hoch'?'Hoch':'Niedrig';}\n\n      function svg(i){\n        return '\u003cdiv class=\"stage\"\u003e\u003csvg viewBox=\"0 0 200 215\" role=\"img\" aria-label=\"Napf-Vorschau\"\u003e'+\n          '\u003cellipse cx=\"100\" cy=\"201\" rx=\"78\" ry=\"9\" fill=\"#000\" opacity=\"0.06\"\/\u003e'+\n          '\u003cpath id=\"np-b'+i+'\" d=\"M52 96 L36 182 Q35 192 45 192 L155 192 Q165 192 164 182 L148 96 Z\" fill=\"#e8dcc4\" stroke=\"#cbbf9f\" stroke-width=\"1.5\" stroke-linejoin=\"round\"\/\u003e'+\n          '\u003cellipse id=\"np-r'+i+'\" cx=\"100\" cy=\"96\" rx=\"48\" ry=\"12\" fill=\"#d9cdac\" stroke=\"#cbbf9f\" stroke-width=\"1.5\"\/\u003e'+\n          '\u003cellipse cx=\"100\" cy=\"96\" rx=\"40\" ry=\"9.5\" fill=\"#c7ccd1\" stroke=\"#aab0b6\" stroke-width=\"1\"\/\u003e'+\n          '\u003cellipse cx=\"100\" cy=\"98\" rx=\"30\" ry=\"6.5\" fill=\"#dfe3e6\"\/\u003e'+\n          '\u003ctext id=\"np-n'+i+'h\" x=\"100\" y=\"150.8\" text-anchor=\"middle\" font-size=\"18\" font-weight=\"700\" fill=\"#ffffff\" opacity=\"0.5\"\u003e\u003c\/text\u003e'+\n          '\u003ctext id=\"np-n'+i+'\" x=\"100\" y=\"150\" text-anchor=\"middle\" font-size=\"18\" font-weight=\"700\" fill=\"#9c8f6b\"\u003e\u003c\/text\u003e'+\n          '\u003c\/svg\u003e\u003cp class=\"grav-note\"\u003eName wird eingraviert\u003c\/p\u003e\u003c\/div\u003e';\n      }\n      function card(i){\n        var t=napf[i];\n        function optH(v,l,s,p){return '\u003cdiv class=\"opt\" role=\"button\" tabindex=\"0\" aria-pressed=\"'+(t.hoehe===v?'true':'false')+'\" data-i=\"'+i+'\" data-k=\"hoehe\" data-val=\"'+v+'\"\u003e'+l+' \u003csmall\u003e'+s+'\u003c\/small\u003e\u003cspan class=\"tag\"\u003e'+p+'\u003c\/span\u003e\u003c\/div\u003e';}\n        function chip(c){var sw=c==='Wei\\u00DF'?'weiss':c.toLowerCase();return '\u003cdiv class=\"chip\" role=\"button\" tabindex=\"0\" aria-pressed=\"'+(t.farbe===c?'true':'false')+'\" data-i=\"'+i+'\" data-k=\"farbe\" data-val=\"'+c+'\"\u003e\u003cspan class=\"sw sw-'+sw+'\"\u003e\u003c\/span\u003e'+c+'\u003c\/div\u003e';}\n        var head=menge===2?'\u003cdiv class=\"cardhead\"\u003e\u003cspan class=\"n\"\u003e'+(i+1)+'\u003c\/span\u003e Napf '+(i+1)+'\u003c\/div\u003e':'';\n        var safeName=t.name.replace(\/\u0026\/g,'\u0026amp;').replace(\/\"\/g,'\u0026quot;').replace(\/\u003c\/g,'\u0026lt;');\n        return '\u003cdiv class=\"napf'+(menge===1?' single':'')+'\"\u003e'+head+svg(i)+\n          '\u003cdiv class=\"group\"\u003e\u003cspan class=\"lab\"\u003eH\\u00F6he\u003c\/span\u003e\u003cdiv class=\"opts\"\u003e'+optH('niedrig','Niedrig','9,5 cm','30\\u00A0\\u20AC')+optH('hoch','Hoch','13,2 cm','40\\u00A0\\u20AC')+'\u003c\/div\u003e\u003c\/div\u003e'+\n          '\u003cdiv class=\"group\"\u003e\u003cspan class=\"lab\"\u003eFarbe\u003c\/span\u003e\u003cdiv class=\"chips\"\u003e'+chip('Beige')+chip('Schwarz')+chip('Wei\\u00DF')+chip('Orange')+'\u003c\/div\u003e\u003c\/div\u003e'+\n          '\u003cdiv class=\"group\"\u003e\u003cspan class=\"lab\"\u003eName (wird eingraviert)\u003c\/span\u003e\u003cinput class=\"in\" data-i=\"'+i+'\" data-name=\"1\" type=\"text\" maxlength=\"12\" placeholder=\"z.\\u00A0B. Bella\" value=\"'+safeName+'\"\u003e\u003cp class=\"hint\"\u003eVertieft eingraviert \\u00B7 max. 12 Zeichen\u003c\/p\u003e\u003c\/div\u003e\u003c\/div\u003e';\n      }\n      function drawPreview(i){\n        var t=napf[i],c=COL[t.farbe];\n        var b=root.querySelector('#np-b'+i),r=root.querySelector('#np-r'+i),nm=root.querySelector('#np-n'+i),hi=root.querySelector('#np-n'+i+'h');\n        if(!b)return;\n        b.setAttribute('fill',c.body);b.setAttribute('stroke',c.stroke);\n        r.setAttribute('fill',c.rim);r.setAttribute('stroke',c.stroke);\n        nm.textContent=t.name;hi.textContent=t.name;nm.setAttribute('fill',c.eng);\n        if(t.hoehe==='hoch'){b.setAttribute('d','M52 96 L32 200 Q31 210 41 210 L159 210 Q169 210 168 200 L148 96 Z');nm.setAttribute('y','162');hi.setAttribute('y','162.8');}\n        else{b.setAttribute('d','M52 96 L36 182 Q35 192 45 192 L155 192 Q165 192 164 182 L148 96 Z');nm.setAttribute('y','150');hi.setAttribute('y','150.8');}\n      }\n      var RABATT_2ER=5;\n      function updateSummary(){\n        var p1=PRICE[napf[0].hoehe],total=p1;\n        root.querySelector('#np-sum1l').textContent=menge===2?'Napf 1':'Napf';\n        root.querySelector('#np-sum1v').textContent=lbl(0)+' \\u00B7 '+napf[0].farbe+(napf[0].name?' \\u00B7 '+napf[0].name:'');\n        if(menge===2){\n          total=p1+PRICE[napf[1].hoehe]-RABATT_2ER;\n          root.querySelector('#np-sum2').style.display='flex';\n          root.querySelector('#np-sum2v').textContent=lbl(1)+' \\u00B7 '+napf[1].farbe+(napf[1].name?' \\u00B7 '+napf[1].name:'');\n          root.querySelector('#np-rowship').style.display='flex';\n          root.querySelector('#np-ship').textContent='zzgl. Versand';\n        }else{\n          root.querySelector('#np-sum2').style.display='none';\n          root.querySelector('#np-rowship').style.display='none';\n          root.querySelector('#np-ship').textContent='zzgl. Versand';\n        }\n        root.querySelector('#np-total').textContent=eur(total);\n      }\n      function render(){\n        var html=card(0);if(menge===2)html+=card(1);\n        root.querySelector('#np-naepfe').innerHTML=html;\n        drawPreview(0);if(menge===2)drawPreview(1);\n        updateSummary();\n      }\n\n      root.addEventListener('click',function(e){\n        var mg=e.target.closest('[data-g=\"menge\"] .opt');\n        if(mg){mg.parentNode.querySelectorAll('.opt').forEach(function(x){x.setAttribute('aria-pressed','false');});mg.setAttribute('aria-pressed','true');menge=parseInt(mg.getAttribute('data-val'),10);render();return;}\n        var o=e.target.closest('.opt[data-k=\"hoehe\"]');\n        if(o){var i=+o.getAttribute('data-i');napf[i].hoehe=o.getAttribute('data-val');render();return;}\n        var c=e.target.closest('.chip');\n        if(c){var ci=+c.getAttribute('data-i');napf[ci].farbe=c.getAttribute('data-val');render();return;}\n        var add=e.target.closest('#np-add');\n        if(add){\n          var items=[];\n          var n=menge===2?2:1;\n          for(var k=0;k\u003cn;k++){\n            var props={'Farbe':napf[k].farbe};\n            if(napf[k].name){props['Gravur-Name']=napf[k].name;}\n            items.push({id:VARIANTEN[napf[k].hoehe],quantity:1,properties:props});\n          }\n          add.disabled=true;var orig='Ab ins K\\u00F6rbchen';\n          console.log('NAPF Warenkorb-Anfrage:', JSON.stringify({items:items}));\n          fetch('\/cart\/add.js',{method:'POST',headers:{'Content-Type':'application\/json'},body:JSON.stringify({items:items})})\n          .then(function(r){\n            return r.json().then(function(data){\n              if(!r.ok){console.error('NAPF Shopify-Fehler (Status '+r.status+'):',data);throw new Error(data.description||data.message||'fail');}\n              return data;\n            });\n          })\n          .then(function(){\n            add.textContent='Im K\\u00F6rbchen \\u2713';\n            if(window.Shopify\u0026\u0026typeof window.Shopify.onCartUpdate==='function'){fetch('\/cart.js').then(function(r){return r.json();}).then(function(c){window.Shopify.onCartUpdate(c);});}\n            setTimeout(function(){add.textContent=orig;add.disabled=false;},1800);\n          })\n          .catch(function(err){console.error('NAPF Warenkorb fehlgeschlagen:',err);add.textContent='Bitte erneut versuchen';setTimeout(function(){add.textContent=orig;add.disabled=false;},2500);});\n          return;\n        }\n      });\n      root.addEventListener('keydown',function(e){\n        if((e.key==='Enter'||e.key===' ')\u0026\u0026e.target.matches('.opt,.chip')){e.preventDefault();e.target.click();}\n      });\n      root.addEventListener('input',function(e){\n        var inp=e.target.closest('.in[data-name]');\n        if(inp){var i=+inp.getAttribute('data-i');napf[i].name=inp.value;\n          var nm=root.querySelector('#np-n'+i),hi=root.querySelector('#np-n'+i+'h');if(nm){nm.textContent=inp.value;hi.textContent=inp.value;}\n          updateSummary();\n        }\n      });\n      render();\n    }\n    if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n  })();\n  \u003c\/script\u003e\n\u003c\/div\u003e","brand":"thewooflove - Hundemanufaktur","offers":[{"title":"Niedrig","offer_id":53431938056539,"sku":null,"price":30.0,"currency_code":"EUR","in_stock":true},{"title":"Hoch","offer_id":53431938089307,"sku":null,"price":40.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0900\/0498\/0059\/files\/Produktvorlage-210.png?v=1782282338","url":"https:\/\/thewooflove.de\/products\/hundenapf","provider":"thewooflove - Hundemanufaktur","version":"1.0","type":"link"}