{"id":5134,"date":"2026-06-24T21:38:21","date_gmt":"2026-06-24T21:38:21","guid":{"rendered":"https:\/\/canefelis.com\/quiz-2\/"},"modified":"2026-07-16T21:32:46","modified_gmt":"2026-07-16T21:32:46","slug":"quiz","status":"publish","type":"page","link":"https:\/\/canefelis.com\/en\/quiz\/","title":{"rendered":"Quiz"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5134\" class=\"elementor elementor-5134 elementor-3622\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c4c889e e-grid e-con-full wd-section-stretch e-con e-parent\" data-id=\"c4c889e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-77fc5da elementor-widget elementor-widget-html\" data-id=\"77fc5da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap\" rel=\"stylesheet\">\n<style>\n#canefelis-quiz{\n  --charcoal:#3D3D3D; --cream:#F5EBE0; --cream2:#FBF6EF; --sage:#D5D6CF; --sage2:#E7E8E1;\n  --accent:#8B6B47; --accent-dark:#6F5436; --line:#E2D8CB; --ok:#3E6B4E; --muted:#8A8175;\n  --shadow:0 14px 40px rgba(61,61,61,.10);\n  font-family:'Inter',system-ui,sans-serif; color:var(--charcoal);\n  background:radial-gradient(1200px 600px at 50% -10%, var(--cream) 0%, var(--cream2) 55%, #FDFBF8 100%);\n  min-height:620px; display:flex; align-items:flex-start; justify-content:center; padding:28px 16px 60px;\n}\n#canefelis-quiz *{box-sizing:border-box}\n#canefelis-quiz .app{width:100%; max-width:620px}\n#canefelis-quiz .topbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px}\n#canefelis-quiz .brand{font-family:'Fraunces',serif; font-weight:600; font-size:22px; letter-spacing:.5px; color:var(--charcoal)}\n#canefelis-quiz .brand span{color:var(--accent)}\n#canefelis-quiz .progressWrap{height:6px; background:var(--sage2); border-radius:999px; overflow:hidden; margin-bottom:22px}\n#canefelis-quiz .progress{height:100%; width:0; background:linear-gradient(90deg,var(--accent),var(--accent-dark)); border-radius:999px; transition:width .4s ease}\n#canefelis-quiz .card{background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); padding:30px 28px; animation:canefelisPop .4s ease}\n@keyframes canefelisPop{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}\n#canefelis-quiz .step{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:10px}\n#canefelis-quiz h1.q{font-family:'Fraunces',serif; font-weight:600; font-size:27px; line-height:1.18; margin:0 0 6px}\n#canefelis-quiz .sub{color:var(--muted); font-size:14px; margin:0 0 22px; line-height:1.5}\n#canefelis-quiz .opts{display:grid; gap:12px}\n#canefelis-quiz .opts.two{grid-template-columns:1fr 1fr}\n#canefelis-quiz .opt{display:flex; align-items:center; gap:12px; width:100%; text-align:left; cursor:pointer;\n  border:1.5px solid var(--line); background:var(--cream2); border-radius:14px; padding:15px 16px; font-size:15px; font-weight:500; color:var(--charcoal); transition:.18s}\n#canefelis-quiz .opt:hover{border-color:var(--accent); transform:translateY(-1px)}\n#canefelis-quiz .opt.sel{border-color:var(--accent); background:#fff; box-shadow:0 0 0 3px rgba(139,107,71,.13)}\n#canefelis-quiz .opt .emo{font-size:22px; line-height:1}\n#canefelis-quiz .opt.center{justify-content:center; text-align:center}\n#canefelis-quiz input.txt{width:100%; border:1.5px solid var(--line); border-radius:14px; padding:15px 16px; font-size:16px; font-family:inherit; background:var(--cream2); color:var(--charcoal)}\n#canefelis-quiz input.txt:focus{outline:none; border-color:var(--accent); background:#fff}\n#canefelis-quiz .hp{position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden}\n#canefelis-quiz .consent{display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--muted); margin-top:14px; line-height:1.45}\n#canefelis-quiz .consent input{margin-top:2px}\n#canefelis-quiz .nav{display:flex; justify-content:space-between; align-items:center; margin-top:24px}\n#canefelis-quiz .btn{border:0; border-radius:999px; padding:13px 26px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; transition:.18s}\n#canefelis-quiz .btn.primary{background:var(--accent); color:#fff}\n#canefelis-quiz .btn.primary:hover{background:var(--accent-dark)}\n#canefelis-quiz .btn.primary[disabled]{background:var(--sage); color:#fff; cursor:not-allowed}\n#canefelis-quiz .btn.ghost{background:transparent; color:var(--muted); padding:13px 8px}\n#canefelis-quiz .btn.ghost:hover{color:var(--charcoal)}\n#canefelis-quiz .pill{display:inline-block; background:var(--sage2); color:var(--accent-dark); font-size:12px; font-weight:600; padding:6px 12px; border-radius:999px; margin-bottom:14px}\n#canefelis-quiz .rec{display:flex; gap:16px; align-items:center; background:var(--cream2); border:1px solid var(--line); border-radius:16px; padding:16px; margin:6px 0 18px}\n#canefelis-quiz .rec .ph{width:86px; height:86px; flex:0 0 86px; border-radius:12px; background:linear-gradient(135deg,var(--sage),var(--cream)); display:flex; align-items:center; justify-content:center; font-size:30px; overflow:hidden}\n#canefelis-quiz .rec .ph img{width:100%; height:100%; object-fit:cover; border-radius:12px}\n#canefelis-quiz .rec h3{margin:0 0 3px; font-family:'Fraunces',serif; font-size:19px}\n#canefelis-quiz .rec p{margin:0; font-size:13.5px; color:var(--muted)}\n#canefelis-quiz .rec .price{display:inline-block; margin-top:5px; font-size:13px; font-weight:600; color:var(--accent-dark)}\n#canefelis-quiz .coupon{background:var(--sage2); border-radius:14px; padding:16px; text-align:center; margin:0 0 18px}\n#canefelis-quiz .coupon .lbl{font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--accent-dark)}\n#canefelis-quiz .coupon .code{font-family:'Fraunces',serif; font-size:24px; font-weight:600; letter-spacing:.12em; margin:6px 0 4px}\n#canefelis-quiz .coupon .meta{font-size:11.5px; color:var(--muted)}\n#canefelis-quiz .perks{display:grid; gap:10px; margin:0 0 20px}\n#canefelis-quiz .perk{display:flex; gap:10px; align-items:center; font-size:14px}\n#canefelis-quiz .perk .ic{width:26px; height:26px; flex:0 0 26px; border-radius:8px; background:var(--sage2); display:flex; align-items:center; justify-content:center; font-size:14px}\n#canefelis-quiz .disc{font-size:11.5px; color:var(--muted); line-height:1.5; margin-top:18px; border-top:1px solid var(--line); padding-top:14px}\n#canefelis-quiz .cta-full{display:block; width:100%; text-align:center; text-decoration:none}\n#canefelis-quiz .srnote{font-size:12px; color:var(--muted); font-style:italic; margin-top:6px}\n#canefelis-quiz .foot{text-align:center; color:var(--muted); font-size:11.5px; margin-top:18px}\n#canefelis-quiz .foot a{color:var(--muted)}\n@media(max-width:520px){\n  #canefelis-quiz{padding:20px 12px 40px}\n  #canefelis-quiz .card{padding:24px 20px}\n  #canefelis-quiz .opts.two{grid-template-columns:1fr}\n}\n<\/style>\n<div id=\"canefelis-quiz\">\n  <div class=\"app\">\n    <div class=\"topbar\">\n      <div class=\"brand\">CANE<span>FELIS<\/span><\/div>\n    <\/div>\n    <div class=\"progressWrap\"><div class=\"progress\" id=\"prog\"><\/div><\/div>\n    <div id=\"screen\"><\/div>\n    <div class=\"foot\" id=\"foot\"><\/div>\n  <\/div>\n<\/div>\n<script>\nvar LANG = location.pathname.indexOf('\/sr\/') === 0 ? 'sr' : (location.pathname.indexOf('\/en\/') === 0 ? 'en' : 'de');\nvar API_URL = '\/wp-json\/canefelis\/v1\/quiz-lead';\nvar state = { species:null, name:'', stage:null, picky:null, protein:null, convenience:null, goal:null, email:'', website:'' };\nvar idx = 0, started = false, serverResp = null;\nvar PDATA = {\n  'hund-huhn': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canafelis_3-600x600.png', box:false,\n    de:{name:'Huhn mit Gem\u00fcse und Obst', url:'https:\/\/canefelis.com\/produkt\/huhn-mit-gemuese-und-obst-2\/?attribute_pa_velicina-pakovanja=100-g-beutel'},\n    sr:{name:'Piletina sa povr\u0107em i vo\u0107em', url:'https:\/\/canefelis.com\/sr\/proizvod\/piletina-sa-povrcem-i-vocem\/'},\n    en:{name:'Chicken with Vegetables and Fruit', url:'https:\/\/canefelis.com\/en\/product\/chicken-with-vegetables-and-fruit\/'}},\n  'hund-ente': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canafelis__3-1-600x600.jpg', box:false,\n    de:{name:'Ente mit Gem\u00fcse und Obst', url:'https:\/\/canefelis.com\/produkt\/ente-mit-gemuese-und-obst\/?attribute_pa_velicina-pakovanja=100-g-beutel'},\n    sr:{name:'Patka sa povr\u0107em i vo\u0107em', url:'https:\/\/canefelis.com\/sr\/proizvod\/patka-sa-povrcem-i-vocem\/'},\n    en:{name:'Duck with Vegetables and Fruit', url:'https:\/\/canefelis.com\/en\/product\/duck-with-vegetables-and-fruit\/'}},\n  'hund-rind': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canafelis_6-1-600x600.png', box:false,\n    de:{name:'Huhn und Rind mit Gem\u00fcse', url:'https:\/\/canefelis.com\/produkt\/huhn-und-rind-mit-gemuese\/?attribute_pa_velicina-pakovanja=100-g-beutel'},\n    sr:{name:'Piletina i govedina sa povr\u0107em', url:'https:\/\/canefelis.com\/sr\/proizvod\/piletina-i-govedina-sa-povrcem\/'},\n    en:{name:'Chicken & Beef with Vegetables', url:'https:\/\/canefelis.com\/en\/product\/chicken-beef-with-vegetables\/'}},\n  'hund-box': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canefelis_trial_package_5-600x600.jpg', box:true,\n    de:{name:'Probierbox f\u00fcr Hunde', url:'https:\/\/canefelis.com\/produkt\/probierbox-fuer-hunde\/'},\n    sr:{name:'Probna kutija za pse', url:'https:\/\/canefelis.com\/sr\/proizvod\/probna-kutija-za-pse\/'},\n    en:{name:'Trial Box for Dogs', url:'https:\/\/canefelis.com\/en\/product\/trial-box-for-dogs\/'}},\n  'katze-huhn': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canafelis_2-600x600.png', box:false,\n    de:{name:'Huhn mit Gem\u00fcse und Obst', url:'https:\/\/canefelis.com\/produkt\/huhn-mit-gemuese-und-obst\/?attribute_pa_velicina-pakovanja=100-g-beutel'},\n    sr:{name:'Piletina sa povr\u0107em i vo\u0107em', url:'https:\/\/canefelis.com\/sr\/proizvod\/piletina-sa-povrcem-i-vocem-2\/'},\n    en:{name:'Chicken with Vegetables and Fruit', url:'https:\/\/canefelis.com\/en\/product\/chicken-with-vegetables-and-fruit-2\/'}},\n  'katze-gefluegel': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canafelis_9-600x600.png', box:false,\n    de:{name:'Huhn und Wachtel mit Gem\u00fcse', url:'https:\/\/canefelis.com\/produkt\/huhn-und-wachtel-mit-gemuese\/?attribute_pa_velicina-pakovanja=100-g-beutel'},\n    sr:{name:'Piletina i prepelica sa povr\u0107em', url:'https:\/\/canefelis.com\/sr\/proizvod\/piletina-i-prepelica-sa-povrcem\/'},\n    en:{name:'Chicken & Quail with Vegetables', url:'https:\/\/canefelis.com\/en\/product\/chicken-quail-with-vegetables\/'}},\n  'katze-fisch': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canafelis_8-600x600.png', box:false,\n    de:{name:'Fisch mit Gem\u00fcse und Obst', url:'https:\/\/canefelis.com\/produkt\/fisch-mit-gemuese-und-obst\/?attribute_pa_velicina-pakovanja=100-g-beutel'},\n    sr:{name:'Riba sa povr\u0107em i vo\u0107em', url:'https:\/\/canefelis.com\/sr\/proizvod\/riba-sa-povrcem-i-vocem\/'},\n    en:{name:'Fish with Vegetables and Fruit', url:'https:\/\/canefelis.com\/en\/product\/fish-with-vegetables-and-fruit\/'}},\n  'katze-box': {img:'https:\/\/canefelis.com\/wp-content\/uploads\/2026\/06\/Canefelis_trial_package_1-600x600.jpg', box:true,\n    de:{name:'Probierbox f\u00fcr Katzen', url:'https:\/\/canefelis.com\/produkt\/probierbox-fuer-katzen\/'},\n    sr:{name:'Probna kutija za ma\u010dke', url:'https:\/\/canefelis.com\/sr\/proizvod\/probna-kutija-za-macke\/'},\n    en:{name:'Trial Box for Cats', url:'https:\/\/canefelis.com\/en\/product\/trial-box-for-cats\/'}}\n};\nvar I18N = {\nde: {\n  fallback:'dein Liebling', vat:'inkl. MwSt.', price_from:'ab 2,49 \u20ac', price_box:'17,49 \u20ac',\n  T:{back:'Zur\u00fcck', next:'Weiter', result:'Ergebnis ansehen', sending:'Einen Moment \u2026',\n     consent:'Ich m\u00f6chte die Empfehlung, den Gutschein und Tipps per E-Mail erhalten. Abmeldung jederzeit m\u00f6glich. (DSGVO)',\n     foot:'Deine Daten werden gem\u00e4\u00df unserer <a href=\"https:\/\/canefelis.com\/datenschutzerklaerung\/\" target=\"_blank\" rel=\"noopener\">Datenschutzerkl\u00e4rung<\/a> verarbeitet.'},\n  intro:{pill:'Futter-Finder', h:'Finde in 60 Sekunden das richtige Futter f\u00fcr deinen Liebling.',\n    sub:'8 kurze Fragen. Dein Ergebnis erscheint sofort, ohne E-Mail-Pflicht.',\n    bullets:['Pers\u00f6nliche Futter-Empfehlung \u2013 nur f\u00fcr deinen Liebling','Ehrlich erkl\u00e4rt: warum sie passt (hoher Fleischanteil, getreidefrei)','10%-Gutschein f\u00fcr deine erste Bestellung','Nur 1 Minute, kostenlos & unverbindlich'],\n    btn:\"Los geht's\", trust:'Kostenlos. Jederzeit abmeldbar. (DSGVO)'},\n  q:{\n    species:{t:'F\u00fcr wen suchen wir das perfekte Futter?', sub:'', opts:[{v:'hund',l:'Hund',e:'\ud83d\udc36'},{v:'katze',l:'Katze',e:'\ud83d\udc31'}]},\n    name:{t:'Wie hei\u00dft dein Liebling?', sub:'So wird die Empfehlung pers\u00f6nlich.', ph:'z. B. Bella'},\n    stage:{t:'In welcher Lebensphase ist {n}?', sub:'Bestimmt die Portionsempfehlung.', opts:[{v:'jung',l:'Welpe \/ Kitten',e:'\ud83c\udf7c'},{v:'adult',l:'Erwachsen',e:'\ud83e\uddb4'},{v:'senior',l:'Senior',e:'\ud83c\udf19'}]},\n    picky:{t:'Wie w\u00e4hlerisch ist {n} beim Fressen?', sub:'', opts:[{v:'sehr',l:'Sehr w\u00e4hlerisch \u2013 l\u00e4sst oft stehen',e:'\ud83d\ude44'},{v:'normal',l:'Ganz normal',e:'\ud83d\ude42'},{v:'alles',l:'Frisst fast alles',e:'\ud83d\ude0b'}]},\n    protein:{t:'Welches Fleisch mag {n} am liebsten?', sub:'Alle Sorten sind getreidefrei.'},\n    convenience:{t:'Wie wichtig ist dir Bequemlichkeit?', sub:'Canefelis ist lange haltbar \u2013 ohne K\u00fchlschrank.', opts:[{v:'hoch',l:'Sehr wichtig \u2013 kein Auftauen, kein Tiefk\u00fchler',e:'\u23f1\ufe0f'},{v:'mittel',l:'Sch\u00f6n, aber nicht entscheidend',e:'\ud83d\udc4d'}]},\n    goal:{t:'Was ist dir am wichtigsten?', sub:'', opts:[{v:'geschmack',l:'Dass es {n} schmeckt',e:'\u2764\ufe0f'},{v:'transparenz',l:'Klare Zutaten & ehrliche Deklaration',e:'\ud83d\udd0e'},{v:'vielfalt',l:'Abwechslung im Napf',e:'\ud83c\udf72'},{v:'einfach',l:'Einfach & praktisch im Alltag',e:'\u2728'}]},\n    email:{t:'Wohin schicken wir die Empfehlung f\u00fcr {n}?', sub:'Du bekommst sofort die pers\u00f6nliche Empfehlung + einen 10%-Gutschein f\u00fcr deine erste Bestellung. Kleiner Bonus: 7-Tage-Plan zur Umstellung.', ph:'deine@email.at'}\n  },\n  protein_hund:[{v:'huhn',l:'Huhn',e:'\ud83d\udc14'},{v:'ente',l:'Ente',e:'\ud83e\udd86'},{v:'rind',l:'Huhn & Rind',e:'\ud83d\udc04'},{v:'unsicher',l:'Wei\u00df ich nicht \u2013 \u00fcberrascht uns',e:'\ud83e\udd14'}],\n  protein_katze:[{v:'huhn',l:'Huhn',e:'\ud83d\udc14'},{v:'gefluegel',l:'Huhn & Wachtel',e:'\ud83d\udc26'},{v:'fisch',l:'Fisch',e:'\ud83d\udc1f'},{v:'unsicher',l:'Wei\u00df ich nicht \u2013 \u00fcberrascht uns',e:'\ud83e\udd14'}],\n  step:function(i,n){return 'Frage '+i+' von '+n;},\n  r:{pill:'Dein pers\u00f6nliches Ergebnis \ud83c\udf89', headline:'Unsere Empfehlung f\u00fcr {n}',\n    why_box:'Weil {n} w\u00e4hlerisch ist bzw. ihr Abwechslung wollt: In der Probierbox findet ihr in Ruhe die Lieblingssorte.',\n    why_match:'Passt zu {n}s Vorliebe \u2013 hoher Fleischanteil, getreidefrei.',\n    stage_jung:'F\u00fcr {n} als Welpe\/Kitten: kleinere Portionen, langsame Umstellung \u00fcber 7 Tage.',\n    stage_senior:'F\u00fcr {n} als Senior: ruhige Routine und gleichbleibende F\u00fctterungszeiten.',\n    stage_adult:'Ausgewachsene Portionen nach Packungsempfehlung.',\n    perk_taste:'Kleine 100-g-Beutel zum Probieren \u2013 ideal f\u00fcr w\u00e4hlerische Lieblinge.',\n    perk_shelf:'18 Monate haltbar \u2013 kein Auftauen, kein Tiefk\u00fchler.',\n    perk_transp:'Klare Deklaration: was draufsteht, ist drin.',\n    coupon_lbl:'Dein Gutschein \u2013 10% auf die erste Bestellung',\n    coupon_meta:'Einmalig einl\u00f6sbar, g\u00fcltig bis {d}. Auch per E-Mail unterwegs zu dir.',\n    note_used:'Deinen einmaligen Quiz-Gutschein hast du bereits erhalten und eingel\u00f6st.',\n    note_existing:'Der 10%-Gutschein gilt nur f\u00fcr die erste Bestellung \u2013 sch\u00f6n, dass du schon bei uns bestellst!',\n    cta:'Jetzt die Sorte f\u00fcr {n} entdecken \u203a',\n    sent:'Empfehlung, Gutschein & 7-Tage-Plan sind unterwegs an {e}.',\n    notsent:'Die E-Mail konnte gerade nicht gesendet werden \u2013 deine Empfehlung siehst du oben trotzdem.',\n    disc:'Diese Empfehlung basiert auf Geschmack, Vorlieben und Lebensphase \u2013 sie ist keine medizinische Beratung. Bei gesundheitlichen Fragen wende dich bitte an deine:n Tier\u00e4rzt:in.',\n    restart:'\u2039 Nochmal'}\n},\nsr: {\n  fallback:'tvoj ljubimac', vat:'sa PDV-om', price_from:'od 2,49 \u20ac', price_box:'17,49 \u20ac',\n  T:{back:'Nazad', next:'Dalje', result:'Pogledaj rezultat', sending:'Samo trenutak \u2026',\n     consent:'\u017delim da dobijem preporuku, kupon i savete e-po\u0161tom. Odjava je mogu\u0107a u svakom trenutku. (GDPR)',\n     foot:'Tvoji podaci se obra\u0111uju u skladu sa <a href=\"https:\/\/canefelis.com\/datenschutzerklaerung\/\" target=\"_blank\" rel=\"noopener\">politikom privatnosti<\/a>.'},\n  intro:{pill:'Prona\u0111i hranu', h:'Prona\u0111i pravu hranu za svog ljubimca za 60 sekundi.',\n    sub:'8 kratkih pitanja. Rezultat dobija\u0161 odmah, bez obavezne e-po\u0161te.',\n    bullets:['Li\u010dna preporuka hrane \u2013 samo za tvog ljubimca','Iskreno obja\u0161njeno za\u0161to ba\u0161 ona (visok udeo mesa, bez \u017eitarica)','10% popusta za prvu porud\u017ebinu','Samo 1 minut, besplatno i bez obaveza'],\n    btn:'Po\u010dnimo', trust:'Besplatno. Odjava u svakom trenutku. (GDPR)'},\n  q:{\n    species:{t:'Za koga tra\u017eimo savr\u0161enu hranu?', sub:'', opts:[{v:'hund',l:'Pas',e:'\ud83d\udc36'},{v:'katze',l:'Ma\u010dka',e:'\ud83d\udc31'}]},\n    name:{t:'Kako se zove tvoj ljubimac?', sub:'Da preporuka bude li\u010dna.', ph:'npr. Bela'},\n    stage:{t:'U kojoj je \u017eivotnoj fazi {n}?', sub:'Odre\u0111uje preporuku porcija.', opts:[{v:'jung',l:'\u0160tene \/ ma\u010de',e:'\ud83c\udf7c'},{v:'adult',l:'Odrastao',e:'\ud83e\uddb4'},{v:'senior',l:'Senior',e:'\ud83c\udf19'}]},\n    picky:{t:'Koliko je {n} izbirljiv kod hrane?', sub:'', opts:[{v:'sehr',l:'Vrlo izbirljiv \u2013 \u010desto ostavi hranu',e:'\ud83d\ude44'},{v:'normal',l:'Sasvim normalno',e:'\ud83d\ude42'},{v:'alles',l:'Pojede skoro sve',e:'\ud83d\ude0b'}]},\n    protein:{t:'Koje meso {n} najvi\u0161e voli?', sub:'Sve sorte su bez \u017eitarica.'},\n    convenience:{t:'Koliko ti je va\u017ena prakti\u010dnost?', sub:'Canefelis dugo traje \u2013 bez fri\u017eidera.', opts:[{v:'hoch',l:'Veoma va\u017ena \u2013 bez odmrzavanja i zamrziva\u010da',e:'\u23f1\ufe0f'},{v:'mittel',l:'Lepo je, ali nije presudno',e:'\ud83d\udc4d'}]},\n    goal:{t:'\u0160ta ti je najva\u017enije?', sub:'', opts:[{v:'geschmack',l:'Da hrana prija ljubimcu',e:'\u2764\ufe0f'},{v:'transparenz',l:'Jasni sastojci i po\u0161tena deklaracija',e:'\ud83d\udd0e'},{v:'vielfalt',l:'Raznovrsnost u \u010diniji',e:'\ud83c\udf72'},{v:'einfach',l:'Jednostavno i prakti\u010dno',e:'\u2728'}]},\n    email:{t:'Gde da po\u0161aljemo preporuku?', sub:'Odmah dobija\u0161 li\u010dnu preporuku + 10% popusta za prvu porud\u017ebinu. Mali bonus: 7-dnevni plan prelaska na novu hranu.', ph:'tvoj@email.com'}\n  },\n  protein_hund:[{v:'huhn',l:'Piletina',e:'\ud83d\udc14'},{v:'ente',l:'Patka',e:'\ud83e\udd86'},{v:'rind',l:'Piletina i govedina',e:'\ud83d\udc04'},{v:'unsicher',l:'Ne znam \u2013 iznenadite nas',e:'\ud83e\udd14'}],\n  protein_katze:[{v:'huhn',l:'Piletina',e:'\ud83d\udc14'},{v:'gefluegel',l:'Piletina i prepelica',e:'\ud83d\udc26'},{v:'fisch',l:'Riba',e:'\ud83d\udc1f'},{v:'unsicher',l:'Ne znam \u2013 iznenadite nas',e:'\ud83e\udd14'}],\n  step:function(i,n){return 'Pitanje '+i+' od '+n;},\n  r:{pill:'Tvoj li\u010dni rezultat \ud83c\udf89', headline:'Na\u0161a preporuka za: {n}',\n    why_box:'Po\u0161to je {n} izbirljiv ili \u017eelite raznovrsnost: u probnoj kutiji na miru prona\u0111ite omiljenu sortu.',\n    why_match:'Odgovara ukusu \u2013 visok udeo mesa, bez \u017eitarica.',\n    stage_jung:'Za \u0161tene\/ma\u010de: manje porcije i postepen prelazak tokom 7 dana.',\n    stage_senior:'Za seniora: mirna rutina i stalno vreme obroka.',\n    stage_adult:'Porcije za odrasle prema preporuci na pakovanju.',\n    perk_taste:'Male kesice od 100 g za probu \u2013 idealne za izbirljive ljubimce.',\n    perk_shelf:'Rok trajanja 18 meseci \u2013 bez odmrzavanja i zamrziva\u010da.',\n    perk_transp:'Jasna deklaracija: ono \u0161to pi\u0161e \u2013 to je unutra.',\n    coupon_lbl:'Tvoj kupon \u2013 10% na prvu porud\u017ebinu',\n    coupon_meta:'Jednokratan, va\u017ei do {d}. Sti\u017ee ti i e-po\u0161tom.',\n    note_used:'Svoj jednokratni kupon iz kviza si ve\u0107 iskoristio.',\n    note_existing:'Popust od 10% va\u017ei samo za prvu porud\u017ebinu \u2013 hvala \u0161to ve\u0107 kupuje\u0161 kod nas!',\n    cta:'Pogledaj preporu\u010denu sortu \u203a',\n    sent:'Preporuka, kupon i 7-dnevni plan su na putu ka {e}.',\n    notsent:'E-poruka trenutno nije mogla da se po\u0161alje \u2013 preporuku vidi\u0161 iznad.',\n    disc:'Ova preporuka se zasniva na ukusu, navikama i \u017eivotnoj fazi \u2013 nije medicinski savet. Za zdravstvena pitanja obrati se veterinaru.',\n    restart:'\u2039 Ponovo'}\n},\nen: {\n  fallback:'your pet', vat:'incl. VAT', price_from:'from \u20ac2.49', price_box:'\u20ac17.49',\n  T:{back:'Back', next:'Next', result:'See my result', sending:'One moment \u2026',\n     consent:'I\u2019d like to receive the recommendation, coupon and tips by email. Unsubscribe anytime. (GDPR)',\n     foot:'Your data is processed according to our <a href=\"https:\/\/canefelis.com\/datenschutzerklaerung\/\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a>.'},\n  intro:{pill:'Food Finder', h:'Find the right food for your pet in 60 seconds.',\n    sub:'8 quick questions. See your result instantly, no email required.',\n    bullets:['A personal food recommendation \u2013 just for your pet','Honestly explained: why it fits (high meat content, grain-free)','A 10% coupon for your first order','Just 1 minute, free & no strings attached'],\n    btn:\"Let's go\", trust:'Free. Unsubscribe anytime. (GDPR)'},\n  q:{\n    species:{t:'Who are we finding the perfect food for?', sub:'', opts:[{v:'hund',l:'Dog',e:'\ud83d\udc36'},{v:'katze',l:'Cat',e:'\ud83d\udc31'}]},\n    name:{t:'What\u2019s your pet\u2019s name?', sub:'To make the recommendation personal.', ph:'e.g. Bella'},\n    stage:{t:'What life stage is {n} in?', sub:'Determines portion guidance.', opts:[{v:'jung',l:'Puppy \/ kitten',e:'\ud83c\udf7c'},{v:'adult',l:'Adult',e:'\ud83e\uddb4'},{v:'senior',l:'Senior',e:'\ud83c\udf19'}]},\n    picky:{t:'How picky is {n} about food?', sub:'', opts:[{v:'sehr',l:'Very picky \u2013 often leaves food',e:'\ud83d\ude44'},{v:'normal',l:'Pretty normal',e:'\ud83d\ude42'},{v:'alles',l:'Eats almost anything',e:'\ud83d\ude0b'}]},\n    protein:{t:'Which meat does {n} love most?', sub:'All recipes are grain-free.'},\n    convenience:{t:'How important is convenience to you?', sub:'Canefelis keeps for a long time \u2013 no fridge needed.', opts:[{v:'hoch',l:'Very \u2013 no thawing, no freezer',e:'\u23f1\ufe0f'},{v:'mittel',l:'Nice, but not a dealbreaker',e:'\ud83d\udc4d'}]},\n    goal:{t:'What matters most to you?', sub:'', opts:[{v:'geschmack',l:'That {n} loves the taste',e:'\u2764\ufe0f'},{v:'transparenz',l:'Clear ingredients & honest labelling',e:'\ud83d\udd0e'},{v:'vielfalt',l:'Variety in the bowl',e:'\ud83c\udf72'},{v:'einfach',l:'Simple & practical',e:'\u2728'}]},\n    email:{t:'Where should we send {n}\u2019s recommendation?', sub:'You\u2019ll instantly get a personal recommendation + a 10% coupon for your first order. Small bonus: a 7-day transition plan.', ph:'your@email.com'}\n  },\n  protein_hund:[{v:'huhn',l:'Chicken',e:'\ud83d\udc14'},{v:'ente',l:'Duck',e:'\ud83e\udd86'},{v:'rind',l:'Chicken & Beef',e:'\ud83d\udc04'},{v:'unsicher',l:'Not sure \u2013 surprise us',e:'\ud83e\udd14'}],\n  protein_katze:[{v:'huhn',l:'Chicken',e:'\ud83d\udc14'},{v:'gefluegel',l:'Chicken & Quail',e:'\ud83d\udc26'},{v:'fisch',l:'Fish',e:'\ud83d\udc1f'},{v:'unsicher',l:'Not sure \u2013 surprise us',e:'\ud83e\udd14'}],\n  step:function(i,n){return 'Question '+i+' of '+n;},\n  r:{pill:'Your personal result \ud83c\udf89', headline:'Our recommendation for {n}',\n    why_box:'Since {n} is picky or you want variety: the trial box lets you find the favourite recipe at your own pace.',\n    why_match:'Matches {n}\u2019s taste \u2013 high meat content, grain-free.',\n    stage_jung:'For {n} as a puppy\/kitten: smaller portions and a slow 7-day transition.',\n    stage_senior:'For {n} as a senior: a calm routine and consistent feeding times.',\n    stage_adult:'Adult portions as recommended on the pack.',\n    perk_taste:'Small 100 g pouches to try \u2013 ideal for picky pets.',\n    perk_shelf:'Keeps for 18 months \u2013 no thawing, no freezer.',\n    perk_transp:'Clear labelling: what\u2019s on the label is in the pouch.',\n    coupon_lbl:'Your coupon \u2013 10% off your first order',\n    coupon_meta:'One-time use, valid until {d}. Also on its way to your inbox.',\n    note_used:'You\u2019ve already received and used your one-time quiz coupon.',\n    note_existing:'The 10% coupon is for first orders only \u2013 lovely that you already shop with us!',\n    cta:'Discover {n}\u2019s recipe \u203a',\n    sent:'Recommendation, coupon & 7-day plan are on their way to {e}.',\n    notsent:'The email couldn\u2019t be sent right now \u2013 your recommendation is still shown above.',\n    disc:'This recommendation is based on taste, preferences and life stage \u2013 it is not medical advice. For health questions, please talk to your vet.',\n    restart:'\u2039 Again'}\n}\n};\nvar L = I18N[LANG];\nfunction nm(){ return state.name && state.name.trim() ? state.name.trim() : L.fallback; }\nfunction fmt(s){ return (s || '').split('{n}').join(nm()); }\nvar QDEF = [\n  {id:'species', type:'choice', two:true},\n  {id:'name', type:'text'},\n  {id:'stage', type:'choice'},\n  {id:'picky', type:'choice'},\n  {id:'protein', type:'choice', dynamic:true},\n  {id:'convenience', type:'choice'},\n  {id:'goal', type:'choice'},\n  {id:'email', type:'email'}\n];\nfunction prodInfo(key){\n  var p = PDATA[key], loc = p[LANG];\n  return {key:key, name:loc.name, url:loc.url, img:p.img, price:p.box ? L.price_box : L.price_from};\n}\nfunction recommend(){\n  var s = state;\n  var sp = s.species === 'katze' ? 'katze' : 'hund';\n  var box = (s.picky === 'sehr' || s.protein === 'unsicher' || s.goal === 'vielfalt');\n  var key = box ? sp + '-box' : (PDATA[sp + '-' + s.protein] ? sp + '-' + s.protein : sp + '-huhn');\n  var info = prodInfo(key);\n  info.why = fmt(box ? L.r.why_box : L.r.why_match);\n  return info;\n}\nvar quizRoot = document.getElementById('canefelis-quiz');\nvar screen = quizRoot.querySelector('#screen');\nvar prog = quizRoot.querySelector('#prog');\nvar foot = quizRoot.querySelector('#foot');\nfunction renderIntro(){\n  foot.innerHTML = L.T.foot;\n  prog.style.width = '8%';\n  var html = '<div class=\"card\">';\n  html += '<span class=\"pill\">'+L.intro.pill+'<\/span>';\n  html += '<h1 class=\"q\">'+L.intro.h+'<\/h1>';\n  html += '<p class=\"sub\">'+L.intro.sub+'<\/p>';\n  html += '<div class=\"perks\" style=\"margin-top:6px\">';\n  L.intro.bullets.forEach(function(b){\n    html += '<div class=\"perk\"><span class=\"ic\">\u2713<\/span><span>'+b+'<\/span><\/div>';\n  });\n  html += '<\/div>';\n  html += '<div class=\"nav\"><span><\/span><button class=\"btn primary\" id=\"go\">'+L.intro.btn+' \u203a<\/button><\/div>';\n  html += '<p class=\"srnote\" style=\"text-align:center;margin-top:10px\">'+L.intro.trust+'<\/p>';\n  html += '<\/div>';\n  screen.innerHTML = html;\n  quizRoot.querySelector('#go').onclick = function(){\n    started = true;\n    render();\n  };\n}\nfunction render(){\n  foot.innerHTML = L.T.foot;\n  if(!started){ renderIntro(); return; }\n  if(idx >= QDEF.length){ renderResult(); return; }\n  var q = QDEF[idx];\n  var qt = L.q[q.id];\n  prog.style.width = ((idx + 1) \/ (QDEF.length + 1)) * 100 + '%';\n  var html = '<div class=\"card\"><div class=\"step\">'+L.step(idx+1, QDEF.length)+'<\/div>';\n  html += '<h1 class=\"q\">'+fmt(qt.t)+'<\/h1>';\n  if(qt.sub){ html += '<p class=\"sub\">'+fmt(qt.sub)+'<\/p>'; }\n  if(q.type === 'choice'){\n    var opts = q.dynamic ? (state.species === 'katze' ? L.protein_katze : L.protein_hund) : qt.opts;\n    html += '<div class=\"opts'+(q.two ? ' two' : '')+'\" id=\"opts\">';\n    opts.forEach(function(o){\n      var sel = state[q.id] === o.v ? ' sel' : '';\n      html += '<button class=\"opt'+sel+(q.two ? ' center' : '')+'\" data-v=\"'+o.v+'\">';\n      if(o.e) html += '<span class=\"emo\">'+o.e+'<\/span>';\n      html += '<span>'+fmt(o.l)+'<\/span><\/button>';\n    });\n    html += '<\/div>';\n  } else if(q.type === 'text'){\n    html += '<input class=\"txt\" id=\"field\" type=\"text\" value=\"'+(state.name || '')+'\" placeholder=\"'+(qt.ph || '')+'\">';\n  } else if(q.type === 'email'){\n    html += '<input class=\"txt\" id=\"field\" type=\"email\" value=\"'+(state.email || '')+'\" placeholder=\"'+(qt.ph || '')+'\">';\n    html += '<input class=\"hp\" id=\"hp\" type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">';\n    html += '<label class=\"consent\"><input type=\"checkbox\" id=\"consent\"><span>'+L.T.consent+'<\/span><\/label>';\n  }\n  html += '<div class=\"nav\">';\n  html += idx > 0 ? '<button class=\"btn ghost\" id=\"back\">\u2039 '+L.T.back+'<\/button>' : '<span><\/span>';\n  var last = idx === QDEF.length - 1;\n  html += '<button class=\"btn primary\" id=\"next\" disabled>'+(last ? L.T.result : L.T.next)+' \u203a<\/button>';\n  html += '<\/div><\/div>';\n  screen.innerHTML = html;\n  wire(q);\n}\nfunction submitLead(done){\n  var payload = {\n    email: state.email.trim(),\n    pet_name: state.name.trim(),\n    species: state.species,\n    stage: state.stage,\n    picky: state.picky,\n    protein: state.protein,\n    convenience: state.convenience,\n    goal: state.goal,\n    consent: true,\n    lang: LANG,\n    website: (quizRoot.querySelector('#hp') ? quizRoot.querySelector('#hp').value : '')\n  };\n  var finished = false;\n  var finish = function(resp){\n    if(finished) return;\n    finished = true;\n    serverResp = resp;\n    done();\n  };\n  setTimeout(function(){ finish(null); }, 12000);\n  fetch(API_URL, {\n    method:'POST',\n    headers:{'Content-Type':'application\/json'},\n    body: JSON.stringify(payload)\n  }).then(function(r){ return r.json(); }).then(function(j){\n    finish(j && j.ok ? j : null);\n  }).catch(function(){ finish(null); });\n}\nfunction wire(q){\n  var nextBtn = quizRoot.querySelector('#next');\n  var backBtn = quizRoot.querySelector('#back');\n  if(backBtn){\n    backBtn.onclick = function(){ idx--; render(); };\n  }\n  function setEnabled(){\n    if(q.type === 'choice'){\n      nextBtn.disabled = !state[q.id];\n    } else if(q.type === 'text'){\n      nextBtn.disabled = !(quizRoot.querySelector('#field').value.trim());\n    } else if(q.type === 'email'){\n      var v = quizRoot.querySelector('#field').value.trim();\n      var ok = \/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/.test(v) && quizRoot.querySelector('#consent').checked;\n      nextBtn.disabled = !ok;\n    }\n  }\n  if(q.type === 'choice'){\n    Array.prototype.forEach.call(quizRoot.querySelectorAll('.opt'), function(b){\n      b.onclick = function(){\n        state[q.id] = b.getAttribute('data-v');\n        Array.prototype.forEach.call(quizRoot.querySelectorAll('.opt'), function(x){ x.classList.remove('sel'); });\n        b.classList.add('sel');\n        setEnabled();\n      };\n    });\n  } else {\n    var f = quizRoot.querySelector('#field');\n    f.oninput = function(){\n      if(q.type === 'text'){ state.name = f.value; } else { state.email = f.value; }\n      setEnabled();\n    };\n    var cs = quizRoot.querySelector('#consent');\n    if(cs) cs.onchange = setEnabled;\n  }\n  setEnabled();\n  nextBtn.onclick = function(){\n    var last = idx === QDEF.length - 1;\n    if(last && q.type === 'email'){\n      nextBtn.disabled = true;\n      nextBtn.textContent = L.T.sending;\n      submitLead(function(){ idx++; render(); });\n      return;\n    }\n    idx++;\n    render();\n  };\n}\nfunction renderResult(){\n  prog.style.width = '100%';\n  var r = recommend();\n  var sv = serverResp;\n  var stageLine = state.stage === 'jung' ? fmt(L.r.stage_jung) : (state.stage === 'senior' ? fmt(L.r.stage_senior) : L.r.stage_adult);\n  var perks = [{ic:'\ud83c\udf7d\ufe0f', text:stageLine}, {ic:'\u2713', text:L.r.perk_taste}];\n  if(state.convenience === 'hoch'){ perks.push({ic:'\u2744\ufe0f', text:L.r.perk_shelf}); }\n  if(state.goal === 'transparenz'){ perks.push({ic:'\ud83d\udd0e', text:L.r.perk_transp}); }\n  var prod = sv && sv.product ? {name: sv.product.name, img: sv.product.image || r.img, price: sv.product.price, url: sv.product.url} : {name: r.name, img: r.img, price: r.price, url: r.url};\n  var html = '<div class=\"card\">';\n  html += '<span class=\"pill\">'+L.r.pill+'<\/span>';\n  html += '<h1 class=\"q\">'+fmt(L.r.headline)+'<\/h1>';\n  html += '<div class=\"rec\"><div class=\"ph\"><img decoding=\"async\" src=\"'+prod.img+'\" alt=\"'+prod.name+'\" loading=\"lazy\"><\/div><div><h3>'+prod.name+'<\/h3><p>'+r.why+'<\/p><span class=\"price\">'+prod.price+' '+L.vat+'<\/span><\/div><\/div>';\n  if(sv && sv.coupon && sv.coupon.code){\n    html += '<div class=\"coupon\"><div class=\"lbl\">'+L.r.coupon_lbl+'<\/div><div class=\"code\">'+sv.coupon.code+'<\/div><div class=\"meta\">'+L.r.coupon_meta.split('{d}').join(sv.coupon.expires)+'<\/div><\/div>';\n  } else if(sv && sv.coupon_status === 'already_used'){\n    html += '<p class=\"srnote\" style=\"text-align:center\">'+L.r.note_used+'<\/p>';\n  } else if(sv && sv.coupon_status === 'existing_customer'){\n    html += '<p class=\"srnote\" style=\"text-align:center\">'+L.r.note_existing+'<\/p>';\n  }\n  html += '<div class=\"perks\">';\n  perks.forEach(function(p){\n    html += '<div class=\"perk\"><span class=\"ic\">'+p.ic+'<\/span><span>'+p.text+'<\/span><\/div>';\n  });\n  html += '<\/div>';\n  html += '<a class=\"btn primary cta-full\" href=\"'+prod.url+'\">'+fmt(L.r.cta)+'<\/a>';\n  if(sv && sv.email_sent && state.email){\n    html += '<p class=\"srnote\" style=\"text-align:center\">'+L.r.sent.split('{e}').join(state.email)+'<\/p>';\n  } else if(!sv){\n    html += '<p class=\"srnote\" style=\"text-align:center\">'+L.r.notsent+'<\/p>';\n  }\n  html += '<p class=\"disc\">'+L.r.disc+'<\/p>';\n  html += '<div class=\"nav\"><button class=\"btn ghost\" id=\"restart\">'+L.r.restart+'<\/button><span><\/span><\/div>';\n  html += '<\/div>';\n  screen.innerHTML = html;\n  quizRoot.querySelector('#restart').onclick = function(){\n    idx = 0; started = false; serverResp = null; render();\n  };\n}\nrender();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>CANEFELIS<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5134","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/pages\/5134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/comments?post=5134"}],"version-history":[{"count":1,"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/pages\/5134\/revisions"}],"predecessor-version":[{"id":5246,"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/pages\/5134\/revisions\/5246"}],"wp:attachment":[{"href":"https:\/\/canefelis.com\/en\/wp-json\/wp\/v2\/media?parent=5134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}