{"id":1252,"date":"2026-05-25T09:28:12","date_gmt":"2026-05-25T09:28:12","guid":{"rendered":"https:\/\/www.dents-hippo.ch\/?page_id=1252"},"modified":"2026-05-26T06:43:58","modified_gmt":"2026-05-26T06:43:58","slug":"check","status":"publish","type":"page","link":"https:\/\/www.dents-hippo.ch\/index.php\/check\/","title":{"rendered":"Hippo Check"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1252\" class=\"elementor elementor-1252\">\n\t\t\t\t<div class=\"aux-parallax-section elementor-element elementor-element-05527af e-flex e-con-boxed e-con e-parent\" data-id=\"05527af\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f5fa78d elementor-widget elementor-widget-heading\" data-id=\"f5fa78d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Vos pratiques actuelles sont-elles adapt\u00e9es ?<br>Mesurez vous au calculateur de notre intraitable hippopotame !<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e16e4a elementor-widget elementor-widget-html\" data-id=\"6e16e4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"dentsHippoDiagnostic\">\r\n  <div class=\"dh-card\">\r\n    <h1>\ud83e\udd9b Mission Dents-Hippo<\/h1>\r\n\r\n    <p class=\"dh-intro\">\r\n      Bienvenue dans la mission du petit pois ! R\u00e9pondez avec vos vraies habitudes familiales :\r\n      ce que vous achetez, ce que vous payez, ce que les adultes et les enfants mettent sur la brosse,\r\n      la dur\u00e9e r\u00e9elle du brossage et les gestes qui influencent l\u2019impact \u00e9cologique et financier.\r\n    <\/p>\r\n\r\n    <div class=\"dh-fun-banner\">\r\n      <span>\ud83c\udfaf Objectif<\/span>\r\n      <strong>D\u00e9couvrir le portrait robot de votre salle de bain<\/strong>\r\n      <span>\ud83e\udea5 Sans jugement, mais avec des chiffres !<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"dh-progress-wrap\">\r\n      <div class=\"dh-progress-label\">Votre mission avance\u2026<\/div>\r\n      <div class=\"dh-progress-track\">\r\n        <div id=\"formProgress\" class=\"dh-progress-fill\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"dh-section\">\r\n      <div class=\"dh-section-title\">\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66 Mission 1 \u2014 Qui utilise le dentifrice ?<\/div>\r\n\r\n      <div class=\"dh-grid\">\r\n        <div class=\"dh-field\">\r\n          <label for=\"adults\">Combien d\u2019adultes utilisent du dentifrice dans le foyer ?<\/label>\r\n          <select id=\"adults\">\r\n            <option value=\"1\">1 adulte<\/option>\r\n            <option value=\"2\" selected>2 adultes<\/option>\r\n            <option value=\"3\">3 adultes<\/option>\r\n            <option value=\"4\">4 adultes ou plus<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"children\">Combien d\u2019enfants utilisent du dentifrice dans le foyer ?<\/label>\r\n          <select id=\"children\">\r\n            <option value=\"0\">0 enfant<\/option>\r\n            <option value=\"1\">1 enfant<\/option>\r\n            <option value=\"2\" selected>2 enfants<\/option>\r\n            <option value=\"3\">3 enfants<\/option>\r\n            <option value=\"4\">4 enfants ou plus<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"adultBrushes\">Les adultes se brossent les dents combien de fois par jour ?<\/label>\r\n          <select id=\"adultBrushes\">\r\n            <option value=\"1\">1 fois<\/option>\r\n            <option value=\"1.5\">Entre 1 et 2 fois<\/option>\r\n            <option value=\"2\" selected>2 fois<\/option>\r\n            <option value=\"2.5\">Entre 2 et 3 fois<\/option>\r\n            <option value=\"3\">3 fois ou plus<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"childBrushes\">Les enfants se brossent les dents combien de fois par jour ?<\/label>\r\n          <select id=\"childBrushes\">\r\n            <option value=\"0\">Pas d\u2019enfant concern\u00e9<\/option>\r\n            <option value=\"1\">1 fois<\/option>\r\n            <option value=\"1.5\">Entre 1 et 2 fois<\/option>\r\n            <option value=\"2\" selected>2 fois<\/option>\r\n            <option value=\"2.5\">Entre 2 et 3 fois<\/option>\r\n            <option value=\"3\">3 fois ou plus<\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"dh-section\">\r\n      <div class=\"dh-section-title\">\ud83d\uded2 Mission 2 \u2014 Que met-on dans le caddie ?<\/div>\r\n\r\n      <div class=\"dh-grid\">\r\n        <div class=\"dh-field\">\r\n          <label for=\"brand\">Marque achet\u00e9e le plus souvent pour le foyer<\/label>\r\n          <select id=\"brand\"><\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"pricePerTube\">Prix moyen pay\u00e9 par tube<\/label>\r\n          <input id=\"pricePerTube\" type=\"number\" min=\"0\" step=\"0.05\">\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"adultUsesPremium\">Les parents\/adultes utilisent-ils un dentifrice plus cher que les enfants ?<\/label>\r\n          <select id=\"adultUsesPremium\">\r\n            <option value=\"no\" selected>Non, c\u2019est plut\u00f4t le m\u00eame dentifrice<\/option>\r\n            <option value=\"sometimes\">Parfois, selon les besoins<\/option>\r\n            <option value=\"yes\">Oui, les adultes utilisent g\u00e9n\u00e9ralement un dentifrice plus cher<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"premiumReason\">Si les adultes utilisent un dentifrice plus cher, pourquoi ?<\/label>\r\n          <select id=\"premiumReason\">\r\n            <option value=\"none\" selected>Pas concern\u00e9<\/option>\r\n            <option value=\"sensitive\">Dents sensibles \/ gencives \/ besoin sp\u00e9cifique<\/option>\r\n            <option value=\"whitening\">Blancheur \/ haleine \/ esth\u00e9tique<\/option>\r\n            <option value=\"brand\">Marque connue ou recommand\u00e9e<\/option>\r\n            <option value=\"marketing\">Promesse marketing rassurante<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"marketingInfluence\">Le marketing influence votre choix de dentifrice...<\/label>\r\n          <select id=\"marketingInfluence\">\r\n            <option value=\"0\">Tr\u00e8s peu<\/option>\r\n            <option value=\"1\" selected>Un peu<\/option>\r\n            <option value=\"2\">Souvent<\/option>\r\n            <option value=\"3\">Beaucoup<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"cheapBelief\">Face \u00e0 un dentifrice tr\u00e8s bon march\u00e9, vous pensez plut\u00f4t...<\/label>\r\n          <select id=\"cheapBelief\">\r\n            <option value=\"0\">Il peut \u00eatre correct si l\u2019usage est adapt\u00e9<\/option>\r\n            <option value=\"1\" selected>Je suis h\u00e9sitant<\/option>\r\n            <option value=\"2\">Il est probablement moins efficace<\/option>\r\n            <option value=\"3\">Je l\u2019\u00e9viterais pour les enfants<\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"dh-section\">\r\n      <div class=\"dh-section-title\">\ud83e\udea5 Mission 3 \u2014 Que se passe-t-il sur la brosse ?<\/div>\r\n\r\n      <div class=\"dh-grid\">\r\n        <div class=\"dh-field\">\r\n          <label for=\"adultDose\">Quelle quantit\u00e9 les parents\/adultes mettent-ils g\u00e9n\u00e9ralement sur leur brosse ?<\/label>\r\n          <select id=\"adultDose\">\r\n            <option value=\"0.10\">Une trace tr\u00e8s fine<\/option>\r\n            <option value=\"0.25\">L\u2019\u00e9quivalent d\u2019un petit pois<\/option>\r\n            <option value=\"0.50\" selected>Une demi-longueur de brosse<\/option>\r\n            <option value=\"1.00\">Toute la longueur de la brosse<\/option>\r\n            <option value=\"1.50\">Une grosse quantit\u00e9 qui d\u00e9borde un peu<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"childDose\">Quelle quantit\u00e9 les enfants utilisent-ils g\u00e9n\u00e9ralement ?<\/label>\r\n          <select id=\"childDose\">\r\n            <option value=\"0\">Pas d\u2019enfant concern\u00e9<\/option>\r\n            <option value=\"0.10\">Une trace tr\u00e8s fine<\/option>\r\n            <option value=\"0.25\" selected>L\u2019\u00e9quivalent d\u2019un petit pois<\/option>\r\n            <option value=\"0.50\">Une demi-longueur de brosse<\/option>\r\n            <option value=\"1.00\">Toute la longueur de la brosse<\/option>\r\n            <option value=\"1.50\">Une grosse quantit\u00e9 qui d\u00e9borde un peu<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"childDoseControl\">La quantit\u00e9 de dentifrice des enfants est-elle contr\u00f4l\u00e9e par un adulte ?<\/label>\r\n          <select id=\"childDoseControl\">\r\n            <option value=\"nochildren\">Pas d\u2019enfant concern\u00e9<\/option>\r\n            <option value=\"always\">Oui, presque toujours<\/option>\r\n            <option value=\"often\" selected>Souvent<\/option>\r\n            <option value=\"sometimes\">Parfois<\/option>\r\n            <option value=\"never\">Rarement ou jamais<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"leftInTube\">Quand le tube est \u201cfini\u201d, combien pensez-vous qu\u2019il reste dedans ?<\/label>\r\n          <select id=\"leftInTube\">\r\n            <option value=\"0\">Presque rien<\/option>\r\n            <option value=\"0.05\" selected>Environ 5 %<\/option>\r\n            <option value=\"0.10\">Environ 10 %<\/option>\r\n            <option value=\"0.15\">Environ 15 % ou plus<\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"dh-section\">\r\n      <div class=\"dh-section-title\">\u23f1\ufe0f Mission 4 \u2014 Le rituel devant le lavabo<\/div>\r\n\r\n      <div class=\"dh-grid\">\r\n        <div class=\"dh-field\">\r\n          <label for=\"childSupervision\">Les enfants se brossent les dents...<\/label>\r\n          <select id=\"childSupervision\">\r\n            <option value=\"nochildren\">Pas d\u2019enfant concern\u00e9<\/option>\r\n            <option value=\"supervised\" selected>Avec surveillance ou aide d\u2019un adulte<\/option>\r\n            <option value=\"nearby\">Avec un adulte \u00e0 proximit\u00e9<\/option>\r\n            <option value=\"alone\">Seuls, sans contr\u00f4le r\u00e9gulier<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"childDuration\">La dur\u00e9e effective du brossage des enfants est plut\u00f4t...<\/label>\r\n          <select id=\"childDuration\">\r\n            <option value=\"nochildren\">Pas d\u2019enfant concern\u00e9<\/option>\r\n            <option value=\"30\">Moins de 45 secondes<\/option>\r\n            <option value=\"60\">Environ 1 minute<\/option>\r\n            <option value=\"90\" selected>Entre 1 et 2 minutes<\/option>\r\n            <option value=\"120\">Environ 2 minutes<\/option>\r\n            <option value=\"150\">Plus de 2 minutes<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"durationMethod\">La dur\u00e9e est g\u00e9r\u00e9e...<\/label>\r\n          <select id=\"durationMethod\">\r\n            <option value=\"nochildren\">Pas d\u2019enfant concern\u00e9<\/option>\r\n            <option value=\"desire\">Tant que l\u2019enfant en a envie<\/option>\r\n            <option value=\"adult\" selected>Par l\u2019adulte<\/option>\r\n            <option value=\"song\">Avec un moyen externe, par exemple une chanson de 2 minutes<\/option>\r\n            <option value=\"alone\">Par l\u2019enfant seul<\/option>\r\n          <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"dh-field\">\r\n          <label for=\"waterHabit\">Pendant le brossage, le robinet est g\u00e9n\u00e9ralement...<\/label>\r\n          <select id=\"waterHabit\">\r\n            <option value=\"0\" selected>Ferm\u00e9 pendant le brossage<\/option>\r\n            <option value=\"4\">Ouvert une partie du temps<\/option>\r\n            <option value=\"8\">Ouvert presque tout le temps<\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"dh-actions\">\r\n      <button class=\"dh-primary\" onclick=\"calculateDiagnostic()\">\ud83e\udd9b D\u00e9couvrir mon profil<\/button>\r\n      <button class=\"dh-secondary\" onclick=\"resetDiagnostic()\">\u21ba Recommencer<\/button>\r\n    <\/div>\r\n\r\n    <div id=\"dh-results\">\r\n      <div id=\"dh-confetti\" aria-hidden=\"true\"><\/div>\r\n\r\n      <div class=\"dh-result-hero\">\r\n        <h2>Portrait robot de votre foyer<\/h2>\r\n\r\n        <div id=\"moodVisual\" class=\"dh-mood-visual\" aria-label=\"R\u00e9sultat du diagnostic\">\r\n          <img decoding=\"async\" id=\"moodImage\" src=\"\" alt=\"R\u00e9sultat du diagnostic\">\r\n        <\/div>\r\n\r\n        <div class=\"dh-big\" id=\"profileTitle\">Profil familial<\/div>\r\n        <p class=\"dh-profile-text\" id=\"profileText\"><\/p>\r\n      <\/div>\r\n\r\n      <div class=\"dh-badges\">\r\n        <div class=\"dh-badge\">\r\n          <strong id=\"annualKg\">\u2013<\/strong>\r\n          kg de dentifrice \/ an\r\n        <\/div>\r\n\r\n        <div class=\"dh-badge\">\r\n          <strong id=\"annualCost\">\u2013<\/strong>\r\n          CHF \/ an\r\n        <\/div>\r\n\r\n        <div class=\"dh-badge\">\r\n          <strong id=\"annualPlastic\">\u2013<\/strong>\r\n          kg plastique \/ an\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"dh-compare\">\r\n        <div class=\"dh-panel\">\r\n          <h3>\ud83c\udde8\ud83c\udded Vous par rapport au rep\u00e8re suisse<\/h3>\r\n          <div class=\"dh-meter\">\r\n            <div class=\"dh-meter-fill\" id=\"swissMeter\"><\/div>\r\n          <\/div>\r\n          <p class=\"dh-note\" id=\"swissText\"><\/p>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Votre foyer<\/span>\r\n            <span id=\"yourKgSwiss\">\u2013<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Rep\u00e8re suisse p\u00e9dagogique<\/span>\r\n            <span id=\"swissKgRef\">\u2013<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"dh-panel\">\r\n          <h3>\ud83c\udfaf Vous par rapport aux recommandations<\/h3>\r\n          <div class=\"dh-meter\">\r\n            <div class=\"dh-meter-fill\" id=\"recMeter\"><\/div>\r\n          <\/div>\r\n          <p class=\"dh-note\" id=\"recText\"><\/p>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Usage recommand\u00e9 du foyer<\/span>\r\n            <span id=\"recommendedKg\">\u2013<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>\u00c9cart avec la recommandation<\/span>\r\n            <span id=\"extraKg\">\u2013<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"dh-compare\">\r\n        <div class=\"dh-panel dh-savings\">\r\n          <h3>\ud83d\udcb0 Ce que vous pourriez \u00e9conomiser<\/h3>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>\u00c9conomie possible<\/span>\r\n            <span id=\"savingCHF\">\u2013<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Tubes \u00e9vitables<\/span>\r\n            <span id=\"savingTubes\">\u2013<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Sur 5 ans<\/span>\r\n            <span id=\"savingFiveYears\">\u2013<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"dh-panel dh-warning\">\r\n          <h3>\ud83c\udf0a Ce que vous pourriez \u00e9viter<\/h3>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Dentifrice envoy\u00e9 vers les eaux us\u00e9es<\/span>\r\n            <span id=\"avoidToWater\">\u2013<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Plastique d\u2019emballage<\/span>\r\n            <span id=\"avoidPlastic\">\u2013<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"dh-kpi\">\r\n            <span>Eau \u00e9vitable hors rin\u00e7age<\/span>\r\n            <span id=\"avoidWater\">\u2013<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"dh-panel\" style=\"margin-top:18px;\">\r\n        <h3>\ud83d\udca7 Eau utilis\u00e9e pour le brossage<\/h3>\r\n\r\n        <div class=\"dh-kpi\">\r\n          <span>Eau minimale de rin\u00e7age<\/span>\r\n          <span id=\"rinseWater\">\u2013<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"dh-kpi\">\r\n          <span>Eau li\u00e9e au robinet ouvert<\/span>\r\n          <span id=\"openTapWater\">\u2013<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"dh-kpi\">\r\n          <span>Eau totale estim\u00e9e<\/span>\r\n          <span id=\"totalWater\">\u2013<\/span>\r\n        <\/div>\r\n\r\n        <p class=\"dh-small\">\r\n          Le calcul compte 0,2 L d\u2019eau par brossage pour le rin\u00e7age. Cette eau est consid\u00e9r\u00e9e comme un usage minimal.\r\n          L\u2019eau \u00e9vitable correspond uniquement \u00e0 l\u2019eau utilis\u00e9e en plus lorsque le robinet reste ouvert.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"dh-panel\" style=\"margin-top:18px;\">\r\n        <h3>\ud83e\udde0 Lecture des habitudes<\/h3>\r\n        <p class=\"dh-profile-text\" id=\"habitText\"><\/p>\r\n      <\/div>\r\n\r\n      <div class=\"dh-panel\" style=\"margin-top:18px;\">\r\n        <h3>Tableau d\u00e9taill\u00e9<\/h3>\r\n\r\n        <table>\r\n          <thead>\r\n            <tr>\r\n              <th>Indicateur<\/th>\r\n              <th>Votre foyer<\/th>\r\n              <th>Recommand\u00e9<\/th>\r\n              <th>\u00c9cart<\/th>\r\n            <\/tr>\r\n          <\/thead>\r\n\r\n          <tbody id=\"detailsTable\"><\/tbody>\r\n        <\/table>\r\n\r\n        <p class=\"dh-small\">\r\n          Les r\u00e9sultats sont des estimations p\u00e9dagogiques. Le calcul repose sur vos pratiques d\u00e9clar\u00e9es :\r\n          nombre d\u2019adultes et d\u2019enfants, fr\u00e9quence de brossage, quantit\u00e9 d\u00e9pos\u00e9e, prix moyen pay\u00e9 et habitudes de brossage.\r\n          Il ne remplace pas un avis dentaire individuel.\r\n        <\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  #dentsHippoDiagnostic {\r\n    max-width: 980px;\r\n    margin: 30px auto;\r\n    padding: 20px;\r\n    font-family: Arial, sans-serif;\r\n    color: #243238;\r\n  }\r\n\r\n  #dentsHippoDiagnostic * {\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-card {\r\n    background: #f3f5f6;\r\n    border: 4px solid #6ad4e8;\r\n    border-radius: 26px;\r\n    padding: 30px;\r\n    box-shadow: 0 8px 22px rgba(0,0,0,0.12);\r\n  }\r\n\r\n  #dentsHippoDiagnostic h1,\r\n  #dentsHippoDiagnostic h2,\r\n  #dentsHippoDiagnostic h3 {\r\n    margin-top: 0;\r\n    color: #147c91;\r\n  }\r\n\r\n  #dentsHippoDiagnostic h1 {\r\n    text-align: center;\r\n    font-size: 2rem;\r\n    margin-bottom: 8px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-intro {\r\n    text-align: center;\r\n    max-width: 820px;\r\n    margin: 0 auto 28px auto;\r\n    line-height: 1.45;\r\n    font-size: 1.05rem;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-fun-banner {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    gap: 14px;\r\n    flex-wrap: wrap;\r\n    background: linear-gradient(90deg, #e9fbff, #fff8ef);\r\n    border: 2px dashed #6ad4e8;\r\n    border-radius: 20px;\r\n    padding: 14px 18px;\r\n    margin: 0 0 18px 0;\r\n    text-align: center;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-fun-banner span {\r\n    color: #147c91;\r\n    font-weight: bold;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-fun-banner strong {\r\n    color: #243238;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-progress-wrap {\r\n    background: white;\r\n    border: 2px solid #d8edf2;\r\n    border-radius: 18px;\r\n    padding: 14px;\r\n    margin-bottom: 18px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-progress-label {\r\n    font-weight: bold;\r\n    color: #147c91;\r\n    margin-bottom: 8px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-progress-track {\r\n    height: 16px;\r\n    background: #dce8ec;\r\n    border-radius: 30px;\r\n    overflow: hidden;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-progress-fill {\r\n    height: 100%;\r\n    width: 0%;\r\n    background: linear-gradient(90deg, #6ad4e8, #147c91);\r\n    border-radius: 30px;\r\n    transition: width 0.35s ease;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-section {\r\n    position: relative;\r\n    background: white;\r\n    border: 2px solid #d8edf2;\r\n    border-radius: 20px;\r\n    padding: 22px;\r\n    margin-bottom: 18px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-section::after {\r\n    content: \"\ud83e\udd9b\";\r\n    position: absolute;\r\n    right: 18px;\r\n    top: 14px;\r\n    opacity: 0.12;\r\n    font-size: 2.4rem;\r\n    pointer-events: none;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-section-title {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    font-size: 1.25rem;\r\n    margin-bottom: 16px;\r\n    color: #147c91;\r\n    font-weight: bold;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 16px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-field {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 7px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-field label {\r\n    font-weight: bold;\r\n    line-height: 1.35;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-field select,\r\n  #dentsHippoDiagnostic .dh-field input {\r\n    width: 100%;\r\n    padding: 13px 14px;\r\n    border: 2px solid #b6dde6;\r\n    border-radius: 14px;\r\n    font-size: 1rem;\r\n    background: #fff;\r\n    color: #222;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-field select:focus,\r\n  #dentsHippoDiagnostic .dh-field input:focus {\r\n    outline: none;\r\n    border-color: #147c91;\r\n    box-shadow: 0 0 0 3px rgba(106, 212, 232, 0.35);\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-actions {\r\n    display: flex;\r\n    justify-content: center;\r\n    gap: 12px;\r\n    flex-wrap: wrap;\r\n    margin-top: 24px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-actions button {\r\n    border: none;\r\n    border-radius: 16px;\r\n    padding: 14px 24px;\r\n    font-size: 1.05rem;\r\n    cursor: pointer;\r\n    font-weight: bold;\r\n    transform: translateY(0);\r\n    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-actions button:hover {\r\n    transform: translateY(-2px);\r\n    box-shadow: 0 8px 18px rgba(0,0,0,0.12);\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-primary {\r\n    background: #147c91;\r\n    color: white;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-primary:hover {\r\n    background: #0f6374;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-secondary {\r\n    background: white;\r\n    color: #147c91;\r\n    border: 2px solid #6ad4e8;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-secondary:hover {\r\n    background: #e9fbff;\r\n  }\r\n\r\n  #dentsHippoDiagnostic #dh-results {\r\n    display: none;\r\n    margin-top: 26px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic #dh-confetti {\r\n    position: relative;\r\n    height: 0;\r\n    overflow: visible;\r\n    pointer-events: none;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-confetti-piece {\r\n    position: absolute;\r\n    top: -12px;\r\n    font-size: 1.6rem;\r\n    animation: dhFall 1.4s ease-out forwards;\r\n  }\r\n\r\n  @keyframes dhFall {\r\n    0% {\r\n      transform: translateY(-20px) rotate(0deg);\r\n      opacity: 0;\r\n    }\r\n    15% {\r\n      opacity: 1;\r\n    }\r\n    100% {\r\n      transform: translateY(180px) rotate(260deg);\r\n      opacity: 0;\r\n    }\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-result-hero {\r\n    position: relative;\r\n    overflow: hidden;\r\n    background: #e9fbff;\r\n    border: 3px solid #6ad4e8;\r\n    border-radius: 24px;\r\n    padding: 24px;\r\n    margin-bottom: 18px;\r\n    text-align: center;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-result-hero::before {\r\n    content: \"\u2728\";\r\n    position: absolute;\r\n    left: 22px;\r\n    top: 18px;\r\n    font-size: 2rem;\r\n    opacity: 0.4;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-result-hero::after {\r\n    content: \"\ud83e\udea5\";\r\n    position: absolute;\r\n    right: 22px;\r\n    bottom: 18px;\r\n    font-size: 2rem;\r\n    opacity: 0.35;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-mood-visual {\r\n    width: 160px;\r\n    height: 160px;\r\n    margin: 0 auto 14px auto;\r\n    border-radius: 50%;\r\n    border: 5px solid #6ad4e8;\r\n    background: #ffffff;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    overflow: hidden;\r\n    box-shadow: 0 6px 16px rgba(0,0,0,0.12);\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-mood-visual img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-mood-positive {\r\n    background: #e8fff0;\r\n    border-color: #69c98a;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-mood-mixed {\r\n    background: #fff7e6;\r\n    border-color: #ffc15a;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-mood-negative {\r\n    background: #fff0f0;\r\n    border-color: #e67b7b;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-big {\r\n    font-size: 2.1rem;\r\n    color: #147c91;\r\n    font-weight: bold;\r\n    margin: 10px 0;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-profile-text {\r\n    font-size: 1.07rem;\r\n    line-height: 1.5;\r\n    margin-bottom: 0;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-badges {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n    gap: 14px;\r\n    margin: 18px 0;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-badge {\r\n    background: white;\r\n    border: 2px solid #d8edf2;\r\n    border-radius: 18px;\r\n    padding: 16px;\r\n    text-align: center;\r\n    transition: transform 0.2s ease;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-badge:hover {\r\n    transform: scale(1.03);\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-badge strong {\r\n    display: block;\r\n    font-size: 1.45rem;\r\n    color: #147c91;\r\n    margin-bottom: 5px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-compare {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 18px;\r\n    margin-top: 18px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-panel {\r\n    background: white;\r\n    border-radius: 20px;\r\n    padding: 20px;\r\n    border: 2px solid #d8edf2;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-panel h3 {\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-savings {\r\n    background: #f7fff8;\r\n    border: 3px solid #9ed9b2;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-warning {\r\n    background: #fff8ef;\r\n    border: 3px solid #ffd29a;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-kpi {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    gap: 12px;\r\n    border-bottom: 1px solid #e3edf0;\r\n    padding: 10px 0;\r\n    line-height: 1.35;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-kpi:last-child {\r\n    border-bottom: none;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-kpi span:first-child {\r\n    color: #4e5d63;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-kpi span:last-child {\r\n    font-weight: bold;\r\n    text-align: right;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-meter {\r\n    width: 100%;\r\n    height: 18px;\r\n    background: #dce8ec;\r\n    border-radius: 20px;\r\n    overflow: hidden;\r\n    margin: 10px 0 4px 0;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-meter-fill {\r\n    height: 100%;\r\n    width: 0%;\r\n    background: linear-gradient(90deg, #6ad4e8, #147c91);\r\n    border-radius: 20px;\r\n    transition: width 0.4s ease;\r\n  }\r\n\r\n  #dentsHippoDiagnostic .dh-note,\r\n  #dentsHippoDiagnostic .dh-small {\r\n    font-size: 0.92rem;\r\n    color: #56666d;\r\n    line-height: 1.45;\r\n    margin-top: 14px;\r\n  }\r\n\r\n  #dentsHippoDiagnostic table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n    margin-top: 12px;\r\n    background: white;\r\n    border-radius: 16px;\r\n    overflow: hidden;\r\n  }\r\n\r\n  #dentsHippoDiagnostic th,\r\n  #dentsHippoDiagnostic td {\r\n    padding: 12px;\r\n    border-bottom: 1px solid #e3edf0;\r\n    text-align: right;\r\n    vertical-align: top;\r\n  }\r\n\r\n  #dentsHippoDiagnostic th:first-child,\r\n  #dentsHippoDiagnostic td:first-child {\r\n    text-align: left;\r\n  }\r\n\r\n  #dentsHippoDiagnostic th {\r\n    background: #e9fbff;\r\n    color: #147c91;\r\n  }\r\n\r\n  #dentsHippoDiagnostic tr:last-child td {\r\n    border-bottom: none;\r\n  }\r\n\r\n  @media (max-width: 760px) {\r\n    #dentsHippoDiagnostic {\r\n      padding: 10px;\r\n    }\r\n\r\n    #dentsHippoDiagnostic .dh-card {\r\n      padding: 18px;\r\n    }\r\n\r\n    #dentsHippoDiagnostic .dh-grid,\r\n    #dentsHippoDiagnostic .dh-badges,\r\n    #dentsHippoDiagnostic .dh-compare {\r\n      grid-template-columns: 1fr;\r\n    }\r\n\r\n    #dentsHippoDiagnostic h1 {\r\n      font-size: 1.55rem;\r\n    }\r\n\r\n    #dentsHippoDiagnostic .dh-big {\r\n      font-size: 1.65rem;\r\n    }\r\n\r\n    #dentsHippoDiagnostic .dh-mood-visual {\r\n      width: 130px;\r\n      height: 130px;\r\n    }\r\n\r\n    #dentsHippoDiagnostic th,\r\n    #dentsHippoDiagnostic td {\r\n      font-size: 0.9rem;\r\n      padding: 9px;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n  const brandPrices = [\r\n    { name: \"M-Budget\", price: 0.40 },\r\n    { name: \"Candida\", price: 2.95 },\r\n    { name: \"Signal\", price: 3.80 },\r\n    { name: \"Colgate\", price: 3.65 },\r\n    { name: \"Elmex\", price: 4.90 },\r\n    { name: \"Weleda\", price: 5.50 },\r\n    { name: \"Bioniq\", price: 7.90 },\r\n    { name: \"Elgydium\", price: 6.95 },\r\n    { name: \"Parodontax\", price: 6.50 },\r\n    { name: \"Marvis\", price: 8.00 },\r\n    { name: \"Sensodyne\", price: 9.20 },\r\n    { name: \"Emofluor\", price: 7.95 },\r\n    { name: \"Autre \/ je ne sais pas\", price: 5.00 }\r\n  ];\r\n\r\n  const STANDARD_TUBE_G = 75;\r\n  const PLASTIC_PER_TUBE_G = 11;\r\n  const RECOMMENDED_DOSE_ADULT_G = 0.25;\r\n  const RECOMMENDED_DOSE_CHILD_G = 0.25;\r\n  const SWISS_REFERENCE_DOSE_G = 0.75;\r\n  const RINSE_WATER_L_PER_BRUSH = 0.2;\r\n\r\n  const POSITIVE_IMAGE = \"http:\/\/www.dents-hippo.ch\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-25-mai-2026-17_58_48.png\";\r\n  const MIXED_IMAGE = \"http:\/\/www.dents-hippo.ch\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-25-mai-2026-18_01_09.png\";\r\n  const NEGATIVE_IMAGE = \"http:\/\/www.dents-hippo.ch\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-25-mai-2026-18_03_24.png\";\r\n\r\n  function chf(value) {\r\n    return Math.round(value).toLocaleString(\"fr-CH\") + \" CHF\";\r\n  }\r\n\r\n  function oneDecimal(value) {\r\n    return (Math.round(value * 10) \/ 10).toLocaleString(\"fr-CH\");\r\n  }\r\n\r\n  function twoDecimals(value) {\r\n    return (Math.round(value * 100) \/ 100).toLocaleString(\"fr-CH\");\r\n  }\r\n\r\n  function percent(value) {\r\n    return Math.round(value).toLocaleString(\"fr-CH\") + \" %\";\r\n  }\r\n\r\n  function kg(value) {\r\n    if (Math.abs(value) < 1) {\r\n      return twoDecimals(value) + \" kg\";\r\n    }\r\n    return oneDecimal(value) + \" kg\";\r\n  }\r\n\r\n  function tubes(value) {\r\n    return Math.round(value).toLocaleString(\"fr-CH\") + \" tubes\";\r\n  }\r\n\r\n  function liters(value) {\r\n    return Math.round(value).toLocaleString(\"fr-CH\") + \" L\";\r\n  }\r\n\r\n  function initBrands() {\r\n    const brandSelect = document.getElementById(\"brand\");\r\n    if (!brandSelect) return;\r\n\r\n    brandSelect.innerHTML = \"\";\r\n\r\n    brandPrices.forEach((brand, index) => {\r\n      const option = document.createElement(\"option\");\r\n      option.value = index;\r\n      option.textContent = brand.name;\r\n\r\n      if (brand.name === \"Elmex\") {\r\n        option.selected = true;\r\n      }\r\n\r\n      brandSelect.appendChild(option);\r\n    });\r\n\r\n    brandSelect.removeEventListener(\"change\", updateBrandPrice);\r\n    brandSelect.addEventListener(\"change\", updateBrandPrice);\r\n\r\n    updateBrandPrice();\r\n    updateFormProgress();\r\n  }\r\n\r\n  function updateBrandPrice() {\r\n    const brandSelect = document.getElementById(\"brand\");\r\n    const priceInput = document.getElementById(\"pricePerTube\");\r\n\r\n    if (!brandSelect || !priceInput) return;\r\n\r\n    const selected = brandPrices[parseInt(brandSelect.value, 10)];\r\n\r\n    if (selected) {\r\n      priceInput.value = selected.price.toFixed(2);\r\n    }\r\n\r\n    updateFormProgress();\r\n  }\r\n\r\n  function updateFormProgress() {\r\n    const fields = document.querySelectorAll(\"#dentsHippoDiagnostic select, #dentsHippoDiagnostic input\");\r\n    const bar = document.getElementById(\"formProgress\");\r\n\r\n    if (!fields.length || !bar) return;\r\n\r\n    let filled = 0;\r\n\r\n    fields.forEach(field => {\r\n      if (field.value !== \"\" && field.value !== null) {\r\n        filled++;\r\n      }\r\n    });\r\n\r\n    const progress = Math.round((filled \/ fields.length) * 100);\r\n    bar.style.width = progress + \"%\";\r\n  }\r\n\r\n  function initFunInteractions() {\r\n    const fields = document.querySelectorAll(\"#dentsHippoDiagnostic select, #dentsHippoDiagnostic input\");\r\n\r\n    fields.forEach(field => {\r\n      field.removeEventListener(\"change\", updateFormProgress);\r\n      field.removeEventListener(\"input\", updateFormProgress);\r\n      field.addEventListener(\"change\", updateFormProgress);\r\n      field.addEventListener(\"input\", updateFormProgress);\r\n    });\r\n\r\n    updateFormProgress();\r\n  }\r\n\r\n  function initDiagnostic() {\r\n    initBrands();\r\n    initFunInteractions();\r\n  }\r\n\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\"DOMContentLoaded\", initDiagnostic);\r\n  } else {\r\n    initDiagnostic();\r\n  }\r\n\r\n  setTimeout(initDiagnostic, 400);\r\n\r\n  function launchConfetti(kind) {\r\n    const container = document.getElementById(\"dh-confetti\");\r\n    if (!container) return;\r\n\r\n    container.innerHTML = \"\";\r\n\r\n    const icons = kind === \"positive\"\r\n      ? [\"\ud83e\udd9b\", \"\u2728\", \"\ud83e\udea5\", \"\ud83c\udf31\", \"\ud83d\udc4f\", \"\ud83d\udca7\"]\r\n      : kind === \"mixed\"\r\n        ? [\"\ud83e\udd9b\", \"\ud83e\udea5\", \"\ud83d\udca1\", \"\ud83c\udf31\", \"\ud83d\udca7\"]\r\n        : [\"\ud83e\udd9b\", \"\ud83d\udca1\", \"\ud83e\udea5\", \"\ud83c\udf31\"];\r\n\r\n    for (let i = 0; i < 18; i++) {\r\n      const piece = document.createElement(\"span\");\r\n      piece.className = \"dh-confetti-piece\";\r\n      piece.textContent = icons[Math.floor(Math.random() * icons.length)];\r\n      piece.style.left = Math.floor(Math.random() * 92) + \"%\";\r\n      piece.style.animationDelay = (Math.random() * 0.35) + \"s\";\r\n      container.appendChild(piece);\r\n    }\r\n\r\n    setTimeout(() => {\r\n      container.innerHTML = \"\";\r\n    }, 2000);\r\n  }\r\n\r\n  function durationText(value) {\r\n    const map = {\r\n      nochildren: \"pas d\u2019enfant concern\u00e9\",\r\n      desire: \"dur\u00e9e laiss\u00e9e \u00e0 l\u2019envie de l\u2019enfant\",\r\n      adult: \"dur\u00e9e g\u00e9r\u00e9e par l\u2019adulte\",\r\n      song: \"rep\u00e8re externe de deux minutes\",\r\n      alone: \"dur\u00e9e g\u00e9r\u00e9e par l\u2019enfant seul\"\r\n    };\r\n\r\n    return map[value] || \"non pr\u00e9cis\u00e9\";\r\n  }\r\n\r\n  function supervisionText(value) {\r\n    const map = {\r\n      nochildren: \"pas d\u2019enfant concern\u00e9\",\r\n      supervised: \"surveillance ou aide d\u2019un adulte\",\r\n      nearby: \"adulte \u00e0 proximit\u00e9\",\r\n      alone: \"brossage sans contr\u00f4le r\u00e9gulier\"\r\n    };\r\n\r\n    return map[value] || \"non pr\u00e9cis\u00e9\";\r\n  }\r\n\r\n  function doseText(value) {\r\n    const n = Number(value);\r\n\r\n    if (n === 0) return \"pas concern\u00e9\";\r\n    if (n <= 0.10) return \"trace tr\u00e8s fine\";\r\n    if (n <= 0.25) return \"petit pois\";\r\n    if (n <= 0.50) return \"demi-longueur\";\r\n    if (n <= 1.00) return \"longueur compl\u00e8te\";\r\n\r\n    return \"grosse quantit\u00e9\";\r\n  }\r\n\r\n  function premiumReasonText(value) {\r\n    const map = {\r\n      none: \"pas concern\u00e9\",\r\n      sensitive: \"besoin dentaire sp\u00e9cifique\",\r\n      whitening: \"blancheur, haleine ou esth\u00e9tique\",\r\n      brand: \"marque connue ou recommand\u00e9e\",\r\n      marketing: \"promesse marketing rassurante\"\r\n    };\r\n\r\n    return map[value] || \"non pr\u00e9cis\u00e9\";\r\n  }\r\n\r\n  function childDoseControlText(value) {\r\n    const map = {\r\n      nochildren: \"pas d\u2019enfant concern\u00e9\",\r\n      always: \"presque toujours\",\r\n      often: \"souvent\",\r\n      sometimes: \"parfois\",\r\n      never: \"rarement ou jamais\"\r\n    };\r\n\r\n    return map[value] || \"non pr\u00e9cis\u00e9\";\r\n  }\r\n\r\n  function childControlGap(value) {\r\n    const map = {\r\n      nochildren: \"non applicable\",\r\n      always: \"tr\u00e8s bon rep\u00e8re\",\r\n      often: \"point plut\u00f4t solide\",\r\n      sometimes: \"contr\u00f4le irr\u00e9gulier\",\r\n      never: \"levier important\"\r\n    };\r\n\r\n    return map[value] || \"non pr\u00e9cis\u00e9\";\r\n  }\r\n\r\n  function durationGap(value) {\r\n    const map = {\r\n      nochildren: \"non applicable\",\r\n      desire: \"dur\u00e9e variable\",\r\n      adult: \"encadrement correct\",\r\n      song: \"rep\u00e8re tr\u00e8s stable\",\r\n      alone: \"autonomie \u00e0 v\u00e9rifier\"\r\n    };\r\n\r\n    return map[value] || \"non pr\u00e9cis\u00e9\";\r\n  }\r\n\r\n  function calculateDiagnostic() {\r\n    const adults = Number(document.getElementById(\"adults\").value);\r\n    const children = Number(document.getElementById(\"children\").value);\r\n    const adultBrushes = Number(document.getElementById(\"adultBrushes\").value);\r\n    const childBrushes = children > 0 ? Number(document.getElementById(\"childBrushes\").value) : 0;\r\n    const adultDose = Number(document.getElementById(\"adultDose\").value);\r\n    const childDose = children > 0 ? Number(document.getElementById(\"childDose\").value) : 0;\r\n    const pricePerTube = Number(document.getElementById(\"pricePerTube\").value);\r\n    const selectedBrand = brandPrices[parseInt(document.getElementById(\"brand\").value, 10)].name;\r\n    const leftoverRate = Number(document.getElementById(\"leftInTube\").value);\r\n    const waterLitersPerBrush = Number(document.getElementById(\"waterHabit\").value);\r\n    const adultUsesPremium = document.getElementById(\"adultUsesPremium\").value;\r\n    const premiumReason = document.getElementById(\"premiumReason\").value;\r\n    const marketingInfluence = Number(document.getElementById(\"marketingInfluence\").value);\r\n    const cheapBelief = Number(document.getElementById(\"cheapBelief\").value);\r\n    const childDoseControl = document.getElementById(\"childDoseControl\").value;\r\n    const childSupervision = document.getElementById(\"childSupervision\").value;\r\n    const childDuration = document.getElementById(\"childDuration\").value;\r\n    const durationMethod = document.getElementById(\"durationMethod\").value;\r\n\r\n    const adultKgYear = adults * adultBrushes * adultDose * 365 \/ 1000;\r\n    const childKgYear = children * childBrushes * childDose * 365 \/ 1000;\r\n    const actualKgYear = adultKgYear + childKgYear;\r\n\r\n    const recommendedAdultKgYear = adults * 2 * RECOMMENDED_DOSE_ADULT_G * 365 \/ 1000;\r\n    const recommendedChildKgYear = children * 2 * RECOMMENDED_DOSE_CHILD_G * 365 \/ 1000;\r\n    const recommendedKgYear = recommendedAdultKgYear + recommendedChildKgYear;\r\n\r\n    const swissRefKgYear = (adults + children) * 2 * SWISS_REFERENCE_DOSE_G * 365 \/ 1000;\r\n\r\n    const actualTubesYear = actualKgYear * 1000 \/ (STANDARD_TUBE_G * (1 - leftoverRate));\r\n    const recommendedTubesYear = recommendedKgYear * 1000 \/ STANDARD_TUBE_G;\r\n\r\n    const actualCostYear = actualTubesYear * pricePerTube;\r\n    const recommendedCostYear = recommendedTubesYear * pricePerTube;\r\n\r\n    const actualPlasticKgYear = actualTubesYear * PLASTIC_PER_TUBE_G \/ 1000;\r\n    const recommendedPlasticKgYear = recommendedTubesYear * PLASTIC_PER_TUBE_G \/ 1000;\r\n\r\n    const allBrushesYear = (adults * adultBrushes + children * childBrushes) * 365;\r\n    const rinseWaterYearLiters = allBrushesYear * RINSE_WATER_L_PER_BRUSH;\r\n    const openTapWaterYearLiters = allBrushesYear * waterLitersPerBrush;\r\n    const waterYearLiters = rinseWaterYearLiters + openTapWaterYearLiters;\r\n\r\n    const extraKg = Math.max(0, actualKgYear - recommendedKgYear);\r\n    const extraTubes = Math.max(0, actualTubesYear - recommendedTubesYear);\r\n    const savingCHF = Math.max(0, actualCostYear - recommendedCostYear);\r\n    const avoidPlastic = Math.max(0, actualPlasticKgYear - recommendedPlasticKgYear);\r\n\r\n    const recRatio = recommendedKgYear > 0 ? actualKgYear \/ recommendedKgYear : 0;\r\n    const swissRatio = swissRefKgYear > 0 ? actualKgYear \/ swissRefKgYear : 0;\r\n\r\n    let title = \"\";\r\n    let profile = \"\";\r\n    let moodKind = \"\";\r\n\r\n    if (recRatio <= 1.15) {\r\n      title = \"Super doseur du petit pois\";\r\n      profile = \"Votre foyer utilise une quantit\u00e9 de dentifrice proche de la recommandation. Le principal enjeu n\u2019est probablement pas le volume consomm\u00e9, mais la r\u00e9gularit\u00e9 du geste et la qualit\u00e9 du brossage.\";\r\n      moodKind = \"positive\";\r\n    } else if (recRatio <= 2.2) {\r\n      title = \"Explorateur en progr\u00e8s\";\r\n      profile = \"Votre foyer d\u00e9passe l\u2019usage recommand\u00e9, sans tomber dans une surconsommation extr\u00eame. Les \u00e9carts viennent souvent de petites habitudes r\u00e9p\u00e9t\u00e9es : demi-longueur de brosse, restes dans les tubes, robinet ouvert ou contr\u00f4le irr\u00e9gulier des enfants.\";\r\n      moodKind = \"mixed\";\r\n    } else {\r\n      title = \"Mission anti-gaspillage \u00e0 lancer\";\r\n      profile = \"Votre foyer utilise nettement plus de dentifrice que la recommandation. L\u2019effet est concret : plus de tubes achet\u00e9s, plus de co\u00fbt familial, plus de plastique et plus de dentifrice envoy\u00e9 vers les eaux us\u00e9es.\";\r\n      moodKind = \"negative\";\r\n    }\r\n\r\n    const moodVisual = document.getElementById(\"moodVisual\");\r\n    const moodImage = document.getElementById(\"moodImage\");\r\n\r\n    moodVisual.classList.remove(\"dh-mood-positive\", \"dh-mood-mixed\", \"dh-mood-negative\");\r\n\r\n    if (moodKind === \"positive\") {\r\n      moodImage.src = POSITIVE_IMAGE;\r\n      moodImage.alt = \"Bon profil\";\r\n      moodVisual.classList.add(\"dh-mood-positive\");\r\n      moodVisual.setAttribute(\"aria-label\", \"Bon profil\");\r\n      launchConfetti(\"positive\");\r\n    } else if (moodKind === \"mixed\") {\r\n      moodImage.src = MIXED_IMAGE;\r\n      moodImage.alt = \"Profil mitig\u00e9\";\r\n      moodVisual.classList.add(\"dh-mood-mixed\");\r\n      moodVisual.setAttribute(\"aria-label\", \"Profil mitig\u00e9\");\r\n      launchConfetti(\"mixed\");\r\n    } else {\r\n      moodImage.src = NEGATIVE_IMAGE;\r\n      moodImage.alt = \"Profil \u00e0 am\u00e9liorer\";\r\n      moodVisual.classList.add(\"dh-mood-negative\");\r\n      moodVisual.setAttribute(\"aria-label\", \"Profil \u00e0 am\u00e9liorer\");\r\n      launchConfetti(\"negative\");\r\n    }\r\n\r\n    document.getElementById(\"profileTitle\").textContent = title;\r\n    document.getElementById(\"profileText\").textContent = profile;\r\n\r\n    document.getElementById(\"annualKg\").textContent = kg(actualKgYear);\r\n    document.getElementById(\"annualCost\").textContent = chf(actualCostYear);\r\n    document.getElementById(\"annualPlastic\").textContent = twoDecimals(actualPlasticKgYear);\r\n\r\n    document.getElementById(\"swissMeter\").style.width = Math.min(100, (swissRatio * 100) \/ 2) + \"%\";\r\n    document.getElementById(\"recMeter\").style.width = Math.min(100, (recRatio * 100) \/ 2.5) + \"%\";\r\n\r\n    document.getElementById(\"swissText\").innerHTML =\r\n      \"Votre foyer se situe \u00e0 <strong>\" + percent(swissRatio * 100) + \"<\/strong> du rep\u00e8re suisse p\u00e9dagogique utilis\u00e9 ici, bas\u00e9 sur 0,75 g par brossage.\";\r\n\r\n    document.getElementById(\"recText\").innerHTML =\r\n      \"Votre foyer se situe \u00e0 <strong>\" + percent(recRatio * 100) + \"<\/strong> de l\u2019usage recommand\u00e9, bas\u00e9 sur 0,25 g par brossage, 2 fois par jour.\";\r\n\r\n    document.getElementById(\"yourKgSwiss\").textContent = kg(actualKgYear) + \" \/ an\";\r\n    document.getElementById(\"swissKgRef\").textContent = kg(swissRefKgYear) + \" \/ an\";\r\n    document.getElementById(\"recommendedKg\").textContent = kg(recommendedKgYear) + \" \/ an\";\r\n    document.getElementById(\"extraKg\").textContent = kg(extraKg) + \" \/ an\";\r\n\r\n    document.getElementById(\"savingCHF\").textContent = chf(savingCHF) + \" \/ an\";\r\n    document.getElementById(\"savingTubes\").textContent = tubes(extraTubes) + \" \/ an\";\r\n    document.getElementById(\"savingFiveYears\").textContent = chf(savingCHF * 5);\r\n\r\n    document.getElementById(\"avoidToWater\").textContent = kg(extraKg) + \" \/ an\";\r\n    document.getElementById(\"avoidPlastic\").textContent = kg(avoidPlastic) + \" \/ an\";\r\n    document.getElementById(\"avoidWater\").textContent = liters(openTapWaterYearLiters) + \" \/ an\";\r\n\r\n    document.getElementById(\"rinseWater\").textContent = liters(rinseWaterYearLiters) + \" \/ an\";\r\n    document.getElementById(\"openTapWater\").textContent = liters(openTapWaterYearLiters) + \" \/ an\";\r\n    document.getElementById(\"totalWater\").textContent = liters(waterYearLiters) + \" \/ an\";\r\n\r\n    let habitText = \"Votre marque principale est \" + selectedBrand + \", pour un prix moyen d\u00e9clar\u00e9 de \" + chf(pricePerTube) + \" par tube. \";\r\n    habitText += \"Les adultes utilisent en moyenne une quantit\u00e9 de type \u00ab \" + doseText(adultDose) + \" \u00bb, tandis que les enfants utilisent une quantit\u00e9 de type \u00ab \" + doseText(childDose) + \" \u00bb. \";\r\n\r\n    if (children > 0) {\r\n      habitText += \"Pour les enfants, la surveillance est d\u00e9crite comme : \" + supervisionText(childSupervision) + \", avec une dur\u00e9e de brossage de \" + (childDuration === \"nochildren\" ? \"non concern\u00e9e\" : childDuration + \" secondes environ\") + \" et une gestion de dur\u00e9e : \" + durationText(durationMethod) + \". \";\r\n\r\n      if (childDoseControl === \"always\") {\r\n        habitText += \"Le contr\u00f4le de la quantit\u00e9 par l\u2019adulte est un point fort. \";\r\n      } else if (childDoseControl === \"often\") {\r\n        habitText += \"La quantit\u00e9 est souvent contr\u00f4l\u00e9e, mais il peut rester une variabilit\u00e9 selon les moments. \";\r\n      } else if (childDoseControl === \"sometimes\" || childDoseControl === \"never\") {\r\n        habitText += \"Le contr\u00f4le de la quantit\u00e9 est un levier important : c\u2019est souvent l\u00e0 que le surdosage des enfants appara\u00eet. \";\r\n      }\r\n    }\r\n\r\n    if (adultUsesPremium === \"yes\") {\r\n      habitText += \"Les adultes utilisent g\u00e9n\u00e9ralement un dentifrice plus cher. La raison d\u00e9clar\u00e9e est : \" + premiumReasonText(premiumReason) + \". \";\r\n    } else if (adultUsesPremium === \"sometimes\") {\r\n      habitText += \"Les adultes utilisent parfois un dentifrice plus cher, ce qui peut \u00eatre coh\u00e9rent en cas de besoin sp\u00e9cifique, mais pas forc\u00e9ment pour un usage quotidien ordinaire. \";\r\n    }\r\n\r\n    if (marketingInfluence >= 2 || cheapBelief >= 2) {\r\n      habitText += \"Votre achat semble aussi influenc\u00e9 par des repr\u00e9sentations de marque, de prix ou de qualit\u00e9. Le diagnostic invite \u00e0 distinguer besoin r\u00e9el, effet marketing et habitude familiale.\";\r\n    } else {\r\n      habitText += \"Votre rapport \u00e0 l\u2019achat semble relativement critique : vous ne semblez pas confondre automatiquement prix \u00e9lev\u00e9, marque connue et meilleure efficacit\u00e9.\";\r\n    }\r\n\r\n    document.getElementById(\"habitText\").textContent = habitText;\r\n\r\n    const rows = [\r\n      [\"Dentifrice consomm\u00e9\", kg(actualKgYear), kg(recommendedKgYear), kg(actualKgYear - recommendedKgYear)],\r\n      [\"Dont adultes\", kg(adultKgYear), kg(recommendedAdultKgYear), kg(adultKgYear - recommendedAdultKgYear)],\r\n      [\"Dont enfants\", kg(childKgYear), kg(recommendedChildKgYear), kg(childKgYear - recommendedChildKgYear)],\r\n      [\"Tubes utilis\u00e9s\", tubes(actualTubesYear), tubes(recommendedTubesYear), tubes(actualTubesYear - recommendedTubesYear)],\r\n      [\"Co\u00fbt familial\", chf(actualCostYear), chf(recommendedCostYear), chf(actualCostYear - recommendedCostYear)],\r\n      [\"Plastique d\u2019emballage\", kg(actualPlasticKgYear), kg(recommendedPlasticKgYear), kg(actualPlasticKgYear - recommendedPlasticKgYear)],\r\n      [\"Eau minimale de rin\u00e7age\", liters(rinseWaterYearLiters), \"0,2 L par brossage\", \"Non \u00e9vitable\"],\r\n      [\"Eau li\u00e9e au robinet ouvert\", liters(openTapWaterYearLiters), \"0 L si robinet ferm\u00e9\", liters(openTapWaterYearLiters)],\r\n      [\"Eau totale estim\u00e9e\", liters(waterYearLiters), liters(rinseWaterYearLiters), liters(openTapWaterYearLiters)],\r\n      [\"Contr\u00f4le de la quantit\u00e9 enfant\", childDoseControlText(childDoseControl), \"Contr\u00f4le r\u00e9gulier\", childControlGap(childDoseControl)],\r\n      [\"Dur\u00e9e enfant\", durationText(durationMethod), \"Rep\u00e8re stable d\u2019environ 2 minutes\", durationGap(durationMethod)]\r\n    ];\r\n\r\n    document.getElementById(\"detailsTable\").innerHTML = rows.map(row => `\r\n      <tr>\r\n        <td>${row[0]}<\/td>\r\n        <td>${row[1]}<\/td>\r\n        <td>${row[2]}<\/td>\r\n        <td>${row[3]}<\/td>\r\n      <\/tr>\r\n    `).join(\"\");\r\n\r\n    document.getElementById(\"dh-results\").style.display = \"block\";\r\n    document.getElementById(\"dh-results\").scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n  }\r\n\r\n  function resetDiagnostic() {\r\n    document.getElementById(\"adults\").value = \"2\";\r\n    document.getElementById(\"children\").value = \"2\";\r\n    document.getElementById(\"adultBrushes\").value = \"2\";\r\n    document.getElementById(\"childBrushes\").value = \"2\";\r\n    document.getElementById(\"adultUsesPremium\").value = \"no\";\r\n    document.getElementById(\"premiumReason\").value = \"none\";\r\n    document.getElementById(\"marketingInfluence\").value = \"1\";\r\n    document.getElementById(\"cheapBelief\").value = \"1\";\r\n    document.getElementById(\"adultDose\").value = \"0.50\";\r\n    document.getElementById(\"childDose\").value = \"0.25\";\r\n    document.getElementById(\"childDoseControl\").value = \"often\";\r\n    document.getElementById(\"leftInTube\").value = \"0.05\";\r\n    document.getElementById(\"childSupervision\").value = \"supervised\";\r\n    document.getElementById(\"childDuration\").value = \"90\";\r\n    document.getElementById(\"durationMethod\").value = \"adult\";\r\n    document.getElementById(\"waterHabit\").value = \"0\";\r\n\r\n    const brandSelect = document.getElementById(\"brand\");\r\n\r\n    for (let i = 0; i < brandSelect.options.length; i++) {\r\n      if (brandSelect.options[i].textContent === \"Elmex\") {\r\n        brandSelect.selectedIndex = i;\r\n        break;\r\n      }\r\n    }\r\n\r\n    updateBrandPrice();\r\n\r\n    const moodVisual = document.getElementById(\"moodVisual\");\r\n    const moodImage = document.getElementById(\"moodImage\");\r\n\r\n    moodVisual.classList.remove(\"dh-mood-positive\", \"dh-mood-mixed\", \"dh-mood-negative\");\r\n    moodImage.src = \"\";\r\n    moodImage.alt = \"R\u00e9sultat du diagnostic\";\r\n\r\n    document.getElementById(\"dh-results\").style.display = \"none\";\r\n    updateFormProgress();\r\n  }\r\n<\/script>\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\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Vos pratiques actuelles sont-elles adapt\u00e9es ?Mesurez vous au calculateur de notre intraitable hippopotame ! \ud83e\udd9b Mission Dents-Hippo Bienvenue dans la mission du petit pois ! R\u00e9pondez avec vos vraies habitudes familiales : ce que vous achetez, ce que vous payez, ce que les adultes et les enfants mettent sur la brosse, la dur\u00e9e r\u00e9elle du [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_angie_page":false,"footnotes":""},"class_list":["post-1252","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/pages\/1252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/comments?post=1252"}],"version-history":[{"count":63,"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/pages\/1252\/revisions"}],"predecessor-version":[{"id":1492,"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/pages\/1252\/revisions\/1492"}],"wp:attachment":[{"href":"https:\/\/www.dents-hippo.ch\/index.php\/wp-json\/wp\/v2\/media?parent=1252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}