{
  "version": 3,
  "sources": ["/cdn/shop/t/51/assets/kookut-start.js?x=1791314057046"],
  "sourcesContent": ["/* \"Where to start?\" (snippets/kookut-start.liquid): newcomer questions -> starting basket with daily amounts,\n   plus a tab with the existing feeding calculator. Energy formula = the calculator's (assets/kookut-calculator.js):\n   cats 90 / 115 kcal x kg^0.67 (indoor / outdoor, as on the kibble bags), dogs 80 / 110 kcal x kg^0.75 (less active / active). */\n(function () {\n  if (customElements.get('kk-start')) return;\n\n  const RULES = {\n    kitten: {\n      base: () => 'chicken-turkey-dry-food-for-kitten',\n      top: (t) => (t === 'fish'\n        ? ['free-run-chicken-natural', 'pacific-tuna-fillet-natural', 'free-run-chicken-pacific-tuna-natural']\n        : ['free-run-chicken-natural', 'free-run-chicken-pumpkin-natural', 'free-run-chicken-duck-natural']),\n    },\n    cat: {\n      base: (t) => (t === 'fish' ? 'salmon-white-fish-dry-food-for-cat' : 'chicken-duck-dry-food-for-cat'),\n      top: (t) => (t === 'fish'\n        ? ['pacific-tuna-fillet-natural', 'pacific-tuna-baby-clams-natural', 'pacific-tuna-sardine-natural']\n        : t === 'poultry'\n          ? ['free-run-chicken-natural', 'free-run-chicken-duck-natural', 'free-run-chicken-pumpkin-natural']\n          : ['free-run-chicken-pacific-tuna-natural', 'free-run-chicken-shrimps-natural', 'pacific-tuna-seaweed-natural']),\n    },\n    senior: {\n      base: () => 'chicken-duck-dry-food-for-cat',\n      top: (t) => (t === 'fish'\n        ? ['pacific-tuna-mackerel-senior-fillet-natural', 'pacific-tuna-fillet-natural', 'pacific-tuna-baby-clams-natural']\n        : t === 'poultry'\n          ? ['chicken-duck-senior-natural-fillet', 'free-run-chicken-natural', 'free-run-chicken-pumpkin-natural']\n          : ['chicken-duck-senior-natural-fillet', 'pacific-tuna-mackerel-senior-fillet-natural', 'free-run-chicken-pacific-tuna-natural']),\n    },\n    puppy: {\n      base: () => 'chicken-turkey-dry-food-for-puppy',\n      top: () => ['free-run-chicken-duck-natural-dog', 'free-run-chicken-duck-natural-copy-2', 'free-run-chicken-zucchini-natural-copy'],\n    },\n    dog: {\n      base: (t) => (t === 'fish' ? 'salmon-white-fish-dry-food-for-dog' : 'chicken-duck-dry-food-for-dog'),\n      top: (t) => (t === 'fish'\n        ? ['free-run-chicken-with-beef-carrots-natural-copy', 'free-run-chicken-duck-natural-dog', 'free-run-chicken-duck-natural-copy-2']\n        : ['free-run-chicken-duck-natural-dog', 'free-run-chicken-zucchini-natural-copy', 'free-run-chicken-duck-natural-copy-2']),\n    },\n  };\n  const WEIGHTS = { cat: [3, 4, 5, 6], dog: [5, 10, 20, 30, 40] };\n  // Icons: cat and dog from the Kookut wordmark, fish from the Pacific Tuna tin label, chicken from the Free Run Chicken label.\n  const ICON = {\n    cat: \"<svg viewBox=\\\"0 0 606.60 541.09\\\" focusable=\\\"false\\\"><path d=\\\"M317.05 196.09 L317.05 200.05 C247.17 217.41 195.39 280.39 195.39 355.45 L195.39 448.02 C142.09 448.02 98.35 407.36 93.56 355.45 L93.56 299.63 C93.56 273.87 72.61 252.98 46.78 252.98 C20.94 252.98 0.00 273.87 0.00 299.63 L0.00 355.45 C4.95 458.81 90.53 541.09 195.39 541.09 L461.83 541.09 C541.79 541.09 606.60 476.45 606.60 396.70 L606.60 210.07 L606.60 98.78 L606.60 76.38 L606.60 60.25 L606.60 22.99 L606.29 22.82 C606.45 21.79 606.60 20.76 606.60 19.68 C606.60 8.81 597.77 0.00 586.87 0.00 C581.48 0.00 576.61 2.16 573.05 5.65 L573.04 5.64 L505.99 59.48 C492.70 52.60 477.63 48.69 461.62 48.69 C445.72 48.69 430.73 52.55 417.51 59.35 L350.61 5.64 L350.60 5.65 C347.04 2.16 342.17 0.00 336.79 0.00 C325.89 0.00 317.05 8.81 317.05 19.68 C317.05 20.76 317.20 21.79 317.37 22.82 L317.05 22.99 L317.05 60.25 L317.05 76.38 L317.05 112.76 L317.05 196.09 Z\\\" fill=\\\"currentColor\\\"/></svg>\",\n    dog: \"<svg viewBox=\\\"0 0 582.56 584.82\\\" focusable=\\\"false\\\"><path d=\\\"M490.31 220.00 L297.10 251.07 L117.67 540.81 L20.34 540.81 C9.11 540.81 0.00 549.91 0.00 561.15 C0.00 572.39 9.11 581.49 20.34 581.49 L158.68 581.49 L407.93 581.49 C430.40 581.49 448.62 563.28 448.62 540.81 C448.62 518.34 430.40 500.12 407.93 500.12 L381.94 500.12 L444.64 401.90 L483.88 548.00 C487.86 570.12 509.01 584.82 531.13 580.84 C553.24 576.87 567.95 555.71 563.97 533.60 L490.31 220.00 Z\\\" fill=\\\"currentColor\\\"/><path d=\\\"M332.15 41.65 C339.30 39.07 346.98 37.32 355.04 36.57 C394.99 32.85 426.11 62.56 462.52 73.04 C485.36 79.61 509.46 81.94 533.07 78.79 C540.92 77.75 550.92 74.05 557.06 75.97 C582.56 83.93 564.20 129.67 556.51 143.80 C542.53 169.47 517.88 191.53 485.91 197.77 C485.87 197.78 296.12 229.34 296.12 229.34 L258.19 17.72 C255.85 5.70 263.83 0.00 273.03 5.23 L332.15 41.65 Z\\\" fill=\\\"currentColor\\\"/></svg>\",\n    fish: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M7.98 6.84L8.30 6.84L8.47 7.28L8.47 7.93L8.33 8.40L8.05 8.86L7.74 9.16L7.28 9.44L6.77 9.58L6.56 8.81L6.23 8.30L5.70 7.81L5.21 7.56L6.40 7.12L7.23 6.93L7.93 6.88ZM8.72 6.84L9.33 6.84L9.37 6.88L9.84 6.88L9.88 6.93L10.44 6.98L11.51 7.21L12.67 7.58L12.79 7.65L12.79 7.88L12.65 8.40L12.33 8.91L11.93 9.26L11.60 9.44L11.00 9.58L10.88 9.00L10.56 8.40L10.07 7.91L9.79 7.72L9.19 7.49L8.86 7.44ZM22.67 7.49L23.23 7.49L23.42 7.58L23.67 7.84L23.81 8.16L23.77 9.00L23.30 9.98L22.14 11.70L21.63 12.35L21.63 12.44L22.70 13.47L23.67 14.77L23.91 15.23L24.00 15.56L24.00 16.07L23.91 16.26L23.74 16.42L23.51 16.51L22.86 16.51L22.44 16.42L21.42 16.05L20.72 15.67L20.12 15.26L19.37 14.65L18.12 13.49L17.79 13.30L17.37 13.35L16.35 14.28L15.09 15.16L15.30 14.49L15.30 13.70L15.16 13.23L14.84 12.67L14.40 12.23L13.91 11.93L14.44 11.63L14.79 11.28L15.16 10.67L15.30 10.16L15.30 9.42L15.07 8.72L15.19 8.74L16.58 9.63L17.74 10.56L18.07 10.70L18.30 10.70L18.35 10.74L18.77 10.65L19.42 10.28L20.42 9.33L20.84 8.81L21.56 8.09L21.93 7.81ZM4.63 7.81L5.19 7.95L5.65 8.23L6.09 8.72L6.37 9.42L6.33 10.35L5.95 11.05L5.70 11.30L5.28 11.58L4.91 11.72L4.42 11.79L4.44 12.14L4.95 12.19L5.60 12.51L6.09 13.05L6.37 13.74L6.37 14.49L6.14 15.09L5.86 15.47L5.56 15.72L4.86 16.05L4.53 16.05L3.98 15.72L1.88 14.19L0.56 12.95L0.14 12.40L0.00 12.07L0.00 11.70L0.23 11.19L0.56 10.77L1.14 10.19L1.93 9.53L3.05 8.74ZM8.86 7.81L9.14 7.86L9.70 8.09L10.23 8.58L10.56 9.19L10.65 9.65L10.56 10.40L10.23 11.00L9.88 11.35L9.60 11.53L8.91 11.77L8.84 11.74L8.79 11.37L8.47 10.63L7.98 10.09L7.44 9.79L7.47 9.72L7.56 9.72L7.98 9.44L8.47 8.91L8.65 8.58ZM13.19 7.81L13.51 7.91L14.26 8.28L14.65 8.72L14.93 9.42L14.93 10.16L14.65 10.86L14.21 11.35L13.93 11.53L13.23 11.77L13.16 11.74L13.12 11.60L13.02 11.09L12.74 10.58L12.35 10.14L11.77 9.79L11.79 9.72L12.35 9.40L12.74 8.95L13.02 8.44L13.12 7.93ZM6.77 9.95L7.28 10.09L7.79 10.42L8.23 10.95L8.47 11.60L8.47 12.26L8.33 12.72L8.14 13.05L7.60 13.58L7.14 13.81L6.77 13.91L6.60 13.23L6.28 12.67L5.84 12.23L5.35 11.93L5.88 11.63L6.37 11.09L6.65 10.53ZM11.00 9.95L11.47 10.05L11.93 10.28L12.16 10.47L12.60 11.05L12.79 11.65L12.74 12.44L12.47 13.05L12.21 13.35L11.84 13.63L11.47 13.81L11.09 13.91L10.98 13.88L10.98 13.65L10.88 13.33L10.56 12.72L10.02 12.19L9.58 11.93L10.12 11.63L10.65 11.05L10.93 10.40ZM8.86 12.14L9.19 12.19L9.56 12.33L9.84 12.51L10.28 12.95L10.51 13.37L10.65 13.98L10.60 14.53L10.51 14.81L10.19 15.37L9.74 15.77L9.09 16.05L8.84 16.02L8.70 15.42L8.37 14.86L7.93 14.42L7.40 14.12L8.02 13.72L8.47 13.23L8.70 12.77ZM13.19 12.14L13.65 12.23L14.16 12.51L14.56 12.91L14.74 13.19L14.93 13.70L14.93 14.49L14.70 15.09L14.26 15.63L13.42 16.05L13.19 16.05L13.12 15.98L13.12 15.74L13.02 15.47L12.65 14.81L12.26 14.42L11.72 14.12L12.40 13.67L12.74 13.28L13.02 12.77L13.12 12.26ZM6.77 14.33L6.91 14.33L7.42 14.51L7.70 14.70L8.19 15.23L8.47 15.93L8.47 16.63L8.37 16.95L8.26 17.12L7.79 17.12L7.74 17.07L6.95 16.98L5.98 16.70L5.16 16.35L5.74 16.05L6.19 15.65L6.60 14.95ZM11.00 14.33L11.37 14.37L11.88 14.60L12.37 15.05L12.65 15.51L12.79 15.98L12.79 16.30L11.74 16.70L10.81 16.93L10.02 17.02L9.98 17.07L8.77 17.12L8.72 17.16L8.70 17.05L8.79 16.86L8.86 16.42L9.33 16.37L9.84 16.14L10.12 15.95L10.51 15.56L10.84 15.00Z\\\" fill=\\\"currentColor\\\"/></svg>\",\n    poultry: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M5.36 0.00L5.88 0.00L6.25 0.16L6.53 0.44L6.72 0.83L7.24 0.57L7.65 0.57L8.02 0.73L8.25 0.91L8.51 1.38L8.51 2.00L8.36 2.32L8.12 2.55L7.63 2.79L7.99 3.36L8.46 4.56L9.08 5.75L9.92 7.00L11.04 8.23L11.97 8.95L13.07 9.53L13.80 9.79L14.52 9.94L14.89 9.94L14.94 10.00L16.35 10.00L16.40 9.94L17.39 9.84L18.38 9.58L19.63 9.11L21.24 8.28L21.97 7.81L22.59 7.29L22.67 7.31L22.72 8.20L22.78 8.25L22.78 9.45L22.72 9.50L22.67 10.54L22.62 10.59L22.62 10.91L22.46 11.69L22.05 13.09L21.68 13.98L21.11 15.07L20.54 15.96L19.91 16.74L18.79 17.86L17.28 18.95L16.50 19.37L15.62 19.73L14.52 20.04L13.64 20.15L13.51 20.23L13.51 22.93L13.59 23.01L13.85 23.01L14.94 23.32L16.03 23.84L16.19 24.00L8.75 24.00L9.01 23.79L10.00 23.32L10.88 23.06L11.40 23.01L11.48 22.93L11.48 20.17L10.26 19.94L9.32 19.63L8.33 19.16L7.13 18.38L6.01 17.36L5.18 16.37L4.66 15.59L3.98 14.29L3.41 12.68L3.20 11.74L3.10 10.65L3.05 10.59L3.10 8.04L3.15 7.99L3.15 7.68L3.31 6.85L3.51 6.07L3.15 5.28L3.10 4.97L2.97 4.84L1.61 4.27L1.30 4.11L1.22 3.98L3.23 3.07L3.62 2.52L3.28 2.34L3.05 2.11L2.84 1.59L2.84 1.28L2.94 0.96L3.33 0.52L3.64 0.36L4.22 0.36L4.63 0.57L4.95 0.21ZM7.39 10.20L5.62 10.78L5.54 10.85L5.96 11.84L6.95 13.30L8.02 14.37L9.16 15.15L10.52 15.72L11.82 15.98L13.22 15.98L13.28 15.93L14.11 15.83L14.94 15.57L15.93 15.10L16.71 14.58L17.99 13.35L18.30 12.94L17.28 13.80L16.66 14.21L16.09 14.52L15.15 14.89L14.21 15.10L13.80 15.10L13.74 15.15L12.96 15.15L12.91 15.10L12.49 15.10L11.77 14.94L11.14 14.73L10.15 14.21L9.48 13.69L8.93 13.15L8.15 12.05L7.78 11.32L7.47 10.28Z\\\" fill=\\\"currentColor\\\"/></svg>\",\n    dry: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><g fill=\\\"currentColor\\\"><path d=\\\"M2 12.5h20c0 4.4-4.5 7.5-10 7.5S2 16.9 2 12.5Z\\\"/><rect x=\\\"7\\\" y=\\\"19\\\" width=\\\"10\\\" height=\\\"2.2\\\" rx=\\\"1.1\\\"/><circle cx=\\\"7.5\\\" cy=\\\"10\\\" r=\\\"2.3\\\"/><circle cx=\\\"12\\\" cy=\\\"8.6\\\" r=\\\"2.5\\\"/><circle cx=\\\"16.5\\\" cy=\\\"10\\\" r=\\\"2.3\\\"/></g></svg>\",\n    wet: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><g fill=\\\"currentColor\\\"><path d=\\\"M3 8.5v8.5c0 2.2 4 4 9 4s9-1.8 9-4V8.5Z\\\"/><ellipse cx=\\\"12\\\" cy=\\\"8.5\\\" rx=\\\"9\\\" ry=\\\"3.6\\\"/><ellipse cx=\\\"12\\\" cy=\\\"8.5\\\" rx=\\\"7\\\" ry=\\\"2.5\\\" fill=\\\"var(--kk-opt-bg,#fff)\\\"/><ellipse cx=\\\"12\\\" cy=\\\"8.5\\\" rx=\\\"5.6\\\" ry=\\\"1.7\\\"/><path d=\\\"M3 12.6c0 2.2 4 4 9 4s9-1.8 9-4\\\" fill=\\\"none\\\" stroke=\\\"var(--kk-opt-bg,#fff)\\\" stroke-width=\\\"1.2\\\"/></g></svg>\",\n    mix: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><g fill=\\\"currentColor\\\"><g transform=\\\"translate(-1 4.5) scale(.66)\\\"><path d=\\\"M2 12.5h20c0 4.4-4.5 7.5-10 7.5S2 16.9 2 12.5Z\\\"/><rect x=\\\"7\\\" y=\\\"19\\\" width=\\\"10\\\" height=\\\"2.2\\\" rx=\\\"1.1\\\"/><circle cx=\\\"7.5\\\" cy=\\\"10\\\" r=\\\"2.3\\\"/><circle cx=\\\"12\\\" cy=\\\"8.6\\\" r=\\\"2.5\\\"/><circle cx=\\\"16.5\\\" cy=\\\"10\\\" r=\\\"2.3\\\"/></g><g transform=\\\"translate(12.2 6) scale(.56)\\\"><path d=\\\"M3 8.5v8.5c0 2.2 4 4 9 4s9-1.8 9-4V8.5Z\\\"/><ellipse cx=\\\"12\\\" cy=\\\"8.5\\\" rx=\\\"9\\\" ry=\\\"3.6\\\"/><ellipse cx=\\\"12\\\" cy=\\\"8.5\\\" rx=\\\"7\\\" ry=\\\"2.5\\\" fill=\\\"var(--kk-opt-bg,#fff)\\\"/><ellipse cx=\\\"12\\\" cy=\\\"8.5\\\" rx=\\\"5.6\\\" ry=\\\"1.7\\\"/><path d=\\\"M3 12.6c0 2.2 4 4 9 4s9-1.8 9-4\\\" fill=\\\"none\\\" stroke=\\\"var(--kk-opt-bg,#fff)\\\" stroke-width=\\\"1.2\\\"/></g></g></svg>\",\n    indoor: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><path fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5 22.5 11h-2.8v10H4.3V11H1.5L12 2.5ZM10 14.5v6.5h4v-6.5h-4Z\\\"/></svg>\",\n    outdoor: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><g fill=\\\"currentColor\\\"><circle cx=\\\"12\\\" cy=\\\"9\\\" r=\\\"6.8\\\"/><circle cx=\\\"7.2\\\" cy=\\\"12.4\\\" r=\\\"4\\\"/><circle cx=\\\"16.8\\\" cy=\\\"12.4\\\" r=\\\"4\\\"/><rect x=\\\"10.7\\\" y=\\\"13\\\" width=\\\"2.6\\\" height=\\\"8.5\\\" rx=\\\"1\\\"/><rect x=\\\"4\\\" y=\\\"20.4\\\" width=\\\"16\\\" height=\\\"1.8\\\" rx=\\\".9\\\"/></g></svg>\",\n    calm: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><g fill=\\\"currentColor\\\"><rect x=\\\"5\\\" y=\\\"6\\\" width=\\\"14\\\" height=\\\"7.5\\\" rx=\\\"2.5\\\"/><rect x=\\\"1.5\\\" y=\\\"10\\\" width=\\\"4.5\\\" height=\\\"8\\\" rx=\\\"2.2\\\"/><rect x=\\\"18\\\" y=\\\"10\\\" width=\\\"4.5\\\" height=\\\"8\\\" rx=\\\"2.2\\\"/><rect x=\\\"5\\\" y=\\\"13\\\" width=\\\"14\\\" height=\\\"5\\\" rx=\\\"1\\\"/><rect x=\\\"3.5\\\" y=\\\"17.5\\\" width=\\\"2\\\" height=\\\"3\\\" rx=\\\".8\\\"/><rect x=\\\"18.5\\\" y=\\\"17.5\\\" width=\\\"2\\\" height=\\\"3\\\" rx=\\\".8\\\"/></g></svg>\",\n    active: \"<svg viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\"><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"9.5\\\" fill=\\\"currentColor\\\"/><path d=\\\"M4.6 6.4c3.6 2.3 3.6 8.9 0 11.2M19.4 6.4c-3.6 2.3-3.6 8.9 0 11.2\\\" fill=\\\"none\\\" stroke=\\\"var(--kk-opt-bg,#fff)\\\" stroke-width=\\\"1.8\\\" stroke-linecap=\\\"round\\\"/></svg>\",\n  };\n  ICON.both = `<span class=\"kk-start__pair\">${ICON.fish}${ICON.poultry}</span>`;\n  const TINS_PER_RECIPE = 8; // 3 recipes x 8 = 24 tins = one full carton\n\n  class KkStart extends HTMLElement {\n    connectedCallback() {\n      this.data = JSON.parse(this.querySelector('[data-kk-start-data]').textContent);\n      this.t = JSON.parse(this.querySelector('[data-kk-start-strings]').innerHTML);\n      this.body = this.querySelector('[data-kk-body]');\n      this.state = { step: 0, a: {} };\n      this.querySelectorAll('[data-kk-tab]').forEach((b) => b.addEventListener('click', () => this.tab(b.dataset.kkTab)));\n      const known = this.dataset.knownFirst === 'true' || window.location.hash === '#calculator';\n      this.tab(known ? 'known' : 'new');\n      this.render();\n    }\n\n    tab(name) {\n      this.querySelectorAll('[data-kk-tab]').forEach((b) => b.setAttribute('aria-selected', String(b.dataset.kkTab === name)));\n      this.querySelectorAll('[data-kk-panel]').forEach((p) => { p.hidden = p.dataset.kkPanel !== name; });\n    }\n\n    kcal(handle) {\n      const d = this.data[handle];\n      const m = d && String(d.energy || '').match(/(\\d+(?:[.,]\\d+)?)\\s*(?:kcal|calories)/i);\n      return m ? parseFloat(m[1].replace(',', '.')) : 0;\n    }\n\n    steps() {\n      const who = this.state.a.who;\n      const young = who === 'kitten' || who === 'puppy';\n      const pet = who === 'dog' || who === 'puppy' ? 'dog' : 'cat';\n      const list = [{ k: 'who', q: 'q_who', o: [['kitten', ICON.cat, 'who_kitten'], ['cat', ICON.cat, 'who_cat'], ['senior', ICON.cat, 'who_senior'], ['puppy', ICON.dog, 'who_puppy'], ['dog', ICON.dog, 'who_dog']] }];\n      if (who && !young) {\n        list.push({ k: 'weight', q: 'q_weight', o: WEIGHTS[pet].map((w, i, arr) => [String(w), '', `${w}${i === arr.length - 1 ? '+' : ''} kg`]) });\n        list.push(pet === 'cat'\n          ? { k: 'life', q: 'q_life_cat', o: [['calm', ICON.indoor, 'life_indoor'], ['active', ICON.outdoor, 'life_outdoor']] }\n          : { k: 'life', q: 'q_life_dog', o: [['calm', ICON.calm, 'life_calm'], ['active', ICON.active, 'life_active']] });\n      }\n      list.push({ k: 'now', q: 'q_now', o: [['dry', ICON.dry, 'now_dry'], ['wet', ICON.wet, 'now_wet'], ['mix', ICON.mix, 'now_mix']] });\n      list.push({ k: 'taste', q: 'q_taste', o: [['fish', ICON.fish, 'taste_fish'], ['poultry', ICON.poultry, 'taste_poultry'], ['both', ICON.both, 'taste_both']] });\n      return list;\n    }\n\n    render() {\n      const steps = this.steps();\n      const bars = this.querySelectorAll('.kk-start__steps span');\n      const progress = Math.min(4, Math.round(((this.state.step) / steps.length) * 4));\n      bars.forEach((s, i) => s.classList.toggle('is-on', i < Math.max(1, progress)));\n      if (this.state.step >= steps.length) return this.result();\n      const s = steps[this.state.step];\n      const opts = s.o.map(([v, e, label]) => `<button type=\"button\" class=\"kk-start__opt\" data-v=\"${v}\">${e ? `<span class=\"kk-start__e\" aria-hidden=\"true\">${e}</span>` : ''}<span>${this.t[label] || label}</span></button>`).join('');\n      this.body.innerHTML = `<p class=\"kk-start__q\">${this.t[s.q]}</p><div class=\"kk-start__opts${s.k === 'weight' ? ' kk-start__opts--small' : ''}\">${opts}</div>${this.state.step ? `<button type=\"button\" class=\"kk-start__link\" data-back>${this.t.back}</button>` : ''}`;\n      this.body.querySelectorAll('.kk-start__opt').forEach((b) => b.addEventListener('click', () => {\n        this.state.a[s.k] = b.dataset.v;\n        this.state.step += 1;\n        this.render();\n      }));\n      const back = this.body.querySelector('[data-back]');\n      if (back) back.addEventListener('click', () => { this.state.step -= 1; this.render(); });\n    }\n\n    kitUrl() {\n      return this.dataset.kitUrl || '#';\n    }\n\n    card(handle) {\n      // Range on line 1 (\"Senior, \u00E9minc\u00E9\"), tin size on line 2 (\"70 g\"), the same for every card.\n      return ((this.data[handle] && this.data[handle].card) || '')\n        .replace(/(\\d) (g|kg)\\b/g, '$1&nbsp;$2')\n        .replace(/(<span class=\"kk-hcard__range\">[^<]*?) \u00B7 ([^<\u00B7]*\\d&nbsp;k?g)<\\/span>/, '$1<br>$2</span>');\n    }\n\n    // Smallest bag that lasts at least 2 weeks at this daily amount (else the largest).\n    bag(handle, gramsPerDay) {\n      const bags = ((this.data[handle] && this.data[handle].bags) || []).slice().sort((x, y) => x.grams - y.grams);\n      if (!bags.length) return null;\n      if (!gramsPerDay) return bags[0];\n      return bags.find((b) => b.grams / gramsPerDay >= 14) || bags[bags.length - 1];\n    }\n\n    result() {\n      const a = this.state.a;\n      const rule = RULES[a.who];\n      const base = rule.base(a.taste);\n      const top = rule.top(a.taste).filter((h) => this.data[h]);\n      const t = this.t;\n      const young = a.who === 'kitten' || a.who === 'puppy';\n      let amount = '';\n      if (!young && a.weight) {\n        const w = parseFloat(a.weight);\n        const dog = a.who === 'dog';\n        const energy = dog ? (a.life === 'active' ? 110 : 80) * Math.pow(w, 0.75) : (a.life === 'active' ? 115 : 90) * Math.pow(w, 0.67);\n        const kibbleKcal = this.kcal(base) || 370;\n        const tin = this.data[top[0]];\n        const tinKcal = tin ? (this.kcal(top[0]) * tin.grams) / 100 : 0;\n        const grams = Math.max(5, Math.round((((energy - tinKcal) / kibbleKcal) * 100) / 5) * 5);\n        amount = t.amount.replace('__G__', grams);\n        const bag = this.bag(base, grams);\n        this.chosenBag = bag;\n        if (bag && bag.grams) {\n          amount += ' ' + t.lasts.replace('__BAG__', bag.size).replace('__DAYS__', Math.round(bag.grams / grams));\n        }\n      } else {\n        amount = t.amount_young;\n        this.chosenBag = this.bag(base, 0);\n      }\n      let note = '';\n      if (a.now === 'wet') note = t.note_wet;\n      else if (a.now === 'dry') note = t.note_dry;\n      const kit = a.who === 'cat' && a.taste === 'both' && this.data['kookut-wet-food-discovery-set'];\n      this.body.innerHTML = `\n        <div class=\"kk-start__res\">\n          <p class=\"kk-start__title\">${t['res_' + a.who]}</p>\n          <p class=\"kk-start__why\">${t['why_' + a.who]}</p>\n          <p class=\"kk-start__grp\">${t.grp_base}</p>\n          <div class=\"kk-start__cards kk-start__cards--base\">${this.card(base)}</div>\n          <p class=\"kk-start__grp\">${t.grp_top}</p>\n          <div class=\"kk-start__cards\">${top.map((h) => this.card(h)).join('')}</div>\n          <p class=\"kk-start__amount\">${amount} <button type=\"button\" class=\"kk-start__link\" data-adjust>${t.adjust} \u2192</button></p>\n          ${note ? `<p class=\"kk-start__note\">${note}</p>` : ''}\n          <p class=\"kk-start__basket\">${t.basket.replace('__BAG__', (this.chosenBag && this.chosenBag.size) || '')}</p>\n          <div class=\"kk-start__cta\">\n            <button type=\"button\" class=\"kk-btn kk-btn--primary kk-start__add\" data-add>${t.add}</button>\n            <button type=\"button\" class=\"kk-start__link\" data-restart>${t.restart}</button>\n          </div>\n          ${kit ? `<p class=\"kk-start__kit\">${t.kit.replace(/(coffret d\u00E9couverte|discovery set|Probierset|set scoperta)/i, `<a href=\"${this.kitUrl()}\">$1</a>`)}</p>` : ''}\n        </div>`;\n      this.body.querySelector('[data-restart]').addEventListener('click', () => { this.state = { step: 0, a: {} }; this.render(); });\n      this.body.querySelector('[data-adjust]').addEventListener('click', () => this.tab('known'));\n      this.body.querySelector('[data-add]').addEventListener('click', (e) => this.add(e.currentTarget, base, top));\n    }\n\n    add(btn, base, top) {\n      const items = [{ id: (this.chosenBag && this.chosenBag.id) || this.data[base].variant, quantity: 1 }].concat(top.map((h) => ({ id: this.data[h].variant, quantity: TINS_PER_RECIPE })));\n      btn.disabled = true;\n      const root = (window.Shopify && Shopify.routes && Shopify.routes.root) || '/';\n      fetch(root + 'cart/add.js', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n        body: JSON.stringify({ items, sections: 'cart-drawer,cart-icon-bubble' }),\n      })\n        .then((r) => r.json())\n        .then((state) => {\n          btn.disabled = false;\n          const dialog = this.closest('dialog');\n          if (dialog && dialog.open) dialog.close();\n          const drawer = document.querySelector('cart-drawer');\n          if (drawer && drawer.renderContents && state.sections) drawer.renderContents(state);\n          else window.location.href = root + 'cart';\n        })\n        .catch(() => { btn.disabled = false; window.location.href = root + 'cart'; });\n    }\n  }\n  customElements.define('kk-start', KkStart);\n})();\n"],
  "mappings": "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",
  "names": ["s"]
}
