[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-calculateur-eau-animaux-ete-fr":83,"footer-cities-fr":126},[4,14,22,30,38,45,53,60,67,75],{"seo_content":5,"id":8,"name":9,"slug":10,"parentId":7,"lang":11,"_count":12},[6],{"page_slug":7},null,"cmkzhl7xm00dbulbc93h4qog5","Juridique","avocats","fr-FR",{"experts":13},8,{"seo_content":15,"id":17,"name":18,"slug":19,"parentId":7,"lang":11,"_count":20},[16],{"page_slug":7},"cmkzhl84700djulbcbv6pzu9e","Informatique","informaticiens",{"experts":21},3,{"seo_content":23,"id":25,"name":26,"slug":27,"parentId":7,"lang":11,"_count":28},[24],{"page_slug":7},"cmkzhlaos00gnulbc07i9jrco","Amélioration de la Maison","artisans",{"experts":29},4,{"seo_content":31,"id":33,"name":34,"slug":35,"parentId":7,"lang":11,"_count":36},[32],{"page_slug":7},"cmkzhlaqg00gpulbcx38bwoc2","Général","divers-generalistes",{"experts":37},0,{"seo_content":39,"id":41,"name":42,"slug":43,"parentId":7,"lang":11,"_count":44},[40],{"page_slug":7},"cmkzhlbvq00i3ulbcutdbcz50","Électronique Grand Public","techniciens-electronique",{"experts":21},{"seo_content":46,"id":48,"name":49,"slug":50,"parentId":7,"lang":11,"_count":51},[47],{"page_slug":7},"cmkzhlcaw00ilulbc38pxoogr","Santé","medecins",{"experts":52},5,{"seo_content":54,"id":56,"name":57,"slug":58,"parentId":7,"lang":11,"_count":59},[55],{"page_slug":7},"cmkzhlcmi00izulbcxva1m47f","Gestion de Patrimoine","conseillers-patrimoniaux",{"experts":21},{"seo_content":61,"id":63,"name":64,"slug":65,"parentId":7,"lang":11,"_count":66},[62],{"page_slug":7},"cmkzhldcv00jvulbcmcd5a7mk","Animaux et Vétérinaires","veterinaires",{"experts":21},{"seo_content":68,"id":70,"name":71,"slug":72,"parentId":7,"lang":11,"_count":73},[69],{"page_slug":7},"cmkzhldrr00kdulbchxfo67eg","Mécanique et Réparation","mecaniciens",{"experts":74},1,{"seo_content":76,"id":78,"name":79,"slug":80,"parentId":7,"lang":11,"_count":81},[77],{"page_slug":7},"cmkzhl9l300fbulbcv3i8q8p3","Aide aux Devoirs","professeurs-particuliers",{"experts":82},6,{"slug":84,"title":85,"page_title":86,"description":87,"content_md":88,"local_slug":84,"json_ld":89,"faq":104,"tool_html":120,"source":121,"category":122,"audience":123,"publish_mode":124,"hero_image":125,"hero_image_alt":85},"calculateur-eau-animaux-ete","Calculateur de besoins en eau pour animaux en été","Calculateur eau animaux été : chien, chat, lapin — Expert Zoom","Calculez la quantité d'eau quotidienne recommandée pour votre chien, chat, lapin ou rongeur selon son poids et les conditions de chaleur estivales.","Cet outil calcule les besoins en eau journaliers de votre animal de compagnie pendant l'été, en tenant compte du poids, de l'espèce, du niveau d'activité et des fortes chaleurs. Basé sur les formules de référence vétérinaires (50 ml\u002Fkg\u002Fjour pour le chien et le chat, 80 ml\u002Fkg\u002Fjour pour le lapin), il intègre une majoration de 20 % par temps de canicule. Idéal pour éviter la déshydratation silencieuse, première cause de complications vétérinaires estivales.",[90],{"name":85,"@type":91,"offers":92,"@context":96,"audience":97,"inLanguage":100,"description":101,"operatingSystem":102,"applicationCategory":103},"WebApplication",{"@type":93,"price":94,"priceCurrency":95},"Offer","0","EUR","https:\u002F\u002Fschema.org",{"@type":98,"audienceType":99},"Audience","Propriétaires d'animaux de compagnie","fr","Estimez la quantité d'eau quotidienne nécessaire pour votre chien, chat, lapin ou rongeur selon son poids et les conditions estivales.","All","HealthApplication",[105,108,111,114,117],{"a":106,"q":107},"En conditions normales, un chien boit environ 50 ml par kg de poids corporel par jour. Par temps de canicule (au-dessus de 30 °C), ce besoin monte à 60 ml\u002Fkg\u002Fjour, soit une augmentation de 20 %.","Combien de millilitres d'eau par kg doit boire un chien par jour en été ?",{"a":109,"q":110},"Oui. Les croquettes apportent très peu d'humidité (environ 8–10 %), contrairement à la pâtée (environ 80 %). Un chat nourri aux croquettes doit avoir en permanence de l'eau fraîche en libre accès, avec des bols supplémentaires en période de chaleur.","Mon chat mange des croquettes sèches — doit-il boire plus en été ?",{"a":112,"q":113},"Un lapin boit environ 80 ml par kg de poids corporel par jour. Pour un lapin de 2 kg, cela représente environ 160 ml\u002Fjour, à augmenter de 20 % pendant la canicule, soit 190 ml minimum.","Combien d'eau faut-il donner à un lapin par jour ?",{"a":115,"q":116},"Pincez doucement la peau du cou. Si elle ne reprend pas sa place en moins d'une seconde, l'animal est probablement déshydraté. Les gencives sèches ou collantes sont également un signe d'alerte. Consultez votre vétérinaire.","Comment savoir si mon animal est déshydraté ?",{"a":118,"q":119},"En été, changez l'eau au minimum 2 à 3 fois par jour et rincez le bol à chaque fois. Une eau tiède est moins appétente et favorise la prolifération bactérienne. Placez les bols à l'ombre pour garder l'eau fraîche plus longtemps.","À quelle fréquence changer l'eau du bol en été ?","\u003C!DOCTYPE html>\n\u003Chtml lang=\"fr\">\n\u003Chead>\n  \u003Cmeta charset=\"utf-8\">\n  \u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  \u003Cscript src=\"https:\u002F\u002Funpkg.com\u002Flucide@latest\u002Fdist\u002Fumd\u002Flucide.min.js\">\u003C\u002Fscript>\n  \u003Cstyle>\n    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n    :root{\n      --bg:#fafaf9;--card:#fff;--border:#e7e5e4;--text:#1c1917;--muted:#78716c;\n      --accent:#2563eb;--accent-light:#dbeafe;--accent-text:#1e40af;\n      --green:#16a34a;--green-bg:#dcfce7;--green-text:#166534;\n      --amber:#d97706;--amber-bg:#fef3c7;--amber-text:#92400e;\n      --blue:#0284c7;--blue-bg:#e0f2fe;--blue-text:#0c4a6e;\n      --radius:0.75rem;\n    }\n    body{background:var(--bg);font-family:system-ui,-apple-system,sans-serif;color:var(--text);font-size:15px;line-height:1.5;padding:0}\n    .tool-root{max-width:640px;margin:0 auto;padding:1.25rem 1rem 1.5rem}\n    .tool-header{margin-bottom:1.25rem}\n    .tool-title{font-size:1.15rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}\n    .tool-title i{color:var(--accent);flex-shrink:0}\n    .tool-subtitle{font-size:.875rem;color:var(--muted)}\n    .tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--border);margin-bottom:1.25rem}\n    .tab-btn{background:none;border:none;padding:.5rem .9rem;font-size:.875rem;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}\n    .tab-btn:hover{color:var(--text)}\n    .tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}\n    .panel{display:none}\n    .panel.active{display:block}\n    label{display:block;font-size:.8125rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;margin-top:1rem}\n    label:first-child{margin-top:0}\n    select{width:100%;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:.5rem;background:var(--card);color:var(--text);font-size:.9375rem;cursor:pointer;appearance:none;background-image:url(\"data:image\u002Fsvg+xml,%3Csvg xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'\u002F%3E%3C\u002Fsvg%3E\");background-repeat:no-repeat;background-position:right .75rem center}\n    select:focus{outline:none;border-color:var(--accent)}\n    .slider-wrap{display:flex;align-items:center;gap:.75rem}\n    input[type=range]{-webkit-appearance:none;height:6px;background:var(--border);border-radius:3px;cursor:pointer;flex:1;width:100%}\n    input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.2)}\n    input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}\n    .slider-val{font-size:1.1rem;font-weight:700;min-width:5ch;text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}\n    .toggle-group{display:flex;gap:.5rem;flex-wrap:wrap}\n    .toggle-btn{padding:.4rem .85rem;border:1.5px solid var(--border);border-radius:.5rem;background:var(--card);color:var(--text);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}\n    .toggle-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}\n    .callout{background:var(--accent-light);border-left:3px solid var(--accent);border-radius:.5rem;padding:.625rem .875rem;font-size:.8125rem;color:var(--accent-text);margin-bottom:1rem;display:flex;gap:.5rem;align-items:flex-start}\n    .callout i{flex-shrink:0;margin-top:.1rem}\n    .result-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem}\n    .result-box{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:.875rem 1rem}\n    .result-box.primary{background:var(--blue-bg);border-color:var(--blue)}\n    .result-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}\n    .result-value{font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;margin-bottom:.2rem}\n    .result-value.primary{color:var(--blue)}\n    .result-unit{font-size:.8125rem;color:var(--muted)}\n    .bowls-bar{display:flex;gap:.25rem;margin-top:.75rem;flex-wrap:wrap}\n    .bowl{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--card);transition:background .2s,border-color .2s;display:flex;align-items:center;justify-content:center}\n    .bowl.filled{background:var(--blue);border-color:var(--blue)}\n    .bowl i{color:#fff}\n    .bowls-label{font-size:.75rem;color:var(--muted);margin-top:.375rem}\n    .heat-toggle{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border:1.5px solid var(--border);border-radius:.5rem;background:var(--card);cursor:pointer;transition:all .15s;margin-top:.75rem}\n    .heat-toggle.hot{background:var(--amber-bg);border-color:var(--amber)}\n    .heat-toggle-label{font-size:.875rem;font-weight:500;flex:1}\n    .heat-toggle-label small{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:.1rem}\n    .toggle-switch{width:38px;height:22px;background:var(--border);border-radius:11px;position:relative;transition:background .2s;flex-shrink:0}\n    .toggle-switch::after{content:'';position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:2px;left:2px;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.15)}\n    .heat-toggle.hot .toggle-switch{background:var(--amber)}\n    .heat-toggle.hot .toggle-switch::after{left:18px}\n    .tip-box{background:var(--green-bg);border:1.5px solid #86efac;border-radius:.5rem;padding:.75rem 1rem;margin-top:1rem;display:flex;gap:.5rem;align-items:flex-start}\n    .tip-box i{color:var(--green);flex-shrink:0;margin-top:.1rem}\n    .tip-box p{font-size:.8125rem;color:var(--green-text);line-height:1.5}\n    footer{margin-top:1.5rem;padding-top:.875rem;border-top:1px solid var(--border);font-size:.725rem;color:var(--muted);line-height:1.6}\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003Cmain class=\"tool-root\">\n  \u003Cdiv class=\"tool-header\">\n    \u003Cdiv class=\"tool-title\">\n      \u003Ci data-lucide=\"droplets\" width=\"20\" height=\"20\">\u003C\u002Fi>\n      Calculateur de besoins en eau en période de chaleur\n    \u003C\u002Fdiv>\n    \u003Cp class=\"tool-subtitle\">Estimez la quantité d'eau quotidienne selon le poids et les conditions estivales\u003C\u002Fp>\n  \u003C\u002Fdiv>\n\n  \u003Cnav class=\"tabs\">\n    \u003Cbutton class=\"tab-btn active\" data-tab=\"0\">Chien\u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"1\">Chat\u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"2\">Lapins &amp; rongeurs\u003C\u002Fbutton>\n  \u003C\u002Fnav>\n\n  \u003C!-- Tab 0: Chien -->\n  \u003Cdiv class=\"panel active\" id=\"panel-0\">\n    \u003Cdiv class=\"callout\">\n      \u003Ci data-lucide=\"info\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cspan>Formule : \u003Cstrong>50 ml\u002Fkg\u002Fjour\u003C\u002Fstrong> en conditions normales, \u003Cstrong>+20 %\u003C\u002Fstrong> par temps de canicule (\u003Cem>PetMD \u002F Hill's Pet Nutrition\u003C\u002Fem>).\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Clabel>Poids du chien\u003C\u002Flabel>\n    \u003Cdiv class=\"slider-wrap\">\n      \u003Cinput type=\"range\" id=\"dog-weight\" min=\"1\" max=\"80\" value=\"15\" step=\"1\">\n      \u003Cspan class=\"slider-val\" id=\"dog-weight-val\">15 kg\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Clabel>Niveau d'activité\u003C\u002Flabel>\n    \u003Cdiv class=\"toggle-group\">\n      \u003Cbutton class=\"toggle-btn active\" data-group=\"dog-activity\" data-val=\"faible\">Faible\u003C\u002Fbutton>\n      \u003Cbutton class=\"toggle-btn\" data-group=\"dog-activity\" data-val=\"moderee\">Modérée\u003C\u002Fbutton>\n      \u003Cbutton class=\"toggle-btn\" data-group=\"dog-activity\" data-val=\"elevee\">Élevée\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"heat-toggle\" id=\"dog-heat-toggle\">\n      \u003Cdiv class=\"toggle-switch\">\u003C\u002Fdiv>\n      \u003Cdiv class=\"heat-toggle-label\">Canicule \u002F fortes chaleurs\n        \u003Csmall>Au-dessus de 30 °C (+20 % d'eau)\u003C\u002Fsmall>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"result-grid\">\n      \u003Cdiv class=\"result-box primary\">\n        \u003Cdiv class=\"result-label\">Eau quotidienne\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value primary\" id=\"dog-water-ml\">750\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-unit\">ml \u002F jour\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"result-box\">\n        \u003Cdiv class=\"result-label\">Soit environ\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"dog-water-cups\" style=\"color:var(--text)\">3\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-unit\">bols de 250 ml\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"bowls-bar\" id=\"dog-bowls\">\u003C\u002Fdiv>\n    \u003Cdiv class=\"bowls-label\" id=\"dog-bowls-label\">\u003C\u002Fdiv>\n\n    \u003Cdiv class=\"tip-box\">\n      \u003Ci data-lucide=\"lightbulb\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cp>Changez l'eau \u003Cstrong>2 à 3 fois par jour\u003C\u002Fstrong> en été : une eau tiède est moins appétente et développe des bactéries plus vite. Préférez un bol large placé à l'ombre.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Tab 1: Chat -->\n  \u003Cdiv class=\"panel\" id=\"panel-1\">\n    \u003Cdiv class=\"callout\">\n      \u003Ci data-lucide=\"info\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cspan>Formule : \u003Cstrong>50 ml\u002Fkg\u002Fjour\u003C\u002Fstrong> au total (eau + humidité des aliments). Un chat nourri en pâtée couvre ~70 % de ses besoins via la nourriture (\u003Cem>Royal Canin Academy\u003C\u002Fem>).\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Clabel>Poids du chat\u003C\u002Flabel>\n    \u003Cdiv class=\"slider-wrap\">\n      \u003Cinput type=\"range\" id=\"cat-weight\" min=\"1\" max=\"12\" value=\"4\" step=\"0.5\">\n      \u003Cspan class=\"slider-val\" id=\"cat-weight-val\">4,0 kg\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Clabel>Type d'alimentation\u003C\u002Flabel>\n    \u003Cdiv class=\"toggle-group\">\n      \u003Cbutton class=\"toggle-btn active\" data-group=\"cat-food\" data-val=\"croquettes\">Croquettes uniquement\u003C\u002Fbutton>\n      \u003Cbutton class=\"toggle-btn\" data-group=\"cat-food\" data-val=\"mixte\">Mixte (croquettes + pâtée)\u003C\u002Fbutton>\n      \u003Cbutton class=\"toggle-btn\" data-group=\"cat-food\" data-val=\"patee\">Pâtée uniquement\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"heat-toggle\" id=\"cat-heat-toggle\">\n      \u003Cdiv class=\"toggle-switch\">\u003C\u002Fdiv>\n      \u003Cdiv class=\"heat-toggle-label\">Canicule \u002F fortes chaleurs\n        \u003Csmall>Au-dessus de 30 °C (+20 % d'eau)\u003C\u002Fsmall>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"result-grid\">\n      \u003Cdiv class=\"result-box primary\">\n        \u003Cdiv class=\"result-label\">Eau à mettre à dispo\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value primary\" id=\"cat-water-ml\">200\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-unit\">ml \u002F jour minimum\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"result-box\">\n        \u003Cdiv class=\"result-label\">Besoins totaux\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"cat-total-ml\" style=\"color:var(--text)\">200\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-unit\">ml (eau + aliments)\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"tip-box\">\n      \u003Ci data-lucide=\"lightbulb\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cp>Les chats préfèrent l'eau loin de leur gamelle. Placez plusieurs points d'eau dans la maison. Une \u003Cstrong>fontaine à eau\u003C\u002Fstrong> augmente la consommation de 30 % en moyenne.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Tab 2: Lapins & rongeurs -->\n  \u003Cdiv class=\"panel\" id=\"panel-2\">\n    \u003Cdiv class=\"callout\">\n      \u003Ci data-lucide=\"info\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cspan>Les rongeurs et lapins ont des besoins en eau relativement élevés par rapport à leur poids. Un manque d'eau de 10 % peut être fatal pour un lapin (\u003Cem>PDSA, 2024\u003C\u002Fem>).\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Clabel>Espèce\u003C\u002Flabel>\n    \u003Cselect id=\"rodent-species\">\n      \u003Coption value=\"lapin\">Lapin\u003C\u002Foption>\n      \u003Coption value=\"cobaye\">Cochon d'Inde\u003C\u002Foption>\n      \u003Coption value=\"hamster\">Hamster\u003C\u002Foption>\n      \u003Coption value=\"rat\">Rat\u003C\u002Foption>\n      \u003Coption value=\"furet\">Furet\u003C\u002Foption>\n    \u003C\u002Fselect>\n\n    \u003Clabel>Poids de l'animal\u003C\u002Flabel>\n    \u003Cdiv class=\"slider-wrap\">\n      \u003Cinput type=\"range\" id=\"rodent-weight\" min=\"0.05\" max=\"5\" value=\"2\" step=\"0.05\">\n      \u003Cspan class=\"slider-val\" id=\"rodent-weight-val\">2,0 kg\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"heat-toggle\" id=\"rodent-heat-toggle\">\n      \u003Cdiv class=\"toggle-switch\">\u003C\u002Fdiv>\n      \u003Cdiv class=\"heat-toggle-label\">Canicule \u002F fortes chaleurs\n        \u003Csmall>Augmentation des besoins de 20 %\u003C\u002Fsmall>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"result-grid\">\n      \u003Cdiv class=\"result-box primary\">\n        \u003Cdiv class=\"result-label\">Eau quotidienne\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value primary\" id=\"rodent-water-ml\">160\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-unit\">ml \u002F jour\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"result-box\">\n        \u003Cdiv class=\"result-label\">Dose de référence\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"rodent-rate-val\" style=\"color:var(--text)\">80\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-unit\" id=\"rodent-rate-unit\">ml \u002F kg \u002F jour\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"tip-box\">\n      \u003Ci data-lucide=\"lightbulb\" width=\"15\" height=\"15\">\u003C\u002Fi>\n      \u003Cp id=\"rodent-tip\">En canicule, placez un carrelage ou une dalle froide (jamais de glaçons) dans la cage du lapin ou du cochon d'Inde. Vaporisez légèrement les oreilles du lapin pour l'aider à se refroidir.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cfooter>\n    Source : PetMD (petmd.com) · Hill's Pet Nutrition (hillspet.com) · Royal Canin Academy (academy.royalcanin.com) · PDSA (pdsa.org.uk) — 2026. Cet outil est fourni à titre informatif. Il ne remplace pas l'avis d'un vétérinaire qualifié.\n  \u003C\u002Ffooter>\n\u003C\u002Fmain>\n\n\u003Cscript>\n\u002F\u002F ── Dog state ─────────────────────────────────────────────────────────────────\nconst dogState = { weight: 15, activity: 'faible', heat: false };\nconst ACTIVITY_RATE = { faible: 40, moderee: 50, elevee: 60 }; \u002F\u002F ml\u002Fkg\u002Fday\n\nfunction computeDog(s) {\n  const base = s.weight * ACTIVITY_RATE[s.activity];\n  const total = s.heat ? Math.round(base * 1.2) : base;\n  const cups = Math.max(1, Math.round(total \u002F 250));\n  return { total, cups };\n}\n\nfunction renderDog() {\n  const { total, cups } = computeDog(dogState);\n  document.getElementById('dog-weight-val').textContent = dogState.weight + ' kg';\n  document.getElementById('dog-water-ml').textContent = total;\n  document.getElementById('dog-water-cups').textContent = cups;\n\n  const bowls = document.getElementById('dog-bowls');\n  const maxBowls = Math.min(cups, 12);\n  bowls.innerHTML = Array.from({length: maxBowls}, (_, i) =>\n    `\u003Cdiv class=\"bowl filled\">\u003Ci data-lucide=\"droplet\" width=\"12\" height=\"12\">\u003C\u002Fi>\u003C\u002Fdiv>`\n  ).join('') + (cups > 12 ? `\u003Cspan style=\"font-size:.8125rem;color:var(--muted);align-self:center\"> +${cups-12}\u003C\u002Fspan>` : '');\n\n  document.getElementById('dog-bowls-label').textContent = cups \u003C= 12\n    ? `${cups} bol${cups > 1 ? 's' : ''} de 250 ml répartis dans la journée`\n    : `Répartissez en ${cups} bols de 250 ml dans la journée`;\n\n  lucide.createIcons();\n}\n\n\u002F\u002F ── Cat state ─────────────────────────────────────────────────────────────────\nconst catState = { weight: 4, food: 'croquettes', heat: false };\nconst FOOD_WATER_FRACTION = { croquettes: 1.0, mixte: 0.55, patee: 0.3 }; \u002F\u002F fraction of water needs from bowl\n\nfunction computeCat(s) {\n  const totalNeed = Math.round(s.weight * 50 * (s.heat ? 1.2 : 1));\n  const bowlFrac = FOOD_WATER_FRACTION[s.food];\n  const fromBowl = Math.round(totalNeed * bowlFrac);\n  return { totalNeed, fromBowl };\n}\n\nfunction renderCat() {\n  const { totalNeed, fromBowl } = computeCat(catState);\n  const wVal = catState.weight % 1 === 0 ? catState.weight.toFixed(1).replace('.', ',') : catState.weight.toString().replace('.', ',');\n  document.getElementById('cat-weight-val').textContent = wVal + ' kg';\n  document.getElementById('cat-water-ml').textContent = fromBowl;\n  document.getElementById('cat-total-ml').textContent = totalNeed;\n  lucide.createIcons();\n}\n\n\u002F\u002F ── Rodent state ──────────────────────────────────────────────────────────────\nconst rodentState = { species: 'lapin', weight: 2, heat: false };\nconst RODENT_RATES = {\n  lapin:  { rate: 80,  min_w: 0.5, max_w: 5,    tip: 'En canicule, posez une dalle en céramique froide dans la cage. Vaporisez légèrement les oreilles — leur principale zone de thermorégulation.' },\n  cobaye: { rate: 80,  min_w: 0.3, max_w: 1.5,  tip: 'Veillez à changer l\\'eau plusieurs fois par jour. Le cochon d\\'Inde boit beaucoup pour sa taille et perçoit très vite la déshydratation.' },\n  hamster:{ rate: 10,  min_w: 0.05, max_w: 0.3, tip: 'Le hamster ne doit jamais être placé à la lumière directe. Préférez un biberon à tuyau plutôt qu\\'un bol (risque de noyade).' },\n  rat:    { rate: 60,  min_w: 0.1, max_w: 0.8,  tip: 'Les rats sont sensibles à la chaleur humide. Placez une petite serviette humide dans la cage pour leur permettre de se refroidir.' },\n  furet:  { rate: 75,  min_w: 0.5, max_w: 2.5,  tip: 'Le furet régule mal sa température. En été, alternez des compresses humides fraîches sur le dos et changez l\\'eau au minimum 3 fois par jour.' },\n};\n\nfunction computeRodent(s) {\n  const rd = RODENT_RATES[s.species];\n  const total = Math.round(s.weight * rd.rate * (s.heat ? 1.2 : 1));\n  return { total, rate: rd.rate, tip: rd.tip };\n}\n\nfunction getRodentWeightBounds() {\n  const rd = RODENT_RATES[rodentState.species];\n  return { min: rd.min_w, max: rd.max_w };\n}\n\nfunction renderRodent() {\n  const { total, rate, tip } = computeRodent(rodentState);\n  const wVal = rodentState.weight >= 1\n    ? rodentState.weight.toFixed(1).replace('.', ',') + ' kg'\n    : Math.round(rodentState.weight * 1000) + ' g';\n  document.getElementById('rodent-weight-val').textContent = wVal;\n  document.getElementById('rodent-water-ml').textContent = total \u003C 1 ? '\u003C 1' : total;\n  document.getElementById('rodent-rate-val').textContent = rate;\n  document.getElementById('rodent-tip').textContent = tip;\n  lucide.createIcons();\n}\n\n\u002F\u002F ── Toggle helpers ─────────────────────────────────────────────────────────────\nfunction setupToggleGroup(groupName, callback) {\n  document.querySelectorAll(`[data-group=\"${groupName}\"]`).forEach(btn => {\n    btn.addEventListener('click', () => {\n      document.querySelectorAll(`[data-group=\"${groupName}\"]`).forEach(b => b.classList.remove('active'));\n      btn.classList.add('active');\n      callback(btn.dataset.val);\n    });\n  });\n}\n\nfunction setupHeatToggle(id, stateObj, key, callback) {\n  const el = document.getElementById(id);\n  el.addEventListener('click', () => {\n    stateObj[key] = !stateObj[key];\n    el.classList.toggle('hot', stateObj[key]);\n    callback();\n  });\n}\n\n\u002F\u002F ── Tab switching ─────────────────────────────────────────────────────────────\ndocument.querySelectorAll('.tab-btn').forEach(btn => {\n  btn.addEventListener('click', () => {\n    document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));\n    document.querySelectorAll('.panel').forEach(p => p.classList.remove('active'));\n    btn.classList.add('active');\n    document.getElementById('panel-' + btn.dataset.tab).classList.add('active');\n    lucide.createIcons();\n    notifyHeight();\n  });\n});\n\n\u002F\u002F ── Wire up dog ───────────────────────────────────────────────────────────────\ndocument.getElementById('dog-weight').addEventListener('input', e => {\n  dogState.weight = parseInt(e.target.value);\n  renderDog();\n});\nsetupToggleGroup('dog-activity', v => { dogState.activity = v; renderDog(); });\nsetupHeatToggle('dog-heat-toggle', dogState, 'heat', renderDog);\n\n\u002F\u002F ── Wire up cat ───────────────────────────────────────────────────────────────\ndocument.getElementById('cat-weight').addEventListener('input', e => {\n  catState.weight = parseFloat(e.target.value);\n  renderCat();\n});\nsetupToggleGroup('cat-food', v => { catState.food = v; renderCat(); });\nsetupHeatToggle('cat-heat-toggle', catState, 'heat', renderCat);\n\n\u002F\u002F ── Wire up rodent ────────────────────────────────────────────────────────────\ndocument.getElementById('rodent-species').addEventListener('change', e => {\n  rodentState.species = e.target.value;\n  const bounds = getRodentWeightBounds();\n  const slider = document.getElementById('rodent-weight');\n  slider.min = bounds.min;\n  slider.max = bounds.max;\n  slider.step = bounds.max \u003C 0.5 ? 0.01 : 0.05;\n  if (rodentState.weight \u003C bounds.min) rodentState.weight = bounds.min;\n  if (rodentState.weight > bounds.max) rodentState.weight = bounds.max;\n  slider.value = rodentState.weight;\n  renderRodent();\n});\ndocument.getElementById('rodent-weight').addEventListener('input', e => {\n  rodentState.weight = parseFloat(e.target.value);\n  renderRodent();\n});\nsetupHeatToggle('rodent-heat-toggle', rodentState, 'heat', renderRodent);\n\nfunction notifyHeight() {\n  const h = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n  parent.postMessage({ type: 'resize', height: h }, '*');\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  renderDog();\n  renderCat();\n  renderRodent();\n  lucide.createIcons();\n});\n\nconst ro = new ResizeObserver(() => notifyHeight());\nro.observe(document.documentElement);\n\u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","generated","animaux","consumer","both","https:\u002F\u002Fpub-bdebbd2dad294475a2da0eb657815b6b.r2.dev\u002Ftools\u002Fcalculateur-eau-animaux-ete-3f6eadd803.webp",[]]