{"id":18852,"date":"2026-07-23T15:50:53","date_gmt":"2026-07-23T15:50:53","guid":{"rendered":"https:\/\/cloudselearning.com\/gourmet4pattes\/?page_id=18852"},"modified":"2026-07-23T15:50:53","modified_gmt":"2026-07-23T15:50:53","slug":"food-cal-en","status":"publish","type":"page","link":"https:\/\/cloudselearning.com\/gourmet4pattes\/en\/food-cal-en\/","title":{"rendered":"Food Cal EN"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"18852\" class=\"elementor elementor-18852\" wpc-filter-elementor-widget=\"1\">\n\t\t\t\t<div class=\"elementor-element elementor-element-24af564 e-flex e-con-boxed e-con e-parent\" data-id=\"24af564\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-2d0ec9d e-con-full e-flex e-con e-child\" data-id=\"2d0ec9d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-300b242 elementor-widget elementor-widget-heading\" data-id=\"300b242\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our food recipes<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fed1777 elementor-widget elementor-widget-heading\" data-id=\"fed1777\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Calculator<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7bb590ac e-flex e-con-boxed e-con e-parent\" data-id=\"7bb590ac\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c8a9bb elementor-widget elementor-widget-shortcode\" data-id=\"5c8a9bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><section class=\"recipeCalc\" id=\"recipeCalc\">\n\n    <!-- Recipe Cards -->\n    <div class=\"recipeCalc__cardsRow\">\n        <div class=\"recipeCalc__card\" data-recipe=\"turkey\">\n                <div class=\"recipeCalc__cardImage\"><img decoding=\"async\" src=\"http:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/recipe-food-image.png\" alt=\"DINDE \/ TURKEY\"><\/div>\n                <div class=\"recipeCalc__cardContent\">\n                    <h3 class=\"recipeCalc__cardTitle\">DINDE \/ TURKEY<\/h3>\n                    <button class=\"recipeCalc__cardBtn\">voir recette<\/button>\n                <\/div>\n            <\/div>\n<div class=\"recipeCalc__card\" data-recipe=\"horse\">\n                <div class=\"recipeCalc__cardImage\"><img decoding=\"async\" src=\"http:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/recipe-food-image.png\" alt=\"VIANDE CHEVALINE \/ HORSE\"><\/div>\n                <div class=\"recipeCalc__cardContent\">\n                    <h3 class=\"recipeCalc__cardTitle\">VIANDE CHEVALINE \/ HORSE<\/h3>\n                    <button class=\"recipeCalc__cardBtn\">voir recette<\/button>\n                <\/div>\n            <\/div>\n<div class=\"recipeCalc__card\" data-recipe=\"chicken\">\n                <div class=\"recipeCalc__cardImage\"><img decoding=\"async\" src=\"http:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/recipe-food-image.png\" alt=\"POULET \/ CHICKEN\"><\/div>\n                <div class=\"recipeCalc__cardContent\">\n                    <h3 class=\"recipeCalc__cardTitle\">POULET \/ CHICKEN<\/h3>\n                    <button class=\"recipeCalc__cardBtn\">voir recette<\/button>\n                <\/div>\n            <\/div>\n<div class=\"recipeCalc__card\" data-recipe=\"beef\">\n                <div class=\"recipeCalc__cardImage\"><img decoding=\"async\" src=\"http:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/recipe-food-image.png\" alt=\"BOEUF \/ BEEF\"><\/div>\n                <div class=\"recipeCalc__cardContent\">\n                    <h3 class=\"recipeCalc__cardTitle\">BOEUF \/ BEEF<\/h3>\n                    <button class=\"recipeCalc__cardBtn\">voir recette<\/button>\n                <\/div>\n            <\/div>    <\/div>\n\n    <!-- Calculator -->\n    <div class=\"recipeCalc__calculator\" id=\"g4pCalculator\" style=\"display:none;\">\n\n        <div class=\"recipeCalc__calcHeader\">\n            <h2 class=\"recipeCalc__calcTitle\" id=\"g4pCalcTitle\"><\/h2>\n            <p class=\"recipeCalc__calcSubtitle\" id=\"g4pCalcSubtitle\"><\/p>\n        <\/div>\n\n        <div class=\"recipeCalc__sliderSection\">\n\n            <div class=\"recipeCalc__dogsRow\">\n                <div class=\"recipeCalc__dogMarker\" id=\"g4pMainDog\">\n                    <div class=\"recipeCalc__dogIcon\">\n                        <img decoding=\"async\" src=\"\" alt=\"Dog\" id=\"g4pDogImg\">\n                    <\/div>\n                    <div class=\"recipeCalc__dogControls\">\n                        <span class=\"recipeCalc__arrow recipeCalc__arrow--left\"><\/span>\n                        <span class=\"recipeCalc__dogLabel\" id=\"g4pDogLabel\">15 lbs<\/span>\n                        <span class=\"recipeCalc__arrow recipeCalc__arrow--right\"><\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"recipeCalc__trackRow\">\n                <div class=\"recipeCalc__trackDot\"><\/div>\n                <div class=\"recipeCalc__trackLine\"><\/div>\n                <div class=\"recipeCalc__monthlyPrice\" id=\"g4pMonthly\">$192\/mois<\/div>\n            <\/div>\n\n            <div class=\"recipeCalc__infoRow\">\n                <div class=\"recipeCalc__dogInfo\" id=\"g4pDogInfo\">\n                    <div class=\"recipeCalc__dogPrice\" id=\"g4pDogPrice\">$6.39\/jour<\/div>\n                    <div class=\"recipeCalc__dogServings\" id=\"g4pDogServings\">3 GALETTES PAR JOUR<\/div>\n                    <div class=\"recipeCalc__pattyWrap\">\n                        <div class=\"recipeCalc__pattyBadge\" id=\"g4pPattyBadge\">3x<\/div>\n                        <img decoding=\"async\" class=\"recipeCalc__pattyImg\" src=\"\" alt=\"Patty\" id=\"g4pPattyImg\">\n                    <\/div>\n                <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n\n<\/section>\n\n<style>\n* { box-sizing: border-box; }\n\n.recipeCalc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 40px auto;\n    font-family: 'Lato', system-ui, -apple-system, sans-serif;\n    padding: 0 20px;\n}\n\n\/* Cards Row *\/\n.recipeCalc__cardsRow {\n    display: flex;\n    gap: 26px;\n    margin-bottom: 40px;\n    justify-content: flex-start;\n    flex-wrap: wrap;\n    max-width: 1200px;\n    margin-left: auto;\n    margin-right: auto;\n}\n\n.recipeCalc__card {\n    background: #fff;\n    border: 1px solid #e8e8e8;\n    border-radius: 12px;\n    overflow: hidden;\n    cursor: pointer;\n    transition: all 0.3s ease;\n    display: flex;\n    flex-direction: column;\n    box-shadow: 0 2px 8px rgba(0,0,0,0.08);\n    width: 280px;\n    flex-shrink: 0;\n}\n\n.recipeCalc__card:hover {\n    transform: translateY(-4px);\n    box-shadow: 0 8px 20px rgba(0,0,0,0.12);\n    border-color: #ddd;\n}\n\n.recipeCalc__card.active .recipeCalc__cardContent {\n    background: linear-gradient(135deg, #ff9500 0%, #ffb84d 100%) !important;\n    padding-bottom: 30px;\n}\n\n.recipeCalc__cardImage { width:100%; height:200px; overflow:hidden; background:#f5f5f5; }\n.recipeCalc__cardImage img { width:100%; height:100%; object-fit:cover; display:block; }\n\n.recipeCalc__cardContent {\n    padding: 24px 20px 28px;\n    background: #fff;\n    transition: background 0.3s ease;\n    border-bottom-left-radius: 12px;\n    border-bottom-right-radius: 12px;\n}\n\n.recipeCalc__cardTitle {\n    font-size: 16px;\n    font-weight: 700;\n    margin: 0 0 20px 0;\n    color: #555;\n    line-height: 1.4;\n    min-height: 44px;\n    display: flex;\n    align-items: center;\n}\n\n.recipeCalc__card.active .recipeCalc__cardTitle { color: #fff; }\n\n.recipeCalc__cardBtn {\n    background: #fff !important;\n    border: 2px solid #d4604a !important;\n    color: #d4604a !important;\n    font-weight: 700 !important;\n    font-size: 13px !important;\n    padding: 11px 32px !important;\n    border-radius: 25px !important;\n    cursor: pointer !important;\n    transition: all 0.3s ease !important;\n    font-family: 'Lato', sans-serif !important;\n    text-transform: uppercase !important;\n    letter-spacing: 0.5px !important;\n    display: inline-block !important;\n    text-decoration: none !important;\n    box-shadow: none !important;\n}\n\n.recipeCalc__cardBtn:hover { background: #d4604a !important; color: #fff !important; }\n.recipeCalc__card.active .recipeCalc__cardBtn { background: #fff !important; border-color: #fff !important; color: #ff9500 !important; }\n\n\/* Calculator box *\/\n.recipeCalc__calculator {\n    background: #fff;\n    border-radius: 20px;\n    padding: 50px 60px 60px;\n    position: relative;\n    box-shadow: 0 4px 16px rgba(0,0,0,0.08);\n    max-width: 1200px;\n    margin-left: auto;\n    margin-right: auto;\n}\n\n.recipeCalc__calculator::before {\n    content: '';\n    position: absolute;\n    top: -20px; left: 140px;\n    width: 0; height: 0;\n    border-left: 20px solid transparent;\n    border-right: 20px solid transparent;\n    border-bottom: 20px solid #fff;\n    filter: drop-shadow(0 -2px 4px rgba(0,0,0,0.08));\n    transition: left 0.3s ease;\n}\n\n.recipeCalc__calcHeader { margin-bottom: 60px; }\n.recipeCalc__calcTitle { font-size: 28px; font-weight: 700; color: #111; margin: 0 0 8px 0; }\n.recipeCalc__calcSubtitle { font-size: 16px; color: #666; margin: 0; font-weight: 400; }\n\n\/* Slider *\/\n.recipeCalc__sliderSection { position: relative; padding: 0 60px; }\n.recipeCalc__dogsRow { position: relative; height: 140px; margin-bottom: 10px; }\n\n.recipeCalc__dogMarker {\n    position: absolute;\n    display: flex; flex-direction: column; align-items: center;\n    cursor: grab; user-select: none; z-index: 10; top: 0;\n    transform: translateX(-50%);\n    transition: left 0.4s cubic-bezier(0.4,0,0.2,1);\n}\n.recipeCalc__dogMarker:active { cursor: grabbing; }\n\n.recipeCalc__dogIcon {\n    width: 90px; height: 90px;\n    display: flex; align-items: center; justify-content: center;\n    margin-bottom: 8px;\n    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);\n    transform-origin: center center;\n}\n.recipeCalc__dogIcon img { width: 80px; height: auto; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)); }\n\n.recipeCalc__dogControls { display: flex; align-items: center; gap: 10px; }\n\n.recipeCalc__arrow img.emoji { display:none !important; visibility:hidden !important; }\n\n.recipeCalc__arrow {\n    all: unset !important;\n    font-size: 28px !important; color: #111 !important; font-weight: bold !important;\n    cursor: pointer !important; user-select: none !important;\n    padding: 5px 8px !important;\n    display: inline-flex !important; align-items: center !important; justify-content: center !important;\n    background: none !important; background-color: transparent !important;\n    border: none !important; box-shadow: none !important; outline: none !important;\n    text-decoration: none !important; line-height: 1 !important;\n    min-width: auto !important; min-height: auto !important;\n    font-family: 'Lato', sans-serif !important;\n    transition: all 0.2s ease !important;\n}\n.recipeCalc__arrow--left::after  { content: '\u25c0' !important; }\n.recipeCalc__arrow--right::after { content: '\u25b6' !important; }\n.recipeCalc__arrow:hover { transform: scale(1.2) !important; color: #ff9500 !important; background: none !important; border: none !important; }\n.recipeCalc__arrow:active, .recipeCalc__arrow:focus { transform: scale(1) !important; background: none !important; border: none !important; outline: none !important; }\n\n.recipeCalc__dogLabel { font-size: 20px; font-weight: 700; color: #111; min-width: 60px; text-align: center; }\n\n\/* Track *\/\n.recipeCalc__trackRow {\n    position: relative; height: 3px;\n    display: flex; align-items: center;\n    margin-bottom: 20px;\n}\n.recipeCalc__trackDot { width:10px; height:10px; background:#111; border-radius:50%; flex-shrink:0; margin-right:5px; }\n.recipeCalc__trackLine { flex:1; height:3px; background:#111; margin-right:20px; }\n.recipeCalc__monthlyPrice { font-size:28px; font-weight:900; color:#111; white-space:nowrap; flex-shrink:0; }\n\n\/* Info row *\/\n.recipeCalc__infoRow { position:relative; height:200px; padding-left:15px; }\n.recipeCalc__dogInfo {\n    position: absolute;\n    display: flex; flex-direction: column; align-items: center; text-align: center;\n    transform: translateX(-50%);\n    transition: left 0.4s cubic-bezier(0.4,0,0.2,1);\n}\n.recipeCalc__dogPrice { font-size:26px; font-weight:700; color:#111; margin-bottom:6px; }\n.recipeCalc__dogServings { font-size:13px; font-weight:700; color:#ff9500; line-height:1.2; white-space:nowrap; margin-bottom:24px; }\n\n\/* Patty *\/\n.recipeCalc__pattyWrap { position:relative; display:inline-block; }\n.recipeCalc__pattyImg { width:100px; height:auto; display:block; }\n.recipeCalc__pattyBadge {\n    position: absolute; top:-12px; left:-16px;\n    background: #ee303d; color: #fff;\n    font-size:15px; font-weight:900;\n    border-radius:50%; width:38px; height:38px;\n    display:flex; align-items:center; justify-content:center;\n    font-family:'Lato',sans-serif; z-index:2;\n    box-shadow:0 2px 6px rgba(238,48,61,0.4);\n    transition:transform 0.2s ease;\n}\n\n\/* Responsive *\/\n@media (max-width:1100px){ .recipeCalc__cardsRow{ flex-wrap:wrap; max-width:100%; } .recipeCalc__calculator{ max-width:100%; } }\n@media (max-width:900px){ .recipeCalc{padding:0 15px;} .recipeCalc__card{width:calc(50% - 15px);} .recipeCalc__calculator{padding:40px 30px 50px;} .recipeCalc__calcTitle{font-size:24px;} .recipeCalc__sliderSection{padding:0 40px;} }\n@media (max-width:768px){ .recipeCalc{padding:0 10px;margin:20px auto;} .recipeCalc__cardsRow{gap:15px;margin-bottom:30px;} .recipeCalc__card{width:calc(50% - 7.5px);} .recipeCalc__cardImage{height:140px;} .recipeCalc__cardContent{padding:18px 15px 22px;} .recipeCalc__cardTitle{font-size:14px;min-height:36px;margin-bottom:15px;} .recipeCalc__cardBtn{font-size:11px !important;padding:9px 24px !important;} .recipeCalc__calculator{padding:30px 20px 40px;} .recipeCalc__calculator::before{display:none !important;} .recipeCalc__calcTitle{font-size:22px;} .recipeCalc__sliderSection{padding:0 30px;} .recipeCalc__dogIcon{width:80px;height:80px;} .recipeCalc__dogIcon img{width:70px;} .recipeCalc__arrow{font-size:24px !important;padding:4px 6px !important;} .recipeCalc__dogLabel{font-size:18px;min-width:70px;} .recipeCalc__monthlyPrice{font-size:24px;} .recipeCalc__dogPrice{font-size:22px;} .recipeCalc__dogServings{font-size:12px;} .recipeCalc__pattyImg{width:80px;} .recipeCalc__pattyBadge{width:32px;height:32px;font-size:13px;top:-10px;left:-12px;} }\n@media (max-width:640px){ .recipeCalc__card{width:100%;max-width:350px;margin:0 auto;} .recipeCalc__cardsRow{justify-content:center;} .recipeCalc__sliderSection{padding:0 20px;} }\n@media (max-width:480px){ .recipeCalc__calculator{padding:25px 15px 35px;} .recipeCalc__calcTitle{font-size:20px;} .recipeCalc__sliderSection{padding:0 15px;} .recipeCalc__dogIcon{width:70px;height:70px;} .recipeCalc__dogIcon img{width:60px;} .recipeCalc__arrow{font-size:20px !important;padding:3px 5px !important;} .recipeCalc__dogLabel{font-size:16px;min-width:60px;} .recipeCalc__monthlyPrice{font-size:20px;} .recipeCalc__dogPrice{font-size:20px;} .recipeCalc__dogServings{font-size:11px;} .recipeCalc__pattyImg{width:70px;} .recipeCalc__pattyBadge{width:28px;height:28px;font-size:11px;top:-8px;left:-10px;} }\n<\/style>\n\n<script>\n(function(){\n    var recipeData  = {\"turkey\":{\"name\":\"DINDE \\\/ TURKEY\",\"subtitle\":\"Pour chiens adultes qui p\\u00e8sent 10-20 LBS\",\"minWeight\":10,\"maxWeight\":20,\"pattyImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Patty.png\",\"dogImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/dog.png\",\"weights\":[{\"weight\":10,\"price_serving\":4.26,\"servings_per_day\":2,\"price_monthly\":127.8},{\"weight\":15,\"price_serving\":6.39,\"servings_per_day\":3,\"price_monthly\":191.7},{\"weight\":20,\"price_serving\":8.52,\"servings_per_day\":4,\"price_monthly\":255.6}]},\"horse\":{\"name\":\"VIANDE CHEVALINE \\\/ HORSE\",\"subtitle\":\"Pour chiens adultes qui p\\u00e8sent 40-100 LBS\",\"minWeight\":40,\"maxWeight\":100,\"pattyImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Patty.png\",\"dogImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/dog.png\",\"weights\":[{\"weight\":40,\"price_serving\":9.75,\"servings_per_day\":3,\"price_monthly\":292.5},{\"weight\":50,\"price_serving\":13,\"servings_per_day\":4,\"price_monthly\":390},{\"weight\":60,\"price_serving\":16.25,\"servings_per_day\":5,\"price_monthly\":487.5},{\"weight\":70,\"price_serving\":19.5,\"servings_per_day\":6,\"price_monthly\":585},{\"weight\":80,\"price_serving\":22.75,\"servings_per_day\":7,\"price_monthly\":682.5},{\"weight\":90,\"price_serving\":26,\"servings_per_day\":8,\"price_monthly\":780},{\"weight\":100,\"price_serving\":29.25,\"servings_per_day\":9,\"price_monthly\":877.5}]},\"chicken\":{\"name\":\"POULET \\\/ CHICKEN\",\"subtitle\":\"Pour chiens adultes qui p\\u00e8sent 40-80 LBS\",\"minWeight\":40,\"maxWeight\":80,\"pattyImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Patty.png\",\"dogImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/dog.png\",\"weights\":[{\"weight\":40,\"price_serving\":8.25,\"servings_per_day\":3,\"price_monthly\":247.5},{\"weight\":50,\"price_serving\":11,\"servings_per_day\":4,\"price_monthly\":330},{\"weight\":60,\"price_serving\":13.75,\"servings_per_day\":5,\"price_monthly\":412.5},{\"weight\":70,\"price_serving\":16.5,\"servings_per_day\":6,\"price_monthly\":495},{\"weight\":80,\"price_serving\":19.25,\"servings_per_day\":7,\"price_monthly\":577.5}]},\"beef\":{\"name\":\"BOEUF \\\/ BEEF\",\"subtitle\":\"Pour chiens adultes qui p\\u00e8sent 40-80 LBS\",\"minWeight\":40,\"maxWeight\":80,\"pattyImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Patty.png\",\"dogImage\":\"http:\\\/\\\/cloudselearning.com\\\/gourmet4pattes\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/dog.png\",\"weights\":[{\"weight\":40,\"price_serving\":9.75,\"servings_per_day\":3,\"price_monthly\":292.5},{\"weight\":50,\"price_serving\":13,\"servings_per_day\":4,\"price_monthly\":390},{\"weight\":60,\"price_serving\":16.25,\"servings_per_day\":5,\"price_monthly\":487.5},{\"weight\":70,\"price_serving\":19.5,\"servings_per_day\":6,\"price_monthly\":585},{\"weight\":80,\"price_serving\":22.75,\"servings_per_day\":7,\"price_monthly\":682.5}]}};\n    var lblPerDay   = \"\\\/jour\";\n    var lblGalette  = \"GALETTES PAR JOUR\";\n    var lblMonth    = \"\\\/mois\";\n    var firstSlug   = \"turkey\";\n\n    var currentRecipe = firstSlug;\n    var dogWeight     = 0;\n    var isDragging    = false;\n    var EDGE_PAD      = 40;\n\n    \/\/ Scope all DOM lookups to #recipeCalc\n    var root     = document.getElementById('recipeCalc');\n    var cards    = root.querySelectorAll('.recipeCalc__card');\n    var calc     = document.getElementById('g4pCalculator');\n    var title    = document.getElementById('g4pCalcTitle');\n    var subtitle = document.getElementById('g4pCalcSubtitle');\n    var mainDog  = document.getElementById('g4pMainDog');\n    var dogLabel = document.getElementById('g4pDogLabel');\n    var dogInfo  = document.getElementById('g4pDogInfo');\n    var dogPrice = document.getElementById('g4pDogPrice');\n    var dogServ  = document.getElementById('g4pDogServings');\n    var badge    = document.getElementById('g4pPattyBadge');\n    var pattyImg = document.getElementById('g4pPattyImg');\n    var dogImg   = document.getElementById('g4pDogImg');\n    var monthly  = document.getElementById('g4pMonthly');\n    var dogsRow  = root.querySelector('.recipeCalc__dogsRow');\n    var trackRow = root.querySelector('.recipeCalc__trackRow');\n\n    function getTrackWidth(){\n        var r = trackRow.getBoundingClientRect();\n        return r.width - 15 - (monthly.offsetWidth + 20) - (EDGE_PAD * 2);\n    }\n\n    function getAvailableWeights(){\n        return recipeData[currentRecipe].weights.map(function(w){ return w.weight; });\n    }\n\n    function snapToNearest(target){\n        var avail = getAvailableWeights();\n        var best  = avail[0];\n        var minD  = Math.abs(avail[0] - target);\n        for(var i=1;i<avail.length;i++){\n            var d = Math.abs(avail[i]-target);\n            if(d<minD){ minD=d; best=avail[i]; }\n        }\n        return best;\n    }\n\n    function getExactData(weight){\n        var ws = recipeData[currentRecipe].weights;\n        var best=ws[0], minD=Math.abs(ws[0].weight-weight);\n        for(var i=0;i<ws.length;i++){\n            if(ws[i].weight===weight) return ws[i];\n            var d=Math.abs(ws[i].weight-weight);\n            if(d<minD){ minD=d; best=ws[i]; }\n        }\n        return best;\n    }\n\n    function getDogScale(weight){\n        var d   = recipeData[currentRecipe];\n        var rng = d.maxWeight - d.minWeight;\n        var pos = (weight - d.minWeight) \/ rng;\n        return 0.7 + (pos * 0.6);\n    }\n\n    function updateDisplay(){\n        dogWeight = snapToNearest(dogWeight);\n\n        var d      = recipeData[currentRecipe];\n        var rng    = d.maxWeight - d.minWeight;\n        var tw     = getTrackWidth();\n        var offset = 15 + EDGE_PAD;\n        var pct    = (dogWeight - d.minWeight) \/ rng;\n        var pos    = offset + (pct * tw);\n\n        mainDog.style.left = pos + 'px';\n        dogInfo.style.left = pos + 'px';\n\n        var icon = mainDog.querySelector('.recipeCalc__dogIcon');\n        if(icon) icon.style.transform = 'scale('+getDogScale(dogWeight)+')';\n\n        dogLabel.textContent = dogWeight + ' lbs';\n\n        var data = getExactData(dogWeight);\n        dogPrice.textContent = '$' + data.price_serving.toFixed(2) + lblPerDay;\n        dogServ.textContent  = data.servings_per_day + ' ' + lblGalette;\n        monthly.textContent  = '$' + Math.round(data.price_monthly) + lblMonth;\n\n        badge.textContent       = data.servings_per_day + 'x';\n        badge.style.transform   = 'scale(1.3)';\n        setTimeout(function(){ badge.style.transform='scale(1)'; }, 200);\n    }\n\n    function decrease(){\n        var avail = getAvailableWeights();\n        var idx   = avail.indexOf(dogWeight);\n        if(idx>0){ dogWeight=avail[idx-1]; updateDisplay(); }\n    }\n\n    function increase(){\n        var avail = getAvailableWeights();\n        var idx   = avail.indexOf(dogWeight);\n        if(idx<avail.length-1){ dogWeight=avail[idx+1]; updateDisplay(); }\n    }\n\n    function dragStart(e){\n        isDragging=true;\n        mainDog.style.transition='none';\n        dogInfo.style.transition='none';\n        e.preventDefault();\n    }\n\n    function dragMove(e){\n        if(!isDragging) return;\n        e.preventDefault();\n        var cx    = e.type.indexOf('touch')!==-1 ? e.touches[0].clientX : e.clientX;\n        var d     = recipeData[currentRecipe];\n        var rng   = d.maxWeight - d.minWeight;\n        var r     = dogsRow.getBoundingClientRect();\n        var tw    = getTrackWidth();\n        var offset= 15 + EDGE_PAD;\n        var pct   = Math.max(0, Math.min(1, (cx - r.left - offset) \/ tw));\n        dogWeight = snapToNearest(Math.round(d.minWeight + pct * rng));\n        updateDisplay();\n    }\n\n    function dragEnd(){\n        if(isDragging){\n            mainDog.style.transition='left 0.4s cubic-bezier(0.4,0,0.2,1)';\n            dogInfo.style.transition='left 0.4s cubic-bezier(0.4,0,0.2,1)';\n        }\n        isDragging=false;\n    }\n\n    function getArrowLeft(index){\n        return 140 + (index * 306);\n    }\n\n    function selectRecipe(slug, cardIndex){\n        currentRecipe = slug;\n        var d = recipeData[slug];\n\n        cards.forEach(function(c){ c.classList.remove('active'); });\n        root.querySelector('[data-recipe=\"'+slug+'\"]').classList.add('active');\n\n        title.textContent    = d.name;\n        subtitle.textContent = d.subtitle;\n        calc.setAttribute('data-recipe', slug);\n\n        \/\/ Dynamic arrow pointer position\n        calc.style.setProperty('--g4p-arrow', getArrowLeft(cardIndex)+'px');\n\n        \/\/ Update images\n        if(dogImg)   dogImg.src   = d.dogImage;\n        if(pattyImg) pattyImg.src = d.pattyImage;\n\n        var avail = d.weights.map(function(w){ return w.weight; });\n        dogWeight = avail[Math.floor(avail.length\/2)];\n\n        calc.style.display = 'block';\n        setTimeout(function(){ updateDisplay(); }, 50);\n    }\n\n    \/\/ Dynamic arrow via CSS custom property\n    var styleEl = document.createElement('style');\n    styleEl.textContent = '#g4pCalculator::before { left: var(--g4p-arrow, 140px) !important; }';\n    document.head.appendChild(styleEl);\n\n    cards.forEach(function(card, idx){\n        card.addEventListener('click', function(){\n            selectRecipe(this.getAttribute('data-recipe'), idx);\n        });\n    });\n\n    var arrowL = root.querySelector('.recipeCalc__arrow--left');\n    var arrowR = root.querySelector('.recipeCalc__arrow--right');\n    if(arrowL) arrowL.addEventListener('click', decrease);\n    if(arrowR) arrowR.addEventListener('click', increase);\n\n    mainDog.addEventListener('mousedown',  dragStart);\n    mainDog.addEventListener('touchstart', dragStart, {passive:false});\n    document.addEventListener('mousemove', dragMove);\n    document.addEventListener('touchmove', dragMove, {passive:false});\n    document.addEventListener('mouseup',   dragEnd);\n    document.addEventListener('touchend',  dragEnd);\n    window.addEventListener('resize', function(){ updateDisplay(); });\n\n    selectRecipe(firstSlug, 0);\n})();\n<\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5ff06012 e-con-full e-flex e-con e-parent\" data-id=\"5ff06012\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-23cee403 e-con-full e-flex e-con e-child\" data-id=\"23cee403\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4f31e350 elementor-widget elementor-widget-image\" data-id=\"4f31e350\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2560\" height=\"935\" src=\"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-scaled.png\" class=\"attachment-full size-full wp-image-18108\" alt=\"\" srcset=\"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-scaled.png 2560w, https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-300x110.png 300w, https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-1024x374.png 1024w, https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-768x280.png 768w, https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-1536x561.png 1536w, https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-2048x748.png 2048w, https:\/\/cloudselearning.com\/gourmet4pattes\/wp-content\/uploads\/2026\/05\/Image_@2x-1-1000x365.png 1000w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_bst_post_transparent":"default","_bst_post_title":"default","_bst_post_layout":"default","_bst_post_sidebar_id":"","_bst_post_content_style":"default","_bst_post_vertical_padding":"default","_bst_post_feature":"","_bst_post_feature_position":"","_bst_post_header":false,"_bst_post_footer":false,"footnotes":""},"class_list":["post-18852","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/pages\/18852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/comments?post=18852"}],"version-history":[{"count":1,"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/pages\/18852\/revisions"}],"predecessor-version":[{"id":18853,"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/pages\/18852\/revisions\/18853"}],"wp:attachment":[{"href":"https:\/\/cloudselearning.com\/gourmet4pattes\/wp-json\/wp\/v2\/media?parent=18852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}