{"title":"Toilettage","description":"\u003ch1 style=\"text-align: center;\"\u003eNous vendons tout pour que vous ayez chez vous le top : table toilettage, ciseaux pour chiens, tondeuse professionnelle , etc\u003c\/h1\u003e\n\u003ch2 style=\"text-align: center;\"\u003eLe toilettage est un art que nous cultivons !\u003c\/h2\u003e\n\u003ch3 style=\"text-align: center;\"\u003eLe savez-vous ? Les équipements de toilettage sont devenus un \u003cstrong\u003evéritable casse-tête pour les professionnels\u003c\/strong\u003e \u003cstrong\u003e! Le matériel de qualité fait la différence aussi bien en terme de résultat que de fatigue et de plaisir de travail !\u003c\/strong\u003e\n\u003c\/h3\u003e\n\u003ch3 style=\"text-align: center;\"\u003eDes peignes ou des tondeuses qui ne résistent à rien, des ciseaux qui se dérèglent dès vos premiers mouvements : \u003cstrong\u003etout cela, vous en trouverez des catalogues pleins, mais pas ici !\u003c\/strong\u003e\n\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eQuels produits de toilettage sont proposés sur cette page web ? Réponse : Cette page web propose une variété de produits de toilettage, tels que des tables de toilettage, des ciseaux pour chiens, et des tondeuses professionnelles, entre autres.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eComment cette boutique en ligne souligne-t-elle l'importance du matériel de qualité pour les professionnels du toilettage ? Réponse : La boutique met en avant que le matériel de qualité joue un rôle crucial dans les résultats obtenus, la réduction de la fatigue et le plaisir du travail pour les professionnels du toilettage.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eQu'est-ce qui rend les ciseaux Special One uniques et où sont-ils fabriqués ? Réponse : Les ciseaux Special One sont fabriqués de manière artisanale en Italie, ce qui les rend uniques. Ils semblent être une exception en Europe en termes de fabrication.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eComment la boutique garantit-elle la qualité des équipements vendus ? Réponse : La boutique déclare connaître les fabricants, tester les produits et s'assurer de la qualité et des performances des équipements qu'elle propose.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eEn quoi le choix d'outils de toilettage adaptés est-il bénéfique pour les professionnels ? Réponse : Le choix d'outils de toilettage adaptés est bénéfique car il permet d'améliorer les résultats du toilettage, réduit la fatigue et contribue à un travail plus agréable.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eQuels sont les différents types de ciseaux de toilettage proposés et comment sont-ils utilisés ? Réponse : La boutique propose différents types de ciseaux de toilettage, tels que droits, courbes, effileurs et cranteurs, chacun étant adapté à des situations spécifiques de toilettage.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eEst-ce que le trimmer pour chien peut également être utilisé sur d'autres animaux, comme les chats ? Réponse : Le trimmer pour chien, aussi appelé couteau à épiler, est spécialement conçu pour le toilettage canin, mais il peut également être utilisé sur d'autres animaux, comme les chats.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eQuels facteurs doivent être pris en compte pour choisir une baignoire pour chien adaptée au toilettage ? Réponse : Pour choisir une baignoire de toilettage adaptée, il est essentiel de considérer la hauteur réglable, la profondeur, la taille des rebords, ainsi que le matériau de fabrication, plastique ou métal.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eY a-t-il des ressources ou des tutoriels pour améliorer ses compétences en toilettage sur ce site ? Réponse : Le site mentionne que le toilettage est un domaine complexe et en constante évolution, incitant les clients à se former et s'entraîner, sans mentionner spécifiquement de ressources ou de tutoriels.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eComment cette boutique en ligne propose-t-elle de rester informé sur les nouveaux accessoires et équipements de toilettage disponibles ? Réponse : Le site ne mentionne pas spécifiquement de moyen pour rester informé sur les nouveaux accessoires et équipements de toilettage. Il pourrait être utile de contacter la boutique ou de s'inscrire à une newsletter, le cas échéant.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp style=\"text-align: center;\"\u003eÀ l’exception des ciseaux \u003cstrong\u003eSpecial One\u003c\/strong\u003e fabriqués en Italie de manière artisanale, il n’existe d’ailleurs quasiment plus aucun fabricant en Europe.\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003eMauvais ouvrier n’a jamais bon outil. Et c’est vrai qu’avec les meilleurs gestes du monde, sans un outil correct et adapté, vous n’arriverez à rien !\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003eVoilà pourquoi nous avons choisi de rassembler des équipements, \u003cstrong\u003edont nous vous garantissons la qualité professionnelle\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003eNous connaissons leurs fabricants, nous testons leurs produits, et nous nous assurons qu’ils en maintiennent ou qu’ils en améliorent la qualité et la performance.\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003eIl ne reste plus maintenant qu’à \u003cstrong\u003efaire votre choix\u003c\/strong\u003e !\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003eNous avons compilé ici tout un recueil d'outils et accessoires qui permettront à tout un chacun de toiletter aisément. Point de discount, le pas cher ne rime pas avec bon toilettage. Par contre, nous vous assurons un niveau de performance optimal dans tous les domaines d'activité proposés :\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cspan\u003e•\u003c\/span\u003e\u003cspan\u003e tondeuse chien professionnelle : utilisée par les toiletteurs en dernier recours, lorsque la situation est irrattrapable... Bien souvent c'est avec grand regret que ces derniers utilisent les tondeuses pour animaux, finalement utilisés prioritairement pour libérer les animaux de leurs noeuds indémêlables... (nous vous conseillons pourtant de tenter l'utilisation de nos cosmétiques ultra performantes Special One !).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cspan\u003e• \u003cstrong\u003eciseaux toilettage chien\u003c\/strong\u003e : qu'ils soient droits ou courbes, effileurs ou cranteurs, vous devez avoir le choix du matériel. Bien souvent, les pro ont des dizaines de paires de ciseau chiens à disposition afin de pallier toutes les situations du quotidien. Vous imaginez bien que les bols d'un cocker américain ne se coupent pas avec le même matériel que la robe soyeuse d'un yorkshire ou encore que la barbe d'un schnauzer !\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cspan\u003e\u003cspan\u003e•\u003c\/span\u003e\u003cspan\u003e trimmer pour chien : aussi appelé couteau à épiler pour chiens, cet ustensile de toilettage, à la forme barbare, est spécifiquement étudiée pour un travail le plus soigné et rapide possible. Vous savez sans doute que le poil de nombreuses races de chiens ne tombe pas de lui-même... Oui, la phase télogène ne permet pas l'expulsion du poil mort. Il faut donc une action mécanique pour rendre au chien un look normal, c'est à dire ne présentant que des poils sains, et vivants. Cette pratique de l'épilation au trimmer pour chat existe aussi. La pierre à épiler est une autre manière de travailler, tandis que d'autres toiletteurs vont préférer une épilation manuelle ou au doigtier plastique.\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cspan\u003e\u003cspan\u003e\u003cspan\u003e•\u003c\/span\u003e\u003cspan\u003e baignoire pour chien : que serait le toilettage des animaux sans une baignoire ? Tout professionnel accordera un soin tout particulier à l'étape du bain. Indispensable pour l'évacuation des saletés et impuretés, le shampoing et les masques appliqués doivent permettre un lavage en douceur, sans jamais mettre en danger le sebum de la peau, si précieux... Pour que cette étape soit parfaitement maitrisée, choisir une bonne baignoire de toilettage est une étape cruciale : prenez en compte la hauteur de celle-ci (bien souvent réglable par vérin hydraulique ou électrique), sa profondeur, la taille de ses rebords. Dans la même logique, prenez bien en compte la matière dans laquelle à été créé la baignoire chien que vous achetez : plastique ou métal, à chaque matériel ses spécificités. Regardez toutes nos fiches produits pour en découvrir plus.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cspan\u003e\u003cspan\u003e\u003cspan\u003e\u003cspan\u003e•\u003c\/span\u003e\u003cspan\u003e \u003cstrong\u003eaccessoires et matériel de toilettage\u003c\/strong\u003e divers : domaine complexe et en perpétuelle évolution, le toilettage nécessite de plus en plus d\"outils perfectionnés permettant une maîtrise complète de la morphologie de l'animal. Le poil est une substance vivante qui se dompte et se dresse... mais pour cela, vous devez avoir chez vous tout ce qui correspond à vos besoins. Formez-vous, entrainez-vous, et nous vous accompagnerons pour exceller;.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e","products":[{"product_id":"bain-pro-shampoing-doux-tous-pelages","title":"BAIN PRO, shampoing doux tous pelages","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n\u003cstrong\u003eBAIN PRO\u003c\/strong\u003e est le shampoing professionnel très concentré Special One qui sublime les fourrures en étant \u003cstrong\u003ele plus doux possible, sans jamais agresser\u003c\/strong\u003e. Il révèle la meilleure version du poil — sans amplifier ni le volume ni la texture — en laissant simplement s’exprimer sa vraie nature. C’est aussi un \u003cstrong\u003eantiparasitaire naturel d’appoint\u003c\/strong\u003e : sa mousse abondante et son pH acide neutralisent les puces mécaniquement, sans insecticide chimique. Un seul shampoing, des dizaines de bénéfices.\u003c\/div\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — concurrent direct de l'Aquarosa Pro (le plus nourrissant), \u003cstrong\u003eBain Pro est le choix de la douceur absolue\u003c\/strong\u003e pour tous les pelages, du chiot au sénior.\u003c\/p\u003e\n\u003cdiv class=\"aqr-audience\"\u003e\n\u003cdiv class=\"aqr-audience-grid\"\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnrichi d’un mélange de \u003cstrong\u003etensioactifs d’origine naturelle\u003c\/strong\u003e et de substances hydratantes, Bain Pro redonne brillance et élasticité au poil dès les premiers soins. Son \u003cstrong\u003eaction antiparasitaire naturelle\u003c\/strong\u003e — par asphyxie mécanique via la mousse abondante et un pH acide qui fragilise les puces — en fait un lavant d’appoint parfaitement adapté aux chiots, chatons et animaux sensibles, \u003cstrong\u003esans insecticide chimique\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin: 4px 0 4px;\"\u003e⚠️ \u003cstrong\u003eLimite de douceur :\u003c\/strong\u003e de par sa formule très douce, Bain Pro peut ne pas suffire si l’animal est très sale. Dans ce cas, commencez par un premier shampoing plus nettoyant — \u003cstrong\u003eAquapure Pro, Blue Sky Pro ou Aquarosa Pro\u003c\/strong\u003e.\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n\u003cdiv class=\"aqr-benefits-grid\"\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eDouceur universelle : bébé, adulte, sénior\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eBain en douceur pour chiens et chats de tous âges, du bébé au sénior.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eNettoyage en profondeur\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNettoie, assainit et donne un coup d’éclat à tous les types de poils.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 7c3 3 7 7 10 10M17 7C14 10 10 14 7 17\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"2.4\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eAnti-nœuds\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eN’amplifie jamais le volume naturel — évite le retour rapide des nœuds après le bain.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 8a4 4 0 0 1 4 4v2a4 4 0 0 1-8 0v-2a4 4 0 0 1 4-4z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 4v4M9 6l-1.5-1.5M15 6l1.5-1.5M8 12H4M20 12h-4M8 16l-2 1.5M16 16l2 1.5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eAntiparasitaire naturel\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNeutralise mécaniquement les puces par asphyxie via la mousse et le pH acide — sans insecticide chimique.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eProtection kératine\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAugmente les défenses naturelles pour protéger la structure du poil.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4v16M7 8h10M6 8l-2.5 5a3 3 0 0 0 5 0zM18 8l-2.5 5a3 3 0 0 0 5 0z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003ePeaux grasses\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eTraite le sébum en excès tout en préservant le film hydrolipidique.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eBains fréquents\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAucun risque pour la peau et le poil, même en utilisation intensive.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 7;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 9h10l1.5 10H5.5zM9 9V7a3 3 0 0 1 6 0v2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003ePlombé\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAide à plomber les fourrures soyeuses sans les alourdir excessivement.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 8;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21V9\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 13C9 13 6 11 6 7c4 0 6 2 6 6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 11c0-3 2-5 6-5 0 4-3 5-6 5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eCroissance \u0026amp; concours\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eParfait pour faire pousser le poil des chiens de concours, toutes races confondues.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 9;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 7h16M6 7v11M10 7v11M14 7v11M18 7v11\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eDémêlage \u0026amp; brushing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eFacilite le démêlage, rend le brushing plus fluide et réduit le temps de travail.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions du Bain Pro\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n\u003cdiv id=\"so-radar-widget\" style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\"\u003e\n\u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e\n\u003cdiv id=\"so-radar-area\" style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\"\u003e\u003csvg id=\"so-radar-svg\" style=\"width: 100%; height: 100%; overflow: visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 4 }, { label: \"Démêlant\", value: 4 }, { label: \"Plombant\", value: 4 }, { label: \"Texture\", value: 1 }, { label: \"Soin peau\", value: 5 }, { label: \"Brillance\", value: 5 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Bain Pro - fiabilisee) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition du Bain Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eTensioactifs d’origine naturelle, protéines nobles et actifs biosourcés — \u003cstrong\u003esans parabens, sans silicone\u003c\/strong\u003e. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\u003c!-- CARTOGRAPHIE --\u003e\n\u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e\n\u003cdiv class=\"aqr-grid\"\u003e\n\u003cdiv class=\"aqr-col-list\"\u003e\n\u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-schema\"\u003e\n\u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n\u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Bain Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n\u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-info\"\u003e\n\u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'soie', label:'Protéines de Soie', latin:'Sericin \u0026 fibroïne', family:'cond',\n          desc:\"Protéines gainantes à forte affinité kératinique : elles détendent le poil, lissent la cuticule et renforcent la fibre pour une brillance naturelle.\",\n          targets: [\n            { anchor:'cuticule', action:\"Lissage \u0026 gainage\", benefit:\"Lissent la cuticule et favorisent la brillance naturelle du poil.\" },\n            { anchor:'tige_poil', action:\"Renfort de la fibre\", benefit:\"Renforcent la fibre capillaire et détendent le poil au brossage.\" }\n          ]\n        },\n        {\n          id:'lait', label:'Protéines de Lait', latin:'Protéines lactées', family:'cond',\n          desc:\"Protéines nourrissantes qui revitalisent les poils ternes ou cassants et maintiennent la souplesse du manteau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition \u0026 élasticité\", benefit:\"Nourrissent la fibre et redonnent élasticité aux poils ternes ou cassants.\" },\n            { anchor:'cuticule', action:\"Souplesse du manteau\", benefit:\"Maintiennent la souplesse et le confort de toucher du pelage.\" }\n          ]\n        },\n        {\n          id:'lichen', label:'Lichen d’Islande', latin:'Cetraria islandica', family:'botanic',\n          desc:\"Mousse montagnarde riche en polysaccharides et mucilages : propriétés antimicrobiennes, purifiantes et calmantes marquées, elle apaise les peaux déshydratées.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisant \u0026 purifiant\", benefit:\"Apaise les peaux déshydratées, sensibles ou sujettes aux démangeaisons.\" },\n            { anchor:'glande_seb', action:\"Équilibre microbien\", benefit:\"Favorise l’équilibre microbien naturel de la peau.\" }\n          ]\n        },\n        {\n          id:'levures', label:'Levures Hydrolysées', latin:'Ferments biosourcés', family:'bio',\n          desc:\"Actifs biosourcés qui renforcent et illuminent le pelage tout en contribuant à restaurer une barrière cutanée saine.\",\n          targets: [\n            { anchor:'epiderme', action:\"Barrière cutanée\", benefit:\"Contribuent à restaurer une barrière cutanée saine et équilibrée.\" },\n            { anchor:'tige_poil', action:\"Éclat du pelage\", benefit:\"Renforcent et illuminent le poil de l’intérieur.\" }\n          ]\n        },\n        {\n          id:'fucus', label:'Extrait de Fucus', latin:'Chêne marin (algue)', family:'aqua',\n          desc:\"Algue riche en iode, polyphénols et vitamines : les polyphénols soutiennent la régénération cellulaire, l’iode active la circulation dans les racines du poil.\",\n          targets: [\n            { anchor:'follicule', action:\"Circulation \u0026 métabolisme\", benefit:\"L’iode active la circulation et le métabolisme à la racine du poil.\" },\n            { anchor:'derme', action:\"Régénération cellulaire\", benefit:\"Les polyphénols soutiennent la régénération et la tonicité de la peau.\" }\n          ]\n        },\n        {\n          id:'piroctone', label:'Piroctone Olamine', latin:'Actif antifongique \u0026 antiparasitaire doux', family:'bio',\n          desc:\"Actif anti-levures et antifongique naturel ; toxique pour les puces, il participe — avec le pH acide du bain — à l’action antiparasitaire naturelle du Bain Pro.\",\n          targets: [\n            { anchor:'epiderme', action:\"Antiparasitaire (pH acide)\", benefit:\"Avec le pH acide (~5), fragilise l’exosquelette des puces et facilite leur élimination, sans insecticide.\" },\n            { anchor:'glande_seb', action:\"Séborégulation antifongique\", benefit:\"Régule les peaux grasses, réduit les mauvaises odeurs et assainit la flore cutanée.\" }\n          ]\n        },\n        {\n          id:'glycerine', label:'Glycérine Végétale', latin:'Glycérol végétal', family:'aqua',\n          desc:\"Humectant doux qui hydrate poil et peau sans graisser, lisse la cuticule et favorise une brillance durable.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation sans graisser\", benefit:\"Capte et retient l’eau pour une peau et un poil souples.\" },\n            { anchor:'cuticule', action:\"Brillance durable\", benefit:\"Lisse la cuticule et fixe une brillance qui dure.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n\u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n\u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-grid\"\u003e\n\u003c!-- CARTE 1 : Ratio --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part de shampoing\u003cbr\u003epour 20 parts d'eau\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 2 : Rendement --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 3 : Équivalences animées --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n\u003cdetails class=\"aqr-proto-acc\" open=\"\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eLavage en douceur — tous pelages, tous âges\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003eLe protocole de base, adapté à toutes les situations courantes\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePremier shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMouillez le poil abondamment. Appliquez Bain Pro dilué à \u003cstrong\u003e1\/20\u003c\/strong\u003e, puis rincez.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez un \u003cstrong\u003esecond shampoing\u003c\/strong\u003e, puis rincez de nouveau.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSoin final\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec l’après-shampoing adapté : \u003cstrong\u003eHydrating Cream, Bombastic ou Aqua Dolce\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eComplétez le toilettage avec \u003cstrong\u003eAbsolute 4Poodle, Mix Pink ou Style 360\u003c\/strong\u003e selon le besoin.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eProtocole anti-nœuds \u0026amp; régulation du sébum\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003ePour les chiens qui feutrent facilement ou présentent des déséquilibres cutanés (sébum, pellicules, odeurs)\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eCommencez par le masque pré-bain \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e pour préparer et amplifier l’action du shampoing.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eApplication sans rincer\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Bain Pro dilué à 1\/20, \u003cstrong\u003esans rincer le masque\u003c\/strong\u003e au préalable.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePose \u0026amp; rinçage\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eLaissez poser quelques instants, rincez, puis renouvelez si nécessaire.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFinition anti-nœuds\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream + Aqua Dolce\u003c\/strong\u003e pour un manteau conditionné qui retarde le retour des nœuds.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eChoisissez Bain Pro si vous avez besoin de…\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003eLes situations où le Bain Pro fait toute la différence\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eLaver en douceur\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eN’importe quel chien ou chat, quel que soit l’âge ou le type de pelage.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFaire pousser le poil\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eIdéal pour les chiens de concours, toutes races confondues (9e groupe, terriers, 8e groupe…).\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMettre en place un protocole anti-nœuds\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eSur un chien qui feutre facilement.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eRéguler le sébum\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eEn excès ou en manque, avec pellicules ou mauvaises odeurs — sans agresser la peau.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\u003c!-- Bain Pro au cœur + compléments modulaires Si... → Alors --\u003e\n\u003cdiv class=\"aqr-assoc\"\u003e\n\u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToute la gamme Special One\u003c\/strong\u003e est compatible avec le Bain Pro. Nos alliances préférées :\u003c\/p\u003e\n\u003cdiv class=\"aqr-assoc-rules\"\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun nettoyage plus puissant est requis…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBlue Sky Pro · Aquarosa Pro · Aquapure Pro\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final s’impose…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce (+ Hygro Fluid)\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition show est recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003c!-- Races en pilules arrondies --\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où le Bain Pro fait la différence :\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les chats\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐶 Tous les chiens en salon \u003cspan\u003e(limite le retour des nœuds)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🏆 Chiens de show à manteau long \u0026amp; frangé \u003cspan\u003e(franges, toupet, barbe)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées \u003cspan\u003e(Caniches, Bichons, Kerry Blue, Soft Coated, Bedlington)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 Tous les Cockers \u003cspan\u003e(Américain, Anglais)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Races tibétaines \u003cspan\u003e(Shih-Tzu, Lhassa, Terrier du Tibet)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e👑 Épagneuls Nains Anglais \u003cspan\u003e(Cavalier \u0026amp; King Charles)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✨ Fourrures longues \u0026amp; soyeuses \u003cspan\u003e(Yorkshire, Afghans)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐾 Terriers \u003cspan\u003e(Scottish, Westie, Welsh)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe longue et non exhaustive — la douceur absolue pour tous les pelages, du chiot au sénior.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":42903274225884,"sku":"WEX-BA250 (118)","price":21.9,"currency_code":"EUR","in_stock":true},{"title":"1 L","offer_id":42903274258652,"sku":"WEX-BA1 016 (124)","price":42.2,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":42903274291420,"sku":"WEX-BA5 011 (135)","price":108.6,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/Design_sans_titre_-_2025-04-16T140126.314.png?v=1744811139"},{"product_id":"platynum-pro-shampoing-volume","title":"PLATINUM PRO, shampoing volume","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n\u003cstrong\u003ePLATINUM PRO\u003c\/strong\u003e est le shampoing professionnel Special One dont le focus principal est le \u003cstrong\u003eVOLUME\u003c\/strong\u003e. Idéal pour le show et les coupes ciseaux, il révèle tout le volume naturel de la fourrure, \u003cstrong\u003edéfrise durablement\u003c\/strong\u003e et prépare le poil pour des finitions d’exception.\u003c\/div\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eCe produit s'adresse avant tout aux \u003cstrong\u003eprofessionnels et propriétaires de chiens de concours\u003c\/strong\u003e. La recherche de volume et de texture implique un retour des nœuds plus rapide : pour l'usage courant, les particuliers seront mieux servis par Bain Pro, Aquarosa Pro ou 4Poodle.\u003c\/p\u003e\n\u003cdiv class=\"aqr-audience\"\u003e\n\u003cdiv class=\"aqr-audience-grid\"\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnrichi en \u003cstrong\u003edérivés et actifs marins bio\u003c\/strong\u003e, Allantoïne, Chitosane et Beurre de Cacao, le Platinum Pro combine \u003cstrong\u003epuissance volumatrice et soin de la peau\u003c\/strong\u003e. Il illumine les couleurs naturelles, restructure les fourrures et prépare le poil pour des coupes ciseaux qualitatives — avec une finition durable après brushing.\u003c\/p\u003e\n\u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin: 4px 0 4px;\"\u003e⚠️ \u003cstrong\u003eProduit de spécialité :\u003c\/strong\u003e la recherche de volume et de texture favorise un retour rapide des nœuds. À réserver aux jours de show, d’expo ou de coupe ciseaux — pas pour l’entretien quotidien.\u003cbr\u003e\u003cspan style=\"font-size: 12px; color: #888; margin-top: 4px; display: block;\"\u003e❌ Pour le quotidien, privilégiez Bain Pro, Aquarosa Pro ou 4Poodle avec un bon conditionneur.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n\u003cdiv class=\"aqr-benefits-grid\"\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M8 3H5a2 2 0 0 0-2 2v3\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 3h3a2 2 0 0 1 2 2v3\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21H5a2 2 0 0 1-2-2v-3\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 21h3a2 2 0 0 0 2-2v-3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eVolume maximal\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eRévèle tout le volume naturel de la fourrure — résultat spectaculaire dès la première utilisation.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 8c2-3 4-3 6 0s4 3 6 0 4-3 4-3M4 14c2-3 4-3 6 0s4 3 6 0 4-3 4-3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eTexture amplifiée\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eFavorise et renforce la texture propre du poil pour un résultat professionnel.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4c0 4 10 4 10 8s-10 4-10 8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eDéfrisage fort \u0026amp; durable\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eDéfrise fortement et durablement le poil après le brushing.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"6\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 8 L20 18 M8 16 L20 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eCoupe ciseaux qualitative\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003ePrépare le poil pour des coupes ciseaux d’exception les jours de concours et d’exposition.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions du Platinum Pro\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n\u003cdiv id=\"so-radar-widget\" style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\"\u003e\n\u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e\n\u003cdiv id=\"so-radar-area\" style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\"\u003e\u003csvg id=\"so-radar-svg\" style=\"width: 100%; height: 100%; overflow: visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 1 }, { label: \"Démêlant\", value: 1 }, { label: \"Texture\", value: 4 }, { label: \"Volume\", value: 5 }, { label: \"Brillance\", value: 3 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Platinum Pro - fiabilisee) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition du Platinum Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eDérivés et actifs marins bio associés à des ingrédients nobles — \u003cstrong\u003esans parabens, sans silicone\u003c\/strong\u003e. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\u003c!-- CARTOGRAPHIE --\u003e\n\u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e\n\u003cdiv class=\"aqr-grid\"\u003e\n\u003cdiv class=\"aqr-col-list\"\u003e\n\u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-schema\"\u003e\n\u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n\u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Platinum Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n\u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-info\"\u003e\n\u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'allantoine', label:'Allantoïne', latin:'Apaisant cutané', family:'bio',\n          desc:\"Actif calmant et anti-irritant : il protège la barrière cutanée lors des soins intensifs et apaise les peaux sensibles, équilibrant la puissance volumatrice de la formule.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisement \u0026 protection\", benefit:\"Calme les peaux sensibles et protège la barrière cutanée pendant le travail intensif.\" },\n            { anchor:'film_hydro', action:\"Confort cutané\", benefit:\"Préserve le confort de surface malgré l’action texturisante du shampoing.\" }\n          ]\n        },\n        {\n          id:'cacao', label:'Beurre de Cacao', latin:'Theobroma cacao', family:'cond',\n          desc:\"Beurre végétal qui illumine les poils et intensifie les couleurs naturelles : il apporte un fini satiné et de la profondeur au manteau.\",\n          targets: [\n            { anchor:'cuticule', action:\"Éclat \u0026 profondeur\", benefit:\"Lisse la cuticule pour intensifier les couleurs et donner un fini satiné.\" },\n            { anchor:'tige_poil', action:\"Nutrition de la fibre\", benefit:\"Nourrit la fibre et apporte de la profondeur au manteau.\" }\n          ]\n        },\n        {\n          id:'chitosane', label:'Chitosane', latin:'Agent structurant marin', family:'aqua',\n          desc:\"Polymère biosourcé d’origine marine : il nettoie, restructure et lustre les fourrures tout en apportant corps et volume durable à la fibre.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Corps \u0026 volume durable\", benefit:\"Gaine la fibre d’un film structurant qui crée du corps et tient le volume.\" },\n            { anchor:'cuticule', action:\"Structure \u0026 brillance\", benefit:\"Restructure et lustre la surface du poil pour une texture nette et brillante.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n\u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n\u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-grid\"\u003e\n\u003c!-- CARTE 1 : Ratio --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part de shampoing\u003cbr\u003epour 20 parts d'eau\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 2 : Rendement --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 3 : Équivalences animées --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n\u003cdetails class=\"aqr-proto-acc\" open=\"\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eBain show — volume \u0026amp; coupe ciseaux\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003ePour les jours de concours, d’exposition ou de coupe ciseaux de qualité\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePréparez avec \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (éventuellement couplé à \u003cstrong\u003eBombastic\u003c\/strong\u003e) pour hydrater et amplifier l’action du shampoing.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eApplication sur le masque\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Platinum Pro dilué à \u003cstrong\u003e1\/20\u003c\/strong\u003e directement sur le masque, sans rincer. Rincez, puis renouvelez si nécessaire.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSoin final \u0026amp; pose\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream, Bombastic ou Aqua Dolce\u003c\/strong\u003e. Laissez poser \u003cstrong\u003equelques minutes\u003c\/strong\u003e avant de rincer abondamment.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSéchage \u0026amp; finition\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eSéchez et brossez — le volume monte et le défrisage s’installe durablement. Finalisez avec \u003cstrong\u003eAbsolute 4Poodle ou Style 360\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eChoisissez Platinum Pro si vous avez besoin de…\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003eLes situations où le Platinum Pro fait toute la différence\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eCoupe ciseaux qualitative\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePour un événement particulier — show, expo, présentation en ring.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eRévéler le volume naturel\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDe la fourrure, avec un fort pouvoir lavant et nettoyant.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eAmplifier la texture\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDu poil, pour un résultat visuel impeccable et structuré.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eUn défrisage fort et durable\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAprès brushing, sur les fourrures frisées ou bouclées.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\u003c!-- Platinum Pro au cœur + compléments modulaires Si... → Alors --\u003e\n\u003cdiv class=\"aqr-assoc\"\u003e\n\u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToute la gamme Special One\u003c\/strong\u003e est compatible avec le Platinum Pro. Nos alliances préférées :\u003c\/p\u003e\n\u003cdiv class=\"aqr-assoc-rules\"\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun second shampoing est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAquarosa Pro · Aquapure Pro\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est voulu…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy \u0026amp; Bombastic\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final s’impose…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition show est recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute 4Poodle · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003c!-- Races en pilules arrondies --\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où le Platinum Pro fait la différence :\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les chats\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées \u003cspan\u003e(Caniches, Bichons, Kerry Blue, Soft Coated, Bedlington)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🧸 Poils doubles \u0026amp; fourrures complexes \u003cspan\u003e(primitifs, bergers, chiens d’eau)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eVolume et défrisage spectaculaires — liste longue et non exhaustive, réservée aux jours de show.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819386724531,"sku":"WEX-PLA250 (32)","price":22.95,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819386658995,"sku":"WEX-PLA5 018 (40)","price":43.9,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819386691763,"sku":"WEX-PLA1 013 (48)","price":127.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/PlatiniumPro_7a208b5d-6d17-4767-a485-6689fba2be6c.png?v=1680257058"},{"product_id":"keratine-pro-shampoing-texture-epilation","title":"KERATINE PRO, shampoing texture +++","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eKÉRATINE PRO\u003c\/strong\u003e est le shampoing \u003cstrong\u003etexturisant et durcissant\u003c\/strong\u003e Special One, à utiliser dans des \u003cstrong\u003esituations bien spécifiques\u003c\/strong\u003e : épilation post-bain, révélation du volume naturel, amplification de la texture du poil. Un outil de précision — pas un shampoing du quotidien.\n    \u003c\/div\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eCe produit s’adresse avant tout aux \u003cstrong\u003eprofessionnels et propriétaires de chiens de concours\u003c\/strong\u003e. La recherche de texture et de tenue implique un retour des nœuds plus rapide : pour l’usage courant, les particuliers seront mieux servis par Bain Pro, Aquarosa Pro ou 4Poodle.\u003c\/p\u003e\n\n    \u003cdiv class=\"aqr-audience\"\u003e\n      \u003cdiv class=\"aqr-audience-grid\"\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnrichi en \u003cstrong\u003ekératine hydrolysée, chitosane et extrait de sucre de canne\u003c\/strong\u003e, le Kératine Pro nourrit et restructure la fibre tout en lui donnant corps et accroche. Sa formule \u003cstrong\u003esans colorants\u003c\/strong\u003e évite l’effet adoucissant classique des shampoings : le poil reste rêche, texturé et prêt à travailler.\u003c\/p\u003e\n    \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin: 4px 0 4px;\"\u003e⚠️ \u003cstrong\u003eProduit de spécialité :\u003c\/strong\u003e l’excitation du poil induite par ce shampoing favorise un retour rapide des nœuds. À réserver aux jours d’épilation, d’expo ou de coupe nécessitant une texture maximale — pas pour l’entretien quotidien.\u003cbr\u003e\u003cspan style=\"font-size: 12px; color: #888; margin-top: 4px; display: block;\"\u003e❌ Pour le quotidien, privilégiez Bain Pro, Aquarosa Pro ou Aqua Terme.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n      \u003cdiv class=\"aqr-benefits-grid\"\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 2l7 4v6c0 4-3 7-7 8-4-1-7-4-7-8V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 7v8M9 10l3-3 3 3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eDurcissant \u0026amp; texturisant\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eDurcit, texturise et prépare le poil à l’épilation après le bain.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 11V6a1.5 1.5 0 0 1 3 0M8 10V4.5a1.5 1.5 0 0 1 3 0V10M11 10V5.5a1.5 1.5 0 0 1 3 0V11M14 11V7a1.5 1.5 0 0 1 3 0v6a6 6 0 0 1-6 6h-1a6 6 0 0 1-5-3l-2-3.5a1.6 1.6 0 0 1 2.7-1.6L5 13\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eToucher poil de chèvre\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eOptimise le toucher rêche et l’accroche, propices à l’épilation à la main ou au couteau.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M8 3H5a2 2 0 0 0-2 2v3\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 3h3a2 2 0 0 1 2 2v3\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21H5a2 2 0 0 1-2-2v-3\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 21h3a2 2 0 0 0 2-2v-3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eVolume naturel révélé\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eRévèle le volume naturel de la fourrure avec un fort pouvoir lavant et nettoyant.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eNettoyage profond\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eNettoie et assainit profondément — idéal sur les peaux grasses des Terriers.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eExfoliation \u0026amp; renouvellement\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eL’extrait de sucre de canne exfolie, agit contre les impuretés (points noirs) et favorise le renouvellement cellulaire.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions du Kératine Pro\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e\n        \n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Texture\", value: 5 }, { label: \"Volume\", value: 4 }, { label: \"Démêlant\", value: 1 }, { label: \"Hydratation\", value: 1 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Kératine Pro - fiabilisee) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition du Kératine Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eFormule \u003cstrong\u003esans colorants\u003c\/strong\u003e — le choix délibéré d’éviter tout effet adoucissant pour maximiser texture et accroche du poil. Sans parabens, sans silicone. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\n    \u003c!-- CARTOGRAPHIE --\u003e\n    \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e\n      \u003cdiv class=\"aqr-grid\"\u003e\n\n        \u003cdiv class=\"aqr-col-list\"\u003e\n          \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-schema\"\u003e\n          \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n            \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Kératine Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e\n            \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n            \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-info\"\u003e\n          \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'keratine', label:'Kératine Hydrolysée', latin:'Protéine de structure', family:'cond',\n          desc:\"Protéine de structure du poil : elle nourrit et restructure la fibre en profondeur, renforce la kératine naturelle et restitue corps et texture.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Restructuration\", benefit:\"Renforce la kératine naturelle de la fibre et lui rend du corps.\" },\n            { anchor:'cuticule', action:\"Texture \u0026 accroche\", benefit:\"Crée une surface texturée et rêche, propice à l’accroche du poil.\" }\n          ]\n        },\n        {\n          id:'chitosane', label:'Chitosane', latin:'Agent structurant marin', family:'aqua',\n          desc:\"Polymère biosourcé structurant : il assainit en profondeur les peaux grasses, particulièrement efficace sur les Terriers et les races à épiler.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Corps \u0026 structure\", benefit:\"Gaine la fibre d’un film structurant qui crée du corps et de la tenue.\" },\n            { anchor:'glande_seb', action:\"Assainissement\", benefit:\"Assainit en profondeur les peaux grasses des races à épiler.\" }\n          ]\n        },\n        {\n          id:'sucrecanne', label:'Extrait de Sucre de Canne', latin:'Source d’AHA naturels', family:'bio',\n          desc:\"Exfoliant naturel : il agit contre les impuretés et les points noirs, et favorise le renouvellement cellulaire de la peau.\",\n          targets: [\n            { anchor:'epiderme', action:\"Exfoliation douce\", benefit:\"Élimine impuretés et points noirs, et active le renouvellement cellulaire.\" },\n            { anchor:'glande_sud', action:\"Purification\", benefit:\"Aide à purifier les pores et la surface cutanée.\" }\n          ]\n        },\n        {\n          id:'saccharine', label:'Sodium Saccharine', latin:'Raviveur de couleur', family:'bio',\n          desc:\"Raviveur de couleur et réparateur rapide : il restitue l’éclat naturel du pelage tout en participant à la restructuration de la fibre.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Réparation rapide\", benefit:\"Participe à la restructuration et au renfort de la fibre.\" },\n            { anchor:'cuticule', action:\"Éclat ravivé\", benefit:\"Restitue l’éclat naturel du pelage.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n    \u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n    \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n      \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\n      \u003cdiv class=\"aqr-dilution-grid\"\u003e\n\n        \u003c!-- CARTE 1 : Ratio --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part de shampoing\u003cbr\u003epour 20 parts d'eau\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 2 : Rendement --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 3 : Équivalences animées --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n                        \u003cdetails class=\"aqr-proto-acc\" open\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eÉpilation post-bain — accroche \u0026amp; texture maximales\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003ePour préparer le poil à une épilation à la main ou au couteau après le bain\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain (option)\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003ePréparez éventuellement avec un masque \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e pour hydrater la peau avant le travail.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eApplication\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Kératine Pro dilué à \u003cstrong\u003e1\/20\u003c\/strong\u003e sur le poil mouillé. Massez, laissez poser quelques instants.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRinçage\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eRincez, puis renouvelez le shampoing si nécessaire.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRésultat\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eSéchez : le poil est \u003cstrong\u003erêche, texturé, avec une accroche optimale\u003c\/strong\u003e — idéal pour l’épilation à la main ou au couteau.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n          \u003cdiv style=\"margin-top: 12px; background: #f0f7ff; border-left: 3px solid #4a90d9; border-radius: 8px; padding: 10px 14px; font-size: 12px; line-height: 1.5;\"\u003e💡 Si vous épilez \u003cstrong\u003eavant\u003c\/strong\u003e le bain, privilégiez plutôt \u003cstrong\u003eAqua Terme, Bain Pro ou Aquapure Pro\u003c\/strong\u003e pour le shampoing suivant.\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eChoisissez Kératine Pro si vous avez besoin de…\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eLes situations où le Kératine Pro fait toute la différence\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eÉpiler après le bain\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eL’accroche et la texture du poil sont maximales.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRévéler le volume naturel\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDe la fourrure, avec un fort pouvoir lavant et nettoyant.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eAmplifier la texture\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003ePour les jours d’exposition ou de présentation en ring.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eTravailler les peaux grasses\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDes Terriers ou des races à épiler, avec un nettoyage en profondeur et un assainissement cutané.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eLe protocole Terrier ultime — texture, élasticité \u0026amp; épilation sans dessécher\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eUn protocole concentré en une seule étape, universel sur tous les Terriers\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMélange à parts égales\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eMélangez \u003cstrong\u003eà parts égales : Super Keeper + Bio Energy Plus + Kératine Pro\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eApplication\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFaites mousser le mélange, appliquez sur le poil mouillé, massez bien.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRinçage \u0026amp; résultat\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eRincez. Le poil est \u003cstrong\u003etexturisé et durci\u003c\/strong\u003e pour l’épilation, l’\u003cstrong\u003eélasticité préservée\u003c\/strong\u003e grâce au Bio Energy, et le manteau \u003cstrong\u003enon desséché\u003c\/strong\u003e grâce au Super Keeper — le tout en une seule application.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n          \u003cdiv style=\"margin-top: 12px; background: #f0fff4; border-left: 3px solid #2ecc71; border-radius: 8px; padding: 10px 14px; font-size: 12px; line-height: 1.5;\"\u003e✨ \u003cstrong\u003eÀ tester absolument sur tous les Terriers\u003c\/strong\u003e — ce protocole 3-en-1 est un vrai game changer pour quiconque pratique l’épilation régulièrement.\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n    \n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n    \u003c!-- Kératine Pro au cœur + compléments modulaires Si... → Alors --\u003e\n    \u003cdiv class=\"aqr-assoc\"\u003e\n      \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToute la gamme Special One\u003c\/strong\u003e est compatible avec le Kératine Pro. Nos alliances préférées :\u003c\/p\u003e\n\n      \u003cdiv class=\"aqr-assoc-rules\"\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun second shampoing est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAqua Terme · Aquapure Pro · Bain Pro\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est voulu…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003edes compléments texturisants sont voulus…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHygro Fluid \u0026amp; Super Keeper\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition show est recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Races en pilules arrondies --\u003e\n    \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où le Kératine Pro fait la différence :\u003c\/h3\u003e\n    \u003cdiv class=\"aqr-races-mosaic\"\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐾 Tous les Terriers \u0026amp; races à épiler \u003cspan\u003e(texture, accroche, peaux grasses)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées manquant de tenue \u003cspan\u003e(Caniches gris, rouges — expo uniquement)\u003c\/span\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe longue et non exhaustive — un outil de précision pour l’épilation et la texture, réservé aux jours de travail.\u003c\/p\u003e\n\n    \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":37819386757299,"sku":"WEX-KE1 017 (64)","price":42.2,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819386790067,"sku":"WEX-KE5 012 (67)","price":113.3,"currency_code":"EUR","in_stock":true},{"title":"250 mL","offer_id":37819386822835,"sku":"WEX-KE250 (60)","price":21.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/KeratinePro_57353a58-9c04-4f9a-baac-16b63418870a.png?v=1680254149"},{"product_id":"skincare-pro-shampoing-soin-traitant","title":"SKINCARE pro, shampoing soin traitant","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eSKINCARE PRO\u003c\/strong\u003e est le shampoing dermo-nettoyant \u003cstrong\u003ehuileux\u003c\/strong\u003e Special One, formulé pour les \u003cstrong\u003epeaux à problèmes ou délicates\u003c\/strong\u003e. Il rétablit l’équilibre du derme et du poil, restaure la production naturelle de sébum et crée, en usage régulier, une \u003cstrong\u003ebarrière naturelle protectrice\u003c\/strong\u003e contre les agressions parasitaires.\n    \u003c\/div\u003e\n\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — \u003cstrong\u003eparticulièrement précieux pour les animaux souffrant de problèmes cutanés chroniques ou récurrents\u003c\/strong\u003e.\u003c\/p\u003e\n\n    \u003cdiv class=\"aqr-audience\"\u003e\n      \u003cdiv class=\"aqr-audience-grid\"\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eSa \u003cstrong\u003ecomposition huileuse\u003c\/strong\u003e lui confère une action traitante profonde sans altérer les tissus. Il n’agit pas comme un simple shampoing nettoyant, mais comme un \u003cstrong\u003evrai soin dermatologique doux\u003c\/strong\u003e qui restaure, protège et rééquilibre la peau sur le long terme.\u003c\/p\u003e\n    \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin: 4px 0 4px;\"\u003e⚠️ \u003cstrong\u003eLimite de mousse :\u003c\/strong\u003e Skincare Pro ne mousse pas beaucoup et pénètre difficilement les fourrures denses ou épaisses. Pour ces cas, orientez-vous plutôt vers \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e.\u003c\/div\u003e\n    \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n      \u003cdiv class=\"aqr-benefits-grid\"\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAction anti-anomalies cutanées\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAgit contre les principales anomalies de la peau — atopie, dermatites, déséquilibres épidermiques.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-démangeaisons\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eRéduit et soulage les démangeaisons et les irritations cutanées.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-pellicules\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eRégule la desquamation et réduit nettement les squames.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eHydratation profonde\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eHydrate en profondeur les pelages secs ou fragilisés.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4v16M7 8h10M6 8l-2.5 5a3 3 0 0 0 5 0zM18 8l-2.5 5a3 3 0 0 0 5 0z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePeaux grasses \u0026amp; odeurs\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAide les peaux grasses malodorantes en rétablissant la production naturelle de sébum.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eBarrière protectrice\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eEn usage régulier, crée une barrière naturelle protectrice contre les agressions parasitaires.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eUniversel \u0026amp; doux\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eConvient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions du Skincare Pro\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e\n        \n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Soin peau\", value: 5 }, { label: \"Volume\", value: 1 }, { label: \"Moussant\", value: 1 }, { label: \"Texture\", value: 3 }, { label: \"Hydratation\", value: 4 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Skincare Pro - fiabilisee) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition du Skincare Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation huileuse à \u003cstrong\u003e91 % d’ingrédients d’origine naturelle\u003c\/strong\u003e — sans SLES, sans SLS, sans parabens, sans silicone. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\n    \u003c!-- CARTOGRAPHIE --\u003e\n    \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e\n      \u003cdiv class=\"aqr-grid\"\u003e\n\n        \u003cdiv class=\"aqr-col-list\"\u003e\n          \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-schema\"\u003e\n          \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n            \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Skincare Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e\n            \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n            \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-info\"\u003e\n          \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'huiles', label:'Complexe d’Huiles Naturelles', latin:'Olive · Maïs · Amande douce · Avocat · Coco', family:'cond',\n          desc:\"Base lavante huileuse nourrissante : ces huiles apaisent et hydratent la peau sèche ou atopique sans altérer le film hydrolipidique.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Nutrition lipidique\", benefit:\"Nourrit et reconstitue le film hydrolipidique sans le décaper.\" },\n            { anchor:'epiderme', action:\"Apaisement des peaux sèches\", benefit:\"Hydrate et apaise les peaux sèches ou atopiques en profondeur.\" }\n          ]\n        },\n        {\n          id:'propolis', label:'Propolis', latin:'« L’antibiotique naturel »', family:'botanic',\n          desc:\"Résine d’abeille aux propriétés antimicrobiennes et anti-inflammatoires : soulage les démangeaisons et protège la peau des infections.\",\n          targets: [\n            { anchor:'epiderme', action:\"Anti-inflammatoire\", benefit:\"Soulage les démangeaisons et combat les impuretés cutanées.\" },\n            { anchor:'glande_seb', action:\"Protection antimicrobienne\", benefit:\"Protège la peau des infections au niveau du film cutané.\" }\n          ]\n        },\n        {\n          id:'fucus', label:'Algue Fucus Vesiculosus', latin:'Chêne marin', family:'aqua',\n          desc:\"Algue nourrissante et hydratante : maintient la peau souple et hydratée tout en renforçant ses défenses physiologiques.\",\n          targets: [\n            { anchor:'derme', action:\"Renfort des défenses\", benefit:\"Renforce les défenses physiologiques cutanées en profondeur.\" },\n            { anchor:'film_hydro', action:\"Hydratation durable\", benefit:\"Maintient la peau souple et hydratée.\" }\n          ]\n        },\n        {\n          id:'levures', label:'Levures (Saccharomyces)', latin:'Source de vitamines B', family:'bio',\n          desc:\"Riches en vitamines B : elles renforcent et illuminent le pelage et contribuent à restaurer une barrière cutanée saine.\",\n          targets: [\n            { anchor:'epiderme', action:\"Barrière cutanée\", benefit:\"Contribuent à restaurer une barrière cutanée saine et équilibrée.\" },\n            { anchor:'tige_poil', action:\"Éclat du pelage\", benefit:\"Renforcent et illuminent le poil de l’intérieur.\" }\n          ]\n        },\n        {\n          id:'passion', label:'Fruit de la Passion', latin:'Passiflora edulis', family:'botanic',\n          desc:\"Extrait aux propriétés anti-inflammatoires et lénifiantes : il apaise les peaux irritées ou enflammées et renforce les défenses physiologiques.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisant \u0026 lénifiant\", benefit:\"Apaise les peaux irritées ou enflammées.\" },\n            { anchor:'derme', action:\"Renfort physiologique\", benefit:\"Renforce les défenses naturelles de la peau.\" }\n          ]\n        },\n        {\n          id:'citron', label:'Jus de Citron', latin:'Citrus limon', family:'bio',\n          desc:\"Antimicrobien et antioxydant naturel : il réduit les mauvaises odeurs et aide à prévenir les infections cutanées.\",\n          targets: [\n            { anchor:'glande_sud', action:\"Action déodorante\", benefit:\"Réduit les mauvaises odeurs liées aux déséquilibres cutanés.\" },\n            { anchor:'epiderme', action:\"Prévention des infections\", benefit:\"Aide à prévenir les infections grâce à son action antimicrobienne.\" }\n          ]\n        },\n        {\n          id:'mangue', label:'Extrait de Mangue', latin:'Mangifera indica', family:'aqua',\n          desc:\"Riche en vitamines et antioxydants : il nourrit et protège la peau des agressions extérieures.\",\n          targets: [\n            { anchor:'epiderme', action:\"Protection antioxydante\", benefit:\"Protège la peau des agressions extérieures et du stress oxydatif.\" },\n            { anchor:'tige_poil', action:\"Nutrition\", benefit:\"Nourrit la fibre et soutient sa vitalité.\" }\n          ]\n        },\n        {\n          id:'hydroxy', label:'Hydroxy-Acides de Fruits', latin:'AHA végétaux', family:'cond',\n          desc:\"Acides de fruits qui exfolient délicatement les cellules mortes et favorisent la pénétration des actifs réparateurs.\",\n          targets: [\n            { anchor:'epiderme', action:\"Exfoliation douce\", benefit:\"Éliminent délicatement les cellules mortes et les squames.\" },\n            { anchor:'film_hydro', action:\"Pénétration des actifs\", benefit:\"Facilitent l’hydratation profonde et la pénétration des actifs réparateurs.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n    \u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n    \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n      \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\n      \u003cdiv class=\"aqr-dilution-grid\"\u003e\n\n        \u003c!-- CARTE 1 : Ratio --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003ePur ou jusqu'à 1\/20\u003cbr\u003eselon l'intensité du problème\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 2 : Rendement --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 3 : Équivalences animées --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n                        \u003cdiv style=\"margin-bottom: 12px; padding: 12px 16px; background: #fff3cd; border-left: 3px solid #e67e22; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e❗️ Toujours appliquer \u003cstrong\u003edirectement après le masque Bio Energy Plus\u003c\/strong\u003e, sans rinçage intermédiaire — laisser agir le Bio Energy Plus \u003cstrong\u003eau moins 20 minutes\u003c\/strong\u003e, idéalement couplé avec \u003cstrong\u003eHygro Fluid\u003c\/strong\u003e. \u003cstrong\u003eDeux shampoings\u003c\/strong\u003e recommandés à chaque bain.\u003c\/div\u003e\n\n            \u003cdetails class=\"aqr-proto-acc\" open\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eProtocole de traitement — début de cure\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eEn début de traitement, pour une peau en déséquilibre marqué\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain prolongé\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez \u003cstrong\u003eBio Energy Plus + Hygro Fluid\u003c\/strong\u003e sur le poil sec. Laissez poser \u003cstrong\u003e20 minutes minimum\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eApplication sans rincer\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eSans rincer le masque, appliquez Skincare Pro \u003cstrong\u003epur ou légèrement dilué\u003c\/strong\u003e. Massez délicatement, puis rincez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoing\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eRenouvelez le shampoing une seconde fois, puis rincez abondamment.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition réparatrice\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream et\/ou Beauty Rinse\u003c\/strong\u003e. \u003cstrong\u003eFréquence :\u003c\/strong\u003e deux fois par semaine en début de cure, puis espacez selon l’évolution de la peau.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eProtocole d’entretien — suivi régulier\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eUne fois la peau stabilisée, pour maintenir l’équilibre cutané\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003ePréparez avec \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (20 min de pose), éventuellement seul si Hygro Fluid n’est pas nécessaire.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eDouble shampoing\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Skincare Pro dilué à \u003cstrong\u003e1\/20\u003c\/strong\u003e sans rincer le masque. Deux shampoings, puis rincez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition protectrice\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e pour préserver la barrière hydrolipidique. L’usage régulier renforce progressivement la \u003cstrong\u003ebarrière naturelle protectrice\u003c\/strong\u003e du manteau.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n    \n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n    \u003c!-- Skincare Pro au cœur + compléments modulaires Si... → Alors --\u003e\n    \u003cdiv class=\"aqr-assoc\"\u003e\n      \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToute la gamme Special One\u003c\/strong\u003e est compatible avec le Skincare Pro. Nos alliances préférées :\u003c\/p\u003e\n\n      \u003cdiv class=\"aqr-assoc-rules\"\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est requis (indispensable)…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy Plus + Hygro Fluid\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final s’impose…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream et\/ou Beauty Rinse\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003ela fourrure est dense ou épaisse…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAqua Terme Pro (meilleure pénétration)\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Races en pilules arrondies --\u003e\n    \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où le Skincare Pro fait la différence :\u003c\/h3\u003e\n    \u003cdiv class=\"aqr-races-mosaic\"\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les chats\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🩹 Chiens à anomalies cutanées \u003cspan\u003e(atopie, dermatites, irritations, démangeaisons)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées \u003cspan\u003e(Caniches, Bichons, Kerry Blue, Soft Coated, Bedlington)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐕 Tous les Cockers \u003cspan\u003e(Américain, Anglais)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Races tibétaines \u003cspan\u003e(Shih-Tzu, Lhassa, Terrier du Tibet)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e👑 Épagneuls Nains Anglais \u003cspan\u003e(Cavalier \u0026amp; King Charles)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e✨ Fourrures longues \u0026amp; soyeuses \u003cspan\u003e(Yorkshire, Afghans)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐾 Terriers \u003cspan\u003e(Scottish, Westie, Welsh)\u003c\/span\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe longue et non exhaustive — un soin dermatologique doux pour les peaux à problèmes.\u003c\/p\u003e\n\n    \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +91% | Sans SLES, SLS, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":37819388330163,"sku":"WEX-SK1 015 (66)","price":63.9,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819388362931,"sku":"WEX-SK5 010 (68)","price":194.0,"currency_code":"EUR","in_stock":true},{"title":"250 mL","offer_id":37819388395699,"sku":"WEX-SK250 (62)","price":33.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Skincare.png?v=1680254223"},{"product_id":"bio-energy-plus-masque-pre-bain","title":"BIO ENERGY PLUS, masque au caviar vert","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eBIO ENERGY PLUS\u003c\/strong\u003e est le masque pré-bain ultra concentré de Special One, à double action \u003cstrong\u003e\"Beauté\" et \"Santé\"\u003c\/strong\u003e. Il agit instantanément sur le poil sec, sale et non démêlé — avant même le shampoing. Élément incontournable du programme d'hydratation Special One, il transforme le toilettage et fait franchir un cap visible dès la première utilisation.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — y compris ceux qui n'ont jamais utilisé de masque pré-bain et qui découvrent une innovation qui va transformer leur toilettage.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR : DIAGRAMME COSMÉTOLOGIQUE --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:24px 28px 20px;overflow:visible;\"\u003e\n        \u003cspan style=\"font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#999;margin-bottom:22px;display:block;\"\u003eDiagramme cosmétologique du Bio Energy Plus\u003c\/span\u003e\n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label {\n      position: absolute;\n      transform: translate(-50%, -50%);\n      text-align: center;\n      pointer-events: none;\n      white-space: nowrap;\n      opacity: 0;\n      animation: so-fadeUp 0.5s ease forwards;\n    }\n    .so-label .so-lname {\n      font-size: 9px;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n      color: #999;\n      display: block;\n      margin-bottom: 1px;\n      font-family: inherit;\n    }\n    .so-label .so-lval {\n      font-size: 24px;\n      font-weight: 700;\n      color: #1a1a1a;\n      line-height: 1;\n      font-family: inherit;\n    }\n    .so-label .so-lmax {\n      font-size: 12px;\n      font-weight: 400;\n      color: #bbb;\n      font-family: inherit;\n    }\n    .so-footer-bar {\n      margin-top: 18px;\n      border-top: 1px solid #eee;\n      padding-top: 14px;\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 6px;\n      opacity: 0;\n      animation: so-footerIn 0.5s ease forwards 0.8s;\n    }\n    .so-footer-label {\n      font-size: 9px;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.1em;\n      color: #999;\n      font-family: inherit;\n      margin-right: 2px;\n    }\n    .so-footer-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: 4px;\n      background: #1a1a1a;\n      padding: 4px 10px;\n      font-size: 11px;\n      font-weight: 600;\n      color: #fff;\n      font-family: inherit;\n    }\n    .so-footer-chip-score {\n      font-weight: 400;\n      color: rgba(255,255,255,0.4);\n      font-size: 10px;\n    }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp {\n      from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); }\n      to   { opacity: 1; transform: translate(-50%, -50%); }\n    }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-footer-chip { font-size: 10px !important; padding: 3px 8px !important; }\n      .so-footer-label { font-size: 8px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Hydratation\",  value: 5 },\n        { label: \"Soin peau\",    value: 5 },\n        { label: \"Démêlant\",     value: 3 },\n        { label: \"Brillance\",    value: 4 }\n      ]\n    };\n\n    var svg  = document.getElementById(\"so-radar-svg\");\n    var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria;\n    var n    = data.length;\n    var cx = 180, cy = 180, maxR = 95;\n\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) {\n      var a = ang(i), r = (v \/ mx) * maxR;\n      return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) };\n    }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n\n    for (var l = 1; l \u003c= 5; l++) {\n      var pts = [];\n      for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); }\n      var poly = svgEl(\"polygon\");\n      poly.setAttribute(\"points\", pts.join(\" \"));\n      poly.setAttribute(\"fill\", \"none\");\n      poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\");\n      poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\");\n      if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\");\n      svg.appendChild(poly);\n    }\n\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, 5, 5);\n      var line = svgEl(\"line\");\n      line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy);\n      line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y);\n      line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\");\n      line.setAttribute(\"stroke-width\", \"0.6\");\n      svg.appendChild(line);\n    }\n\n    var shapePts = [];\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, data[i].value, 5);\n      shapePts.push(p.x + \",\" + p.y);\n    }\n    var ptsStr = shapePts.join(\" \");\n\n    var fillPoly = svgEl(\"polygon\");\n    fillPoly.setAttribute(\"points\", ptsStr);\n    fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\");\n    fillPoly.classList.add(\"so-shape-fill\");\n    svg.appendChild(fillPoly);\n\n    var strokePoly = svgEl(\"polygon\");\n    strokePoly.setAttribute(\"points\", ptsStr);\n    strokePoly.setAttribute(\"fill\", \"none\");\n    strokePoly.setAttribute(\"stroke\", \"#1a1a1a\");\n    strokePoly.setAttribute(\"stroke-width\", \"1.8\");\n    strokePoly.setAttribute(\"stroke-linejoin\", \"round\");\n    strokePoly.classList.add(\"so-shape-stroke\");\n    svg.appendChild(strokePoly);\n\n    for (var i = 0; i \u003c n; i++) {\n      (function(i) {\n        var d = data[i];\n        var p = pt(i, d.value, 5);\n        var delay = 0.5 + i * 0.1;\n\n        var halo = svgEl(\"circle\");\n        halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y);\n        halo.setAttribute(\"r\", \"7\");\n        halo.setAttribute(\"fill\", \"none\");\n        halo.setAttribute(\"stroke\", \"#1a1a1a\");\n        halo.setAttribute(\"stroke-width\", \"1\");\n        halo.setAttribute(\"stroke-opacity\", \"0.12\");\n        halo.classList.add(\"so-dot\");\n        halo.style.animationDelay = delay + \"s\";\n        svg.appendChild(halo);\n\n        var dot = svgEl(\"circle\");\n        dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y);\n        dot.setAttribute(\"r\", \"3\");\n        dot.setAttribute(\"fill\", \"#1a1a1a\");\n        dot.classList.add(\"so-dot\");\n        dot.style.animationDelay = delay + \"s\";\n        svg.appendChild(dot);\n\n        var lp = pt(i, 6.5, 5);\n        var pctX = (lp.x \/ 360) * 100;\n        var pctY = (lp.y \/ 360) * 100;\n\n        var lbl = document.createElement(\"div\");\n        lbl.className = \"so-label\";\n        lbl.style.left = pctX + \"%\";\n        lbl.style.top  = pctY + \"%\";\n        lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\";\n        lbl.innerHTML =\n          '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e' +\n          '\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e';\n        area.appendChild(lbl);\n      })(i);\n    }\n\n    var maxVal = 0;\n    for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; }\n    var bests = [];\n    for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n\n    var chipsHtml = '';\n    for (var i = 0; i \u003c bests.length; i++) {\n      chipsHtml +=\n        '\u003cspan class=\"so-footer-chip\"\u003e' +\n          bests[i].label +\n          '\u003cspan class=\"so-footer-chip-score\"\u003e' + bests[i].value + '\/5\u003c\/span\u003e' +\n        '\u003c\/span\u003e';\n    }\n\n    document.getElementById(\"so-radar-footer\").innerHTML =\n      '\u003cdiv class=\"so-footer-bar\"\u003e' +\n        '\u003cspan class=\"so-footer-label\"\u003e★ ' + (bests.length \u003e 1 ? 'Points forts' : 'Point fort') + '\u003c\/span\u003e' +\n        chipsHtml +\n      '\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eSa composition ultra technologique fait immédiatement un bien profond au poil et à la peau de l'animal. \u003cstrong\u003eIl s'applique sur poil sec, sale, non démêlé — sans rinçage avant le shampoing.\u003c\/strong\u003e Cette étape supplémentaire par rapport au cycle de bain classique est pourtant celle dont dépend fortement la qualité du résultat final.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDouble action Beauté \u0026amp; Santé :\u003c\/strong\u003e Améliore la texture tout en traitant la peau et la fourrure en profondeur.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eHydratation intense :\u003c\/strong\u003e Hydrate, soigne, traite et restaure la fourrure et la peau dès la première application.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRavive les couleurs :\u003c\/strong\u003e Stimule la production de mélanine — les couleurs naturelles du pelage gagnent en intensité et en profondeur.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eMicrocirculation cutanée :\u003c\/strong\u003e Active la circulation dans les racines du poil, favorisant la croissance et le renouvellement du manteau.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRéparation :\u003c\/strong\u003e Aide à réparer les pelages endommagés, fragilisés ou surmenés.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePréparation à la coupe :\u003c\/strong\u003e Idéal pour préparer les fourrures avant une coupe aux ciseaux ou en salon.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-mue \u0026amp; démêlage :\u003c\/strong\u003e Facilite l'évacuation du poil mort et aide à prévenir ou accélérer la mue.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eUniversel :\u003c\/strong\u003e Convient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation ultra technologique alliant actifs marins, végétaux et structurants — sans parabens, sans silicone.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Collagène Hydrolysé\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAction anti-inflammatoire — renforce la structure interne du poil et améliore l'élasticité de la fibre.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Caviar Vert (Caulerpa Lentillifera)\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAlgue japonaise anti-âge : riche en minéraux (fer, calcium, zinc, potassium), vitamines A \u0026amp; C et acides aminés. Stimule la production de collagène et d'élastine.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Spiruline\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003ePuissant antioxydant qui redonne vigueur et brillance aux manteaux abîmés. Réduit le sébum, lutte contre les pellicules, prévient la chute et favorise la croissance du poil.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Fucus (Chêne Marin)\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en iode, polyphénols et vitamines. Les polyphénols soutiennent la régénération cellulaire ; l'iode active le métabolisme et améliore la circulation dans les racines du poil.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Laminaria\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eDétox naturelle grâce à l'acide alginique — forme un gel au contact de l'eau qui capte et élimine les substances nocives pour la peau.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdiv style=\"margin-bottom: 10px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n      💡 \u003cstrong\u003eEn pré bain pur : appliquer sur poil sec, sale, non démêlé.\u003c\/strong\u003e Ne pas rincer avant le shampoing — c'est le principe fondamental du masque pré-bain.\n    \u003c\/div\u003e\n    \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #fff8e1; border-left: 3px solid #f0a500; font-size: 13px;\"\u003e\n      ⚠️ Ne pas laisser poser plus de \u003cstrong\u003e30 minutes\u003c\/strong\u003e. Ne pas rincer le produit avant de réaliser le shampoing.\n    \u003c\/div\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Objectif Beauté — éclat, texture \u0026amp; couleurs\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        1. Diluez Bio Energy Plus à \u003cstrong\u003e1\/20\u003c\/strong\u003e.\u003cbr\u003e\n        2. Appliquez sur le poil sec, sale, non démêlé — en couvrant bien l'ensemble du manteau.\u003cbr\u003e\n        3. Laissez poser \u003cstrong\u003e5 à 30 minutes\u003c\/strong\u003e selon l'intensité souhaitée.\u003cbr\u003e\n        4. Passez directement au shampoing \u003cstrong\u003esans rincer\u003c\/strong\u003e au préalable.\u003cbr\u003e\n        Résultat : texture améliorée, couleurs ravivées, brillance relancée dès la sortie du bain.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Objectif Santé — peau \u0026amp; fourrure endommagée\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour les peaux sensibles, irritées ou les fourrures très abîmées :\u003cbr\u003e\n        1. Appliquez le produit \u003cstrong\u003epur sur les zones les plus critiques\u003c\/strong\u003e (zones sèches, irritées, poils cassants).\u003cbr\u003e\n        2. Diluez à \u003cstrong\u003e1\/15\u003c\/strong\u003e pour l'application sur le reste du manteau.\u003cbr\u003e\n        3. \u003cstrong\u003eCouvrez l'animal d'une serviette\u003c\/strong\u003e et laissez poser \u003cstrong\u003e20 à 30 minutes\u003c\/strong\u003e pour une absorption maximale des actifs réparateurs.\u003cbr\u003e\n        4. Passez au shampoing sans rincer au préalable — le premier shampoing s'applique directement sur le produit en pose.\u003cbr\u003e\u003cbr\u003e\n        \u003cdiv style=\"background: #f0f7ff; border-left: 3px solid #4a90d9; padding: 10px 12px; font-size: 12px;\"\u003e\n          💧 \u003cstrong\u003eEn cas d'anomalies cutanées persistantes :\u003c\/strong\u003e il est conseillé de réaliser le bain suivant avec le shampoing \u003cstrong\u003eSkincare Pro\u003c\/strong\u003e pour potentialiser l'action thérapeutique du masque.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Objectif Démêlage \u0026amp; Anti-mue\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour traiter, accélérer ou prévenir la mue, et faciliter le démêlage :\u003cbr\u003e\n        1. Diluez à \u003cstrong\u003e1\/20\u003c\/strong\u003e, puis ajoutez une crème après-shampoing ainsi qu'un produit huileux de la gamme (Huiles 4 Éléments ou Aqua Dolce).\u003cbr\u003e\n        2. Appliquez sur le poil sec. \u003cstrong\u003eTravaillez avec vos outils de toilettage habituels\u003c\/strong\u003e (brosse, peigne) — le produit facilite l'évacuation du poil mort et le démêlage en douceur.\u003cbr\u003e\n        3. Au bout d'une dizaine de minutes, passez directement au shampoing \u003cstrong\u003esans rincer\u003c\/strong\u003e.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdiv style=\"margin-top: 20px; padding: 20px; background: #f6f6f6; border: 1px dashed #1a1a1a;\"\u003e\n      \u003cspan style=\"font-size: 11px; font-weight: bold; text-transform: uppercase; display: block; margin-bottom: 10px;\"\u003e🛠️ ASSOCIATIONS BOOSTER :\u003c\/span\u003e\n      \u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e\n        Pour une efficience optimale, mélangez Bio Energy Plus avec un ou plusieurs \u003cstrong\u003eintégrateurs à base huileuse\u003c\/strong\u003e :\u003cbr\u003e\n        ✨ \u003cstrong\u003eAqua Dolce\u003c\/strong\u003e et\/ou \u003cstrong\u003eHuiles 4 Éléments\u003c\/strong\u003e et\/ou \u003cstrong\u003eBombastic\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003e\n        Le bain se prolonge ensuite avec n'importe quel shampoing + masque + conditionneur de la gamme Special One.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eCompatible avec l'ensemble de la gamme Special One en aval. Bio Energy Plus est la \u003cstrong\u003epremière étape\u003c\/strong\u003e — tout le reste du protocole de bain vient après.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les chats — notamment pour dégraisser sans décaper.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les chiens en salon — pour limiter le retour rapide des nœuds.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures frisées : Caniches, Bichons, Kerry Blue, Soft Coated, Bedlington…\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les Cockers (Américain, Anglais)\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Races tibétaines : Shih-Tzu, Lhassa, Terrier du Tibet…\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Épagneuls Nains Anglais (Cavalier et King Charles)\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures longues et soyeuses : Yorkshire, Afghans…\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Terriers : Scottish, Westie, Welsh… — liste longue et non exhaustive !\u003c\/td\u003e\u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819388494003,"sku":"WEX-BIO250 (100)","price":23.9,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819388428467,"sku":"WEX-BIO1 02 (106)","price":46.3,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819388461235,"sku":"WEX-BIO5 01 (99)","price":142.8,"currency_code":"EUR","in_stock":true},{"title":"10 Litres","offer_id":37819388526771,"sku":"WEX-KE10000 (251)","price":249.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/bioEnergyPlus.png?v=1680247667"},{"product_id":"aquarosa-passion-special-one","title":"Aquarosa PASSION Pro * Paillettes *","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n\u003cstrong\u003eAQUAROSA PASSION\u003c\/strong\u003e a été créé pour les vrais passionnés. \u003cstrong\u003e95 % identique à l’Aquarosa Pro\u003c\/strong\u003e — même formulation multivitaminée, même efficacité — avec en plus une \u003cstrong\u003etexture crémeuse riche et soyeuse\u003c\/strong\u003e, un parfum délicat et enveloppant, et des \u003cstrong\u003epaillettes\u003c\/strong\u003e pour mettre un peu de magie dans votre toilettage.\u003c\/div\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — du salon de toilettage professionnel au particulier qui veut \u003cstrong\u003esublimer son animal avec style\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"aqr-audience\"\u003e\n\u003cdiv class=\"aqr-audience-grid\"\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003ccircle r=\"2.5\" cy=\"18\" cx=\"6\"\u003e\u003c\/circle\u003e\u003ccircle r=\"2.5\" cy=\"18\" cx=\"18\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle fill=\"#1a1a1a\" r=\"1\" cy=\"11.5\" cx=\"12\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003ccircle r=\"4\" cy=\"8\" cx=\"12\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003ccircle r=\"3\" cy=\"7\" cx=\"8\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle r=\"2\" cy=\"11\" cx=\"17\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eAquarosa Passion partage la formulation de l’\u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e — le shampoing Special One dédié aux fourrures ayant fortement besoin d’être nourries : hydratation et nutrition intenses, conditionneur intégré, actifs naturels. La différence ? Une couleur distinctive, un \u003cstrong\u003eparfum signature enveloppant\u003c\/strong\u003e et des \u003cstrong\u003epaillettes qui rendent le toilettage unique\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv style=\"margin-top: 20px;\" class=\"aqr-benefits\"\u003e\n\u003cdiv class=\"aqr-benefits-grid\"\u003e\n\u003cdiv style=\"--i: 0;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eBain en douceur\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eConvient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 1;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eNettoyage profond\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNettoie, assainit et donne un coup d’éclat à tous les types de poils.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 2;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M5 19C5 11 11 5 19 5c0 8-6 14-14 14z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 19c4-4 7-6 11-7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eNutrition immédiate\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAction hydratante et nutritive active, visible dès le 1er shampoing.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 3;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M7 7c3 3 7 7 10 10M17 7C14 10 10 14 7 17\"\u003e\u003c\/path\u003e\u003ccircle r=\"2.4\" cy=\"12\" cx=\"12\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eAnti-nœuds\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eFacilite le démêlage et le brossage, limite le retour des nœuds.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 4;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eProtection kératine\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAugmente les défenses naturelles pour protéger la structure du poil.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 5;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eBains fréquents\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAucun risque pour la peau et le poil, même en utilisation intensive.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 6;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003ePerle nacrée \u0026amp; paillettes\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eTexture perlée aux reflets nacrés et néon : un rituel spa multisensoriel, parfum enveloppant et effet lumineux unique.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de l'Aquarosa Passion\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n\u003cdiv style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\" id=\"so-radar-widget\"\u003e\n\u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e\n\u003cdiv style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\" id=\"so-radar-area\"\u003e\u003csvg viewbox=\"0 0 360 360\" style=\"width: 100%; height: 100%; overflow: visible;\" id=\"so-radar-svg\"\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 3 }, { label: \"Démêlant\", value: 3 }, { label: \"Texture\", value: 1 }, { label: \"Volume\", value: 3 }, { label: \"Soin peau\", value: 3 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Aquarosa Passion - fiabilisee) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de l'Aquarosa Passion : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eAquarosa Passion partage la composition naturelle multivitaminée de l’\u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e — sans SLES, sans DEA, sans parabens. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\u003c!-- CARTOGRAPHIE --\u003e\n\u003cdiv style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\" id=\"aqr-carto\"\u003e\n\u003cdiv class=\"aqr-grid\"\u003e\n\u003cdiv class=\"aqr-col-list\"\u003e\n\u003cul id=\"aqrList\" class=\"aqr-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-schema\"\u003e\n\u003cdiv id=\"aqrSchemaWrap\" class=\"aqr-schema-wrap\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l'Aquarosa Passion\" style=\"display: block; width: 100%; height: auto;\" id=\"aqrSchemaImg\" class=\"aqr-schema-img\"\u003e \u003csvg viewbox=\"0 0 100 225\" preserveaspectratio=\"none\" id=\"aqrOverlay\" class=\"aqr-overlay\"\u003e\u003c\/svg\u003e\n\u003cdiv id=\"aqrConnectors\" class=\"aqr-connectors\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-info\"\u003e\n\u003cdiv id=\"aqrInfo\" class=\"aqr-info\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'rose', label:'Extraits de Rose Sauvage \u0026 Mauve', latin:'Rosa canina \u0026 Malva', family:'botanic',\n          desc:\"Extraits floraux riches en antioxydants, anti-inflammatoires, provitamine A et acides gras insaturés : ils nourrissent la fibre et apaisent la peau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition antioxydante\", benefit:\"Nourrissent la fibre et la protègent du stress oxydatif.\" },\n            { anchor:'epiderme', action:\"Apaisement\", benefit:\"Apaisent la peau grâce à leurs propriétés anti-inflammatoires.\" }\n          ]\n        },\n        {\n          id:'flavo', label:'Flavonoïdes \u0026 Vitamine C', latin:'Antioxydants végétaux', family:'bio',\n          desc:\"Stimulent la synthèse de collagène et luttent contre le vieillissement cellulaire : éclat et vitalité du manteau.\",\n          targets: [\n            { anchor:'derme', action:\"Synthèse de collagène\", benefit:\"Stimulent le collagène et soutiennent la fermeté de la peau.\" },\n            { anchor:'tige_poil', action:\"Éclat \u0026 vitalité\", benefit:\"Luttent contre le vieillissement cellulaire pour un poil éclatant.\" }\n          ]\n        },\n        {\n          id:'chlorella', label:'Chlorella', latin:'Algue verte', family:'aqua',\n          desc:\"Algue détoxifiante : elle hydrate en profondeur tout en purifiant la peau et le poil.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation profonde\", benefit:\"Apporte une hydratation durable à la surface cutanée.\" },\n            { anchor:'epiderme', action:\"Détoxification\", benefit:\"Purifie et détoxifie la peau et le poil.\" }\n          ]\n        },\n        {\n          id:'eaudemer', label:'Eau de Mer', latin:'Oligo-éléments marins', family:'aqua',\n          desc:\"Hautement purifiante, elle apporte minéraux et oligo-éléments essentiels qui rééquilibrent et renforcent la peau.\",\n          targets: [\n            { anchor:'epiderme', action:\"Purification\", benefit:\"Purifie et rééquilibre la peau.\" },\n            { anchor:'derme', action:\"Reminéralisation\", benefit:\"Renforce la peau grâce aux oligo-éléments essentiels.\" }\n          ]\n        },\n        {\n          id:'glycurea', label:'Glycérine \u0026 Urée', latin:'Humectants', family:'aqua',\n          desc:\"Agents hydratants qui retiennent l’humidité dans la fibre : ils maintiennent le poil élastique et soyeux.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Rétention d’eau\", benefit:\"Retiennent l’humidité dans la fibre pour un poil souple.\" },\n            { anchor:'cuticule', action:\"Souplesse \u0026 soyeux\", benefit:\"Maintiennent un toucher soyeux et élastique.\" }\n          ]\n        },\n        {\n          id:'conditionneur', label:'Complexe Conditionneur', latin:'Agents démêlants', family:'cond',\n          desc:\"Facilite le peigne, élimine les nœuds et améliore la texture générale du manteau.\",\n          targets: [\n            { anchor:'cuticule', action:\"Démêlage \u0026 lissage\", benefit:\"Lisse la cuticule, élimine les nœuds et facilite le peigne.\" },\n            { anchor:'tige_poil', action:\"Texture du manteau\", benefit:\"Améliore la texture générale et la maniabilité du poil.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" class=\"aqr-dilution\"\u003e\n\u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-grid\"\u003e\n\u003c!-- CARTE 1 : Ratio --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part pour 20 parts d'eau\u003cbr\u003e— ou pur\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 2 : Rendement --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 3 : Équivalences animées --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan class=\"aqr-dilution-cycle-target\" id=\"aqrCycleTarget\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n\u003cdetails open=\"\" class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eToilettage rapide, économique \u0026amp; efficace\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" height=\"14\" width=\"14\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003eLe protocole de base, pour un bain tout en douceur\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePremier shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDémarrez le bain directement avec l’Aquarosa Passion dilué, sur le poil mouillé. Rincez.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez un \u003cstrong\u003esecond shampoing\u003c\/strong\u003e, puis rincez de nouveau.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSoin final\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinissez avec l’après-shampoing adapté : \u003cstrong\u003eHydrating Cream, Bombastic ou Aqua Dolce\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eAction ultra intense — salon, urgence ou expo\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" height=\"14\" width=\"14\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003ePour démêler en salon, rattraper une fourrure très abîmée ou amplifier un toilettage d’exposition\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAttaquez le bain par un \u003cstrong\u003emasque pré-bain\u003c\/strong\u003e Bio Energy ou Bombastic, enrichi d’Huiles 4 Éléments ou d’Hydrating Cream.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eApplication sans rincer\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez l’Aquarosa Passion \u003cstrong\u003edirectement après le masque, sans rinçage intermédiaire\u003c\/strong\u003e. Concentrez davantage et couplez au Bombastic pour plus d’efficacité.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePose \u0026amp; double shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eLaissez poser quelques instants, massez si possible. \u003cstrong\u003eDeux shampoings recommandés.\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec un conditionneur ou un masque selon le besoin.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eBoosters d’intégration — nutrition \u0026amp; volume\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg stroke-linecap=\"round\" stroke-width=\"2\" stroke=\"currentColor\" fill=\"none\" height=\"14\" width=\"14\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003eDeux options pour personnaliser l’action de l’Aquarosa Passion\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003eA\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eBoost nutrition\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAjoutez \u003cstrong\u003eune cuillère d’Aqua Dolce\u003c\/strong\u003e dans votre mélange d’Aquarosa Passion. Appliquez, laissez poser, puis rincez à l’eau tiède.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eBoost volume\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMélangez l’Aquarosa Passion avec la mousse \u003cstrong\u003eAqua Vita\u003c\/strong\u003e : son effet effervescent apporte du volume et renforce la détergence.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv style=\"margin-top: 12px; background: #f0f7ff; border-left: 3px solid #4a90d9; border-radius: 8px; padding: 10px 14px; font-size: 12px; line-height: 1.5;\"\u003e💡 Dans les deux options, finalisez le séchage en brossant avec \u003cstrong\u003eAqua Beauty ou Mix Pink\u003c\/strong\u003e pour un manteau encore plus doux et brillant.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\u003c!-- Aquarosa Passion au cœur + compléments modulaires Si... → Alors --\u003e\n\u003cdiv class=\"aqr-assoc\"\u003e\n\u003cp class=\"aqr-assoc-intro\"\u003eMêmes associations que l’\u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e — toute la gamme Special One est compatible. Nos alliances préférées :\u003c\/p\u003e\n\u003cdiv class=\"aqr-assoc-rules\"\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun second shampoing est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e4Poodle · Bain Pro · Aquapure Pro\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est voulu…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final s’impose…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition show est recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003c!-- Races en pilules arrondies --\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où l'Aquarosa Passion fait la différence :\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱🐶 Toutes les races de chiens \u0026amp; chats \u003cspan\u003e(mêmes indications que l’Aquarosa Pro)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✨ Les passionnés \u003cspan\u003e(performance \u0026amp; originalité dans la routine de toilettage)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe longue et non exhaustive — toute la performance de l’Aquarosa Pro, avec la magie en plus.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLES, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Petdesign.fr","offers":[{"title":"250 mL","offer_id":40196750803123,"sku":"WAQ-AQROP250 (141)","price":25.9,"currency_code":"EUR","in_stock":true},{"title":"5 L","offer_id":40196750835891,"sku":"WAQ-AQROP5000  (154)","price":147.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/AquarosaPassion.png?v=1680253913"},{"product_id":"aquablu-pro-shampoing-bleu","title":"AQUABLU PRO","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 14px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n\u003cstrong\u003eAQUABLU PRO\u003c\/strong\u003e est le shampoing professionnel Special One aux \u003cstrong\u003ebio-dérivés marins et pigments bleus réfléchissants\u003c\/strong\u003e, conçu pour \u003cstrong\u003eneutraliser le jaunissement et intensifier la luminosité des couleurs naturelles\u003c\/strong\u003e. Idéal pour les pelages blancs, il exalte aussi les manteaux noirs, fauves et bicolores. Sa formule ultra-douce convient aux peaux sensibles et à un usage fréquent.\u003c\/div\u003e\n\u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin: 0 0 16px;\"\u003e❌ \u003cstrong\u003eNe pas utiliser\u003c\/strong\u003e si le but n’est pas de déjaunir ou de raviver l’éclat d’un pelage : le pigment bleu réfléchissant est un actif ciblé, sans intérêt sur les robes uniformément foncées sans reflets indésirables.\u003c\/div\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — du salon professionnel au particulier — \u003cstrong\u003edès lors que l’animal présente du blanc, du noir brillant ou des zones dorées\u003c\/strong\u003e dans son pelage.\u003c\/p\u003e\n\u003cdiv class=\"aqr-audience\"\u003e\n\u003cdiv class=\"aqr-audience-grid\"\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eSes \u003cstrong\u003epigments bleus réfléchissants\u003c\/strong\u003e neutralisent optiquement les teintes jaunes et orangées — dues au soleil, au sébum, à l’urine ou à la salive — pour restituer un blanc pur et radieux. Sa formulation avancée ne se contente pas de nettoyer : elle hydrate, protège et renforce le manteau sans jamais le dépouiller de ses huiles naturelles.\u003c\/p\u003e\n\u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n\u003cdiv class=\"aqr-benefits-grid\"\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 4a8 8 0 0 0 0 16\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eBlanc parfait\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNeutralise le jaunissement dû au soleil, au sébum, à l’urine ou à la salive — résultat éclatant dès le premier bain.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eÉclat des couleurs\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eIntensifie la luminosité naturelle — blanc, noir brillant et fauves encore plus beaux.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eNettoyage profond \u0026amp; doux\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNettoie et assainit sans décaper ni priver le manteau de ses huiles naturelles.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 7c3 3 7 7 10 10M17 7C14 10 10 14 7 17\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"2.4\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eAnti-nœuds\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eN’amplifie jamais le volume naturel — limite le retour des nœuds entre les bains.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eProtection kératine\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAugmente les défenses naturelles pour protéger la structure du poil.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003ePeaux sensibles\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eFormule ultra-douce, parfaite pour les peaux réactives — convient à tous les âges.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eBains fréquents\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eParfaitement adapté à un usage régulier pour maintenir un manteau impeccable.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de l'Aquablu Pro\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n\u003cdiv id=\"so-radar-widget\" style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\"\u003e\n\u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e\n\u003cdiv id=\"so-radar-area\" style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\"\u003e\u003csvg id=\"so-radar-svg\" style=\"width: 100%; height: 100%; overflow: visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Blancheur\", value: 5 }, { label: \"Éclat couleur\", value: 5 }, { label: \"Hydratation\", value: 4 }, { label: \"Soin peau\", value: 4 }, { label: \"Démêlant\", value: 2 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Aquablu Pro - fiabilisee) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de l'Aquablu Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation précise alliant \u003cstrong\u003eaction optique réfléchissante, hydratation et protection cutanée\u003c\/strong\u003e — sans parabens, sans silicone. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\u003c!-- CARTOGRAPHIE --\u003e\n\u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e\n\u003cdiv class=\"aqr-grid\"\u003e\n\u003cdiv class=\"aqr-col-list\"\u003e\n\u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-schema\"\u003e\n\u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n\u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l'Aquablu Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n\u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-info\"\u003e\n\u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'pigments', label:'Pigments Bleus Réfléchissants', latin:'Actif optique signature', family:'cond',\n          desc:\"L’actif signature d’Aquablu Pro : déposés sur la fibre, ces pigments neutralisent optiquement les teintes jaunes et orangées pour un blanc pur et radieux dès la première application.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Neutralisation optique\", benefit:\"Annulent le reflet jaune\/orangé de la fibre pour révéler un blanc pur.\" },\n            { anchor:'cuticule', action:\"Éclat \u0026amp; luminosité\", benefit:\"Se déposent sur la cuticule pour intensifier la luminosité des couleurs.\" }\n          ]\n        },\n        {\n          id:'bleuet', label:'Extrait de Bleuet', latin:'Centaurea cyanus', family:'botanic',\n          desc:\"Extrait végétal aux propriétés lénifiantes et décongestionnantes : il apaise les peaux sensibles et réduit les rougeurs causées par des agents externes.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisant \u0026 décongestionnant\", benefit:\"Apaise les peaux sensibles et réduit les rougeurs.\" },\n            { anchor:'film_hydro', action:\"Confort cutané\", benefit:\"Préserve le confort de surface des peaux réactives.\" }\n          ]\n        },\n        {\n          id:'chlorella', label:'Chlorella Vulgaris', latin:'Algue marine', family:'aqua',\n          desc:\"Algue riche en acides aminés, vitamines et minéraux : elle protège et renforce la structure du poil, améliore sa résistance et sa luminosité.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Renfort \u0026 résistance\", benefit:\"Renforce la structure du poil et améliore sa résistance.\" },\n            { anchor:'cuticule', action:\"Luminosité\", benefit:\"Lisse la surface pour rehausser la luminosité du manteau.\" }\n          ]\n        },\n        {\n          id:'alginate', label:'Alginate Hydrolysée', latin:'Dérivé d’algues marines', family:'aqua',\n          desc:\"Extraite d’algues marines : puissante action hydratante et reminéralisante, elle favorise la santé du manteau et prévient la sécheresse cutanée.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation intense\", benefit:\"Apporte une hydratation profonde et prévient la sécheresse cutanée.\" },\n            { anchor:'epiderme', action:\"Reminéralisation\", benefit:\"Reminéralise la peau et soutient la santé du manteau.\" }\n          ]\n        },\n        {\n          id:'vitb12', label:'Vitamine B12 \u0026amp; Bêta-Carotène', latin:'Cobalamine \u0026 provitamine A', family:'bio',\n          desc:\"Hydratent la structure du poil de l’intérieur et neutralisent les toxines environnementales : ils contribuent à la vitalité et à l’éclat durable du manteau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Hydratation interne\", benefit:\"Hydratent la fibre de l’intérieur pour un éclat durable.\" },\n            { anchor:'epiderme', action:\"Anti-toxines\", benefit:\"Neutralisent les toxines environnementales et soutiennent la vitalité.\" }\n          ]\n        },\n        {\n          id:'eaudemer', label:'Eau de Mer', latin:'Oligo-éléments marins', family:'bio',\n          desc:\"Riche en oligo-éléments essentiels : elle rééquilibre et renforce la peau, lui apporte vitalité et protection contre les agressions extérieures.\",\n          targets: [\n            { anchor:'derme', action:\"Reminéralisation profonde\", benefit:\"Apporte les oligo-éléments qui renforcent la peau en profondeur.\" },\n            { anchor:'epiderme', action:\"Protection \u0026 vitalité\", benefit:\"Protège la peau des agressions extérieures et soutient sa vitalité.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n\u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n\u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-grid\"\u003e\n\u003c!-- CARTE 1 : Ratio --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003ePur sur les zones jaunies\u003cbr\u003eou 1\/20 pour un bain doux\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 2 : Rendement --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 3 : Équivalences animées --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n\u003cdetails class=\"aqr-proto-acc\" open=\"\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eBain d’entretien — maintien du blanc au quotidien\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003ePour un entretien régulier du pelage blanc\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eApplication diluée\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Aquablu Pro dilué à \u003cstrong\u003e1\/20\u003c\/strong\u003e sur le poil mouillé. Massez pour créer une mousse douce, laissez agir quelques minutes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eDouble shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eRincez abondamment, puis renouvelez le shampoing. \u003cstrong\u003eDeux shampoings recommandés.\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSoin final\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream ou Extra Body Cream\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinition avec \u003cstrong\u003eMix Pink ou Style 360\u003c\/strong\u003e. Utilisable en bain fréquent pour maintenir un manteau parfaitement blanc entre les expositions.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eAction anti-jaunissement intense — avant expo ou concours\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003ePour un résultat éclatant maximal avant une présentation en ring\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePréparez avec \u003cstrong\u003eBio Energy Plus + intégrateurs\u003c\/strong\u003e (Hygro Fluid, Huiles 4 Éléments) en masque pré-bain.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eApplication pure sans rincer\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Aquablu Pro \u003cstrong\u003epur, directement sur le masque sans rincer\u003c\/strong\u003e. Laissez agir quelques minutes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eDouble shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eRincez, puis renouvelez le shampoing. \u003cstrong\u003eDeux shampoings recommandés.\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream ou Extra Body Cream\u003c\/strong\u003e, puis Mix Pink ou Style 360 en finition.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eBoost pigment — mix avec Aqua Vita\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003ePour intensifier encore l’action du pigment bleu\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMélange\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMélangez directement \u003cstrong\u003eAquablu Pro avec la mousse Aqua Vita\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePénétration renforcée\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eL’effet effervescent d’Aqua Vita favorise la \u003cstrong\u003epénétration du pigment bleu dans la structure du poil\u003c\/strong\u003e, intensifiant l’action anti-jaunissement.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePose \u0026amp; rinçage\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez, laissez poser quelques minutes, rincez abondamment. L’usage régulier de ce duo maintient le manteau blanc, candide et brillant durablement.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\u003c!-- Aquablu Pro au cœur + compléments modulaires Si... → Alors --\u003e\n\u003cdiv class=\"aqr-assoc\"\u003e\n\u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToute la gamme Special One\u003c\/strong\u003e est compatible avec l’Aquablu Pro. Nos alliances préférées :\u003c\/p\u003e\n\u003cdiv class=\"aqr-assoc-rules\"\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy Plus + intégrateurs\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final s’impose…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Extra Body Cream\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun boost anti-jaunissement est voulu…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAqua Vita (mousse effervescente)\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition show est recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eMix Pink · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003c!-- Races en pilules arrondies --\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où l'Aquablu Pro fait la différence :\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🤍 Robes blanches ou bi\/tricolores \u003cspan\u003e(chats \u0026amp; chiens avec du blanc)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🖤 Manteaux noirs brillants \u0026amp; fauves \u003cspan\u003e(couleurs exaltées)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées blanches \u003cspan\u003e(Caniches, Bichons, Havanais, Coton de Tuléar, Bedlington)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Races tibétaines claires \u003cspan\u003e(Shih-Tzu, Lhassa, Terrier du Tibet)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 Cockers blancs ou bicolores \u003cspan\u003e(Américain, Anglais)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e👑 Épagneuls Nains Anglais clairs \u003cspan\u003e(Cavalier \u0026amp; King Charles)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✨ Longues \u0026amp; soyeuses blanches \u003cspan\u003e(Maltais, Afghans, Yorkshires bicolores)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐾 Terriers blancs \u003cspan\u003e(Westie, Scottish, Welsh)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe longue et non exhaustive — partout où il y a du blanc, du noir brillant ou des zones dorées à raviver.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819388854451,"sku":"WAQ-AQBL250 (39)","price":19.9,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819388821683,"sku":"WAQ-AQBL5000 (35)","price":112.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Aquablue_bea85c6e-3219-48bd-aa0f-2cc32655cd93.png?v=1680256908"},{"product_id":"huiles-4-elements","title":"HUILES 4 ELEMENTS","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eHuiles 4 Éléments – Special One | Fiche Produit\u003c\/title\u003e\n\n\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eHUILES 4 ÉLÉMENTS\u003c\/strong\u003e est le mélange d'huiles Special One étudié pour \u003cstrong\u003erenforcer et reconstruire le pelage\u003c\/strong\u003e. Un vrai touche-à-tout qui sublime tous les pelages de toutes les races — en intégrateur, en démêlant, en soin avant-bain, en papillotes ou en cataplasmes.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — ce produit sublimera tous les pelages sans exception.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eCe complexe de \u003cstrong\u003equatre huiles végétales précieuses\u003c\/strong\u003e — formulé à base de fractions \u003cstrong\u003einsaponifiables\u003c\/strong\u003e, la partie la plus noble de chaque huile, concentrant vitamines liposolubles, antioxydants, polyphénols et squalène — s'intègre à toutes les étapes du toilettage. Sa polyvalence et sa douceur en font un indispensable de toutes les mallettes. \u003cstrong\u003eNon gras, non occlusif\u003c\/strong\u003e : grâce à son affinité avec le sébum et ses propriétés sébo-restitutives, il est absorbé facilement par la peau et le poil, nourrissant en profondeur et durablement sans jamais alourdir.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n      ⚠️ \u003cstrong\u003eNe pas utiliser en grande quantité dans l'après-shampoing non rincé :\u003c\/strong\u003e trop d'huile + chaleur du sèche-cheveux = effet \"cuisson\" — le poil ressort sec et en souffrance. Privilégiez l'huile \u003cstrong\u003een amont du bain\u003c\/strong\u003e, pas juste avant le brushing.\n    \u003c\/div\u003e\n\n    \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAction revitalisante \u0026amp; restructurante :\u003c\/strong\u003e Renforce et reconstruit le pelage en profondeur.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLuminosité \u0026amp; toucher velouté :\u003c\/strong\u003e Apporte éclat et douceur au manteau dès la première application.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDémêlant :\u003c\/strong\u003e Facilite le démêlage et le brossage — efficace même à sec sur les nœuds.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-feutrage :\u003c\/strong\u003e Prévient le retour des nœuds et feutrages entre les bains.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRéparation :\u003c\/strong\u003e Répare les poils cassés et abîmés, renforce la fibre sur le long terme.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePousse améliorée :\u003c\/strong\u003e Utilisé en papillotes et cataplasmes, améliore la croissance et la qualité du manteau.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eUniversel :\u003c\/strong\u003e Convient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 3 : ACTIFS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eQuatre huiles végétales précieuses aux propriétés complémentaires — sans parabens, sans silicone.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile d'Argan\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eIssue de l'Argania Spinosa du Maroc. Antioxydante, hydratante, élasticisante et cicatrisante — absorbée facilement grâce à ses propriétés sébo-restitutives anti-âge. Riche en acides gras insaturés (linoléique, oléique), carotène, vitamine E et stérols. Idéale pour les manteaux secs et crêpus.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Noix\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en tanins, flavonoïdes, acides gallique et caféique. Propriétés dépuratives, antibactériennes, antifongiques et anti-inflammatoires. S'étale rapidement pour lisser les poils frisés ou ébouriffés — idéale en préparation de bains ou de masques.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Tournesol\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003ePressée à froid, riche en acides oléique (32%) et linoléique (54%) et en vitamine E antioxydante. Renforce la barrière lipidique naturelle et prévient la déshydratation. Régénérante cellulaire — émolliente, hydratante et rééquilibrante pour les peaux sensibles ou irritées.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Soja (Maïs)\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eExtraite du germe du maïs — légère, émolliente et levigante. Très bien tolérée par les peaux sèches. Riche en vitamine E, acide oléique et linoléique — anti-âge naturel qui équilibre le film hydrolipidique et illumine le pelage en le laissant velouté.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Intégrateur — dans le masque pré-bain ou l'après-shampoing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        La méthode d'intégration universelle :\u003cbr\u003e\n        💫 Dans n'importe quel \u003cstrong\u003emasque pré-bain\u003c\/strong\u003e : \u003cstrong\u003e3 pressions d'Huiles 4 Éléments par litre\u003c\/strong\u003e de produit préparé.\u003cbr\u003e\n        💫 Dans l'\u003cstrong\u003eHydrating Cream en fin de bain\u003c\/strong\u003e : ajoutez \u003cstrong\u003e1 pression\u003c\/strong\u003e pour enrichir le conditionneur.\u003cbr\u003e\n        💫 Pour les fourrures en grande souffrance : appliquez les Huiles \u003cstrong\u003ejusqu'à 24 heures avant le bain\u003c\/strong\u003e pour maximiser le temps d'action et l'intensité des bénéfices.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Démêlage à sec — nœuds \u0026amp; feutrages\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour traiter les nœuds et zones feutrées sans mouiller le poil :\u003cbr\u003e\n        💫 Appliquez les \u003cstrong\u003eHuiles 4 Éléments pures directement sur le nœud\u003c\/strong\u003e. Laissez pénétrer quelques instants.\u003cbr\u003e\n        💫 Brossez délicatement avec une brosse à picots douce — le nœud se défait sans douleur ni casse.\u003cbr\u003e\n        💫 Sur les \u003cstrong\u003echiens papillotés ou élastiqués\u003c\/strong\u003e : à l'ouverture, si le poil est noué ou feutré, appliquez de l'huile pure sur la mèche et brossez à la brosse douce.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Papillotes \u0026amp; cataplasmes — pousse \u0026amp; concours\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour les chiens en papillotes ou nécessitant un traitement de fond pour la pousse :\u003cbr\u003e\n        💫 Utilisez les Huiles \u003cstrong\u003epures ou mélangées avec Aqua Dolce + Hydrating Cream\u003c\/strong\u003e pour préparer et envelopper les mèches.\u003cbr\u003e\n        💫 Le complexe huileux nourrit la fibre de façon prolongée et améliore la qualité et la densité de la repousse au fil des semaines.\u003cbr\u003e\n        💫 Idéal en préparation de concours pour les races dont le manteau doit être long, dense et brillant.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 4 🔥 Conditionneur reconstituant post-bain — manteaux très abîmés\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour une action reconstructrice intense après le shampoing :\u003cbr\u003e\n        1. Dans un bol, mélangez \u003cstrong\u003e10 gouttes d'Huiles 4 Éléments + 2 cuillères à soupe de crème\u003c\/strong\u003e au choix : Hydrating Cream, Aqua Dolce ou Extra Body Cream.\u003cbr\u003e\n        2. Diluez avec \u003cstrong\u003e500 mL d'eau chaude\u003c\/strong\u003e et homogénéisez.\u003cbr\u003e\n        3. Appliquez uniformément sur toute la longueur du poil.\u003cbr\u003e\n        4. Sur manteaux très abîmés : laissez poser \u003cstrong\u003e5 minutes sous source de chaleur douce\u003c\/strong\u003e pour favoriser l'absorption. Rincez abondamment.\u003cbr\u003e\n        5. Séchez à basse température, air modéré.\u003cbr\u003e\u003cbr\u003e\n        \u003cem\u003eAlternative simple :\u003c\/em\u003e après le bain, frictionnez quelques gouttes sur le poil humide et séchez sans rincer.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n      🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e en masque pré-bain ·\n      🤝 \u003cstrong\u003eTous les shampoings Special One\u003c\/strong\u003e ·\n      🤝 \u003cstrong\u003eHydrating Cream \/ Aqua Dolce\u003c\/strong\u003e en fin de bain ou pour les papillotes\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0;\"\u003e✔️ \u003cstrong\u003eTous les pelages de toutes les races, sans exception\u003c\/strong\u003e — chiens et chats de tous âges.\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"200 mL","offer_id":37819388887219,"sku":"WEX-4EL200 (145)","price":71.9,"currency_code":"EUR","in_stock":true},{"title":"50 mL","offer_id":37819388919987,"sku":"WEX-4EL50 (140)","price":37.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-21.png?v=1666170332"},{"product_id":"hygro-fluid","title":"HYGRO FLUID","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eHygro Fluid – Special One | Fiche Produit\u003c\/title\u003e\n\n\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eHYGRO FLUID\u003c\/strong\u003e est l'intégrateur nourrissant Special One étudié pour \u003cstrong\u003erenforcer et reconstruire le pelage\u003c\/strong\u003e. Riche en huiles végétales précieuses, il joue un rôle central dans l'équilibre du film hydrolipidique et le rééquilibrage de la flore cutanée. Sa structure permet une \u003cstrong\u003emeilleure absorption des actifs des produits utilisés ensuite\u003c\/strong\u003e — un amplificateur naturel pour tous vos soins.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — ce produit sublime tous les pelages sans exception. Parfaitement complémentaire des deux autres intégrateurs de la gamme : \u003cstrong\u003eSuper Keeper et Huiles 4 Éléments\u003c\/strong\u003e.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eHygro Fluid assainit le derme, rééquilibre la flore cutanée et prépare la peau à mieux recevoir les actifs des soins successifs. Son usage en amont amplifie l'efficacité de tous les produits appliqués après lui — un rôle de \u003cstrong\u003ecatalyseur naturel\u003c\/strong\u003e unique parmi les intégrateurs de la gamme.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n      ⚠️ Si vous ajoutez Hygro Fluid en trop grande quantité après le bain sans rincer, faites attention lors du brushing — le résultat pourrait être trop gras. Privilégiez son utilisation \u003cstrong\u003een amont\u003c\/strong\u003e du bain.\n    \u003c\/div\u003e\n\n    \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAction revitalisante \u0026amp; restructurante :\u003c\/strong\u003e Renforce et reconstruit le pelage en profondeur.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLuminosité \u0026amp; toucher velouté :\u003c\/strong\u003e Apporte éclat et douceur au manteau dès la première application.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDémêlant :\u003c\/strong\u003e Facilite le démêlage et le brossage, prévient le retour des nœuds et feutrages.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRéparation :\u003c\/strong\u003e Répare les poils cassés et renforce la fibre sur le long terme.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eProtection cutanée :\u003c\/strong\u003e Préserve la peau des agressions et de la saleté en rééquilibrant le film hydrolipidique.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePréparation aux concours :\u003c\/strong\u003e Prépare les fourrures pour une présentation en ring — résultat optimal en synergie avec les autres intégrateurs.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eUniversel :\u003c\/strong\u003e Convient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 3 : ACTIFS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn concentré d'huiles végétales précieuses aux propriétés hydratantes, protectrices et anti-âge — sans parabens, sans silicone.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Riz\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eAntioxydante et filtre UV naturel — absorbe les rayons UV et protège le poil et la peau des dommages liés à l'exposition solaire.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Graine de Rose\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRevitalisante et protectrice — nourrit la peau en profondeur, favorise la régénération cellulaire et renforce les défenses naturelles du derme.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Oméga 3 \u0026amp; 6\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eVitaminés et anti-âge pour le poil — nourrissent et renforcent la fibre capillaire, améliorant élasticité, brillance et résistance à long terme.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Intégrateur dans le masque pré-bain ou le shampoing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        La méthode d'intégration quotidienne :\u003cbr\u003e\n        💫 Dans le \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e : ajoutez \u003cstrong\u003e1 à 2 cuillères à soupe d'Hygro Fluid par litre\u003c\/strong\u003e de masque préparé — il amplifie l'action hydratante du masque dès la phase pré-bain.\u003cbr\u003e\n        💫 Dans le \u003cstrong\u003eshampoing\u003c\/strong\u003e : ajoutez \u003cstrong\u003e1 cuillère à soupe\u003c\/strong\u003e directement dans votre shampoing habituel (sauf si vous êtes en recherche de volume maximal).\u003cbr\u003e\n        💫 Pour les fourrures très en souffrance : appliquez Hygro Fluid \u003cstrong\u003ejusqu'à 24 heures avant le bain\u003c\/strong\u003e pour maximiser la pénétration des actifs.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Enrichissement de l'après-shampoing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour enrichir le conditionneur final :\u003cbr\u003e\n        💫 Ajoutez \u003cstrong\u003e1 à 2 pressions d'Hygro Fluid dans l'Hydrating Cream\u003c\/strong\u003e en fin de bain.\u003cbr\u003e\n        Le complexe d'huiles enrichit le conditionneur et améliore la douceur, le velouté et la tenue du poil après séchage.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Programme peau — lutte contre les problèmes cutanés\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Hygro Fluid est un élément clé du programme de lutte contre les problèmes de peau :\u003cbr\u003e\n        1. \u003cstrong\u003eBio Energy Plus + Hygro Fluid\u003c\/strong\u003e en masque pré-bain (20 min de pose) — le duo rééquilibre le film hydrolipidique et prépare la peau à absorber le soin suivant.\u003cbr\u003e\n        2. Shampoing avec \u003cstrong\u003eSkincare Pro\u003c\/strong\u003e.\u003cbr\u003e\n        3. Finalisez avec \u003cstrong\u003eHydrating Cream + 1 pression d'Hygro Fluid\u003c\/strong\u003e.\u003cbr\u003e\n        Ce trio (Bio Energy + Hygro Fluid + Skincare Pro) est la référence pour les peaux chroniquement déséquilibrées.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eToute la gamme Special One est compatible avec Hygro Fluid. Nos alliances préférées :\u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003e\n      🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e en masque pré-bain (association fondamentale) ·\n      🤝 \u003cstrong\u003eTous les shampoings Special One\u003c\/strong\u003e ·\n      🤝 \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e en fin de bain\n    \u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px; padding: 10px 14px; background: #f9f9f9; border: 1px solid #eee;\"\u003e\n      💛 Parfaitement complémentaire des deux autres intégrateurs : \u003cstrong\u003eSuper Keeper\u003c\/strong\u003e et \u003cstrong\u003eHuiles 4 Éléments\u003c\/strong\u003e — les trois fonctionnent en symbiose pour une action complète sur toutes les fourrures.\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0;\"\u003e✔️ \u003cstrong\u003eTous les pelages de toutes les races, sans exception\u003c\/strong\u003e — chiens et chats de tous âges.\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":37819389083827,"sku":"WEX-HYG 020 (38)","price":77.5,"currency_code":"EUR","in_stock":true},{"title":"250 mL","offer_id":37819389116595,"sku":"WEX-HYG250 (36)","price":36.3,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/hygrofluid_7d67bda4-a773-40c0-a567-df3b744fc2b2.png?v=1680256952"},{"product_id":"super-keeper","title":"SUPER KEEPER","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eSuper Keeper – Special One | Fiche Produit\u003c\/title\u003e\n\n\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eSUPER KEEPER\u003c\/strong\u003e est l'intégrateur protecteur Special One, \u003cstrong\u003ehautement réparateur\u003c\/strong\u003e, étudié pour renforcer et reconstruire le pelage. Son mélange d'huiles végétales et de polysaccharides sélectionnés enveloppe délicatement le poil, le protège des agressions et réduit au maximum la formation de nœuds. Un des produits \u003cstrong\u003epréférés des toiletteurs clients\u003c\/strong\u003e pour ses propriétés ultra puissantes.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — ce produit sublime tous les pelages sans exception. Parfaitement complémentaire des deux autres intégrateurs : \u003cstrong\u003eHygro Fluid et Huiles 4 Éléments\u003c\/strong\u003e.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eSa \u003cstrong\u003estructure particulière enveloppe délicatement chaque poil\u003c\/strong\u003e — hydratant de l'intérieur et protégeant de l'extérieur contre les agressions physiques, chimiques et environnementales. La composition huileuse régénère le poil abîmé en lui restituant brillance et corps dès les premiers traitements. C'est cet effet \"gaine protectrice\" qui distingue Super Keeper et en fait un choix de référence pour les fourrures très sollicitées ou fragiles.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n      ⚠️ Si vous ajoutez Super Keeper en trop grande quantité après le bain sans rincer, faites attention lors du brushing — le résultat pourrait être trop gras. Privilégiez son utilisation \u003cstrong\u003een amont\u003c\/strong\u003e du bain.\n    \u003c\/div\u003e\n\n    \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAction revitalisante \u0026amp; restructurante :\u003c\/strong\u003e Renforce et reconstruit le pelage en profondeur dès les premiers traitements.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLuminosité \u0026amp; toucher velouté :\u003c\/strong\u003e Apporte éclat et douceur au manteau dès la première application.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDémêlant \u0026amp; anti-feutrage :\u003c\/strong\u003e Facilite le démêlage et le brossage, réduit au maximum la formation de nœuds.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eGaine protectrice :\u003c\/strong\u003e Enveloppe le poil et protège la peau des agressions extérieures et de la saleté.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRéparation :\u003c\/strong\u003e Répare les poils cassés et renforce durablement la fibre.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePréparation aux concours :\u003c\/strong\u003e Prépare les fourrures pour une présentation en ring en maximisant brillance et tenue.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eUniversel :\u003c\/strong\u003e Convient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 3 : ACTIFS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn mélange exclusif d'huiles végétales et de polysaccharides spécialement sélectionnés pour l'entretien parfait de tous les pelages — sans parabens, sans silicone.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Complexe d'Huiles Végétales\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eMélange sélectionné pour envelopper le poil d'une gaine protectrice légère — hydrate sans alourdir, régénère le poil abîmé et protège des agressions.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Polysaccharides\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eActifs hydratants d'origine naturelle — forment une enveloppe protectrice sur la fibre, retiennent l'humidité et améliorent l'élasticité et la résistance du poil.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Intégrateur dans le masque pré-bain ou le shampoing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        La méthode d'intégration universelle :\u003cbr\u003e\n        💫 Dans le \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e : ajoutez \u003cstrong\u003e1 à 2 cuillères à soupe de Super Keeper par litre\u003c\/strong\u003e de masque préparé.\u003cbr\u003e\n        💫 Dans le \u003cstrong\u003eshampoing\u003c\/strong\u003e : ajoutez \u003cstrong\u003e1 cuillère à soupe\u003c\/strong\u003e pour enrichir l'action nettoyante (sauf en recherche de volume maximal).\u003cbr\u003e\n        💫 Pour les fourrures très en souffrance : appliquez Super Keeper \u003cstrong\u003epur, jusqu'à 24 heures avant le bain\u003c\/strong\u003e comme traitement choc reconstituant — massez et laissez agir.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Enrichissement de l'après-shampoing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour enrichir le conditionneur final :\u003cbr\u003e\n        💫 Ajoutez \u003cstrong\u003e1 à 2 pressions de Super Keeper dans l'Hydrating Cream\u003c\/strong\u003e en fin de bain.\u003cbr\u003e\n        L'effet gaine protectrice du Super Keeper complète l'hydratation de l'Hydrating Cream pour un résultat brillant, velouté et durable.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Le protocole Terrier ultime — texture, élasticité \u0026amp; épilation sans dessécher\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Le protocole concentré en une seule étape, universel sur tous les Terriers :\u003cbr\u003e\n        1. Mélangez \u003cstrong\u003eà parts égales : Super Keeper + Bio Energy Plus + Kératine Pro\u003c\/strong\u003e.\u003cbr\u003e\n        2. Faites mousser, appliquez sur poil mouillé, massez, rincez.\u003cbr\u003e\n        Le poil est texturisé pour l'épilation, l'élasticité est préservée par le Bio Energy, le manteau reste nourri grâce au Super Keeper — sans dessécher.\n        \u003cdiv style=\"margin-top: 10px; background: #f0fff4; border-left: 3px solid #2ecc71; padding: 10px 12px; font-size: 12px;\"\u003e\n          ✨ \u003cstrong\u003eÀ tester absolument sur tous les Terriers\u003c\/strong\u003e — ce protocole 3-en-1 est un game changer pour l'épilation régulière.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eToute la gamme Special One est compatible avec Super Keeper. Nos alliances préférées :\u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003e\n      🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e en masque pré-bain ·\n      🤝 \u003cstrong\u003eTous les shampoings Special One\u003c\/strong\u003e ·\n      🤝 \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e en fin de bain\n    \u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px; padding: 10px 14px; background: #f9f9f9; border: 1px solid #eee;\"\u003e\n      💛 Parfaitement complémentaire de \u003cstrong\u003eHygro Fluid\u003c\/strong\u003e et \u003cstrong\u003eHuiles 4 Éléments\u003c\/strong\u003e — les trois intégrateurs fonctionnent en symbiose pour une action complète sur toutes les fourrures.\u003cbr\u003e\n      Parfait aussi pour un \u003cstrong\u003eprogramme peau\u003c\/strong\u003e en association avec Bio Energy Plus \u0026amp; Skincare Pro.\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ \u003cstrong\u003eTous les pelages de toutes les races, sans exception\u003c\/strong\u003e — chiens et chats de tous âges.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ \u003cstrong\u003eParticulièrement indiqué pour les races à manteaux kératiniques\u003c\/strong\u003e — Terriers, Schnauzers, Cockers et autres races dont le poil est dense, dur ou à forte teneur en kératine.\u003c\/td\u003e\u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819389313203,"sku":"WEX-SPK250 (56)","price":37.9,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819389280435,"sku":"WEX-SPK 023 (55)","price":88.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/superKeeper.png?v=1680703362"},{"product_id":"hydrating-cream-masque-final-sublimateur","title":"HYDRATING CREAM, masque final sublimateur","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n\u003cstrong\u003eHYDRATING CREAM\u003c\/strong\u003e est le \u003cstrong\u003emasque hydratant professionnel le plus vendu de l’histoire de Special One\u003c\/strong\u003e. Indispensable pour découvrir la gamme.\u003c\/div\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eIndispensable pour \u003cstrong\u003etoutes les races\u003c\/strong\u003e, particulièrement pour le \u003cstrong\u003econditionnement des franges, des barbes\u003c\/strong\u003e et les pelages nécessitant une \u003cstrong\u003ehydratation profonde\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"aqr-audience\"\u003e\n\u003cdiv class=\"aqr-audience-grid\"\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eUne \u003cstrong\u003eformulation enrichie d’actifs naturels\u003c\/strong\u003e pour nourrir et revitaliser avec un \u003cstrong\u003eeffet anti-âge\u003c\/strong\u003e. Les extraits de \u003cstrong\u003esoie\u003c\/strong\u003e confèrent une brillance exceptionnelle pour une couleur éclatante.\u003c\/p\u003e\n\u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n\u003cdiv class=\"aqr-benefits-grid\"\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 4h16v6M4 4v3M8 4v3M12 4v3M16 4v3M20 4v3M4 10h16l-2 10H6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eDémêlage\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eFacilite le brossage et \u003cstrong\u003eévite le retour des nœuds\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 9h12a3 3 0 1 0-3-3\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 14h16a3 3 0 1 1-3 3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eRapidité\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eRéduit considérablement le \u003cstrong\u003etemps de séchage\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6l1.4 1.4M17 17l1.4 1.4M5.6 18.4l1.4-1.4M17 7l1.4-1.4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eProtection\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003e\n\u003cstrong\u003eFiltre UV\u003c\/strong\u003e et action \u003cstrong\u003eanti-fourches\u003c\/strong\u003e pour préserver les pointes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eSanté\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eMaintient l’\u003cstrong\u003eélasticité cutanée\u003c\/strong\u003e et une peau en parfaite santé.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eVitalité\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eTexture plus \u003cstrong\u003esouple et gainée\u003c\/strong\u003e dès la première application.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de l’Hydrating Cream\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n\u003cdiv id=\"so-radar-widget\" style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\"\u003e\n\u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e\n\u003cdiv id=\"so-radar-area\" style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\"\u003e\u003csvg id=\"so-radar-svg\" style=\"width: 100%; height: 100%; overflow: visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 5 }, { label: \"Brillance\", value: 4 }, { label: \"Démêlant\", value: 4 }, { label: \"Volume\", value: 3 }, { label: \"Soin peau\", value: 4 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Hydrating Cream - fiabilisee) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de l’Hydrating Cream : 4 duos d’actifs synergiques\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne \u003cstrong\u003eformulation sophistiquée\u003c\/strong\u003e qui pénètre au cœur de la fibre pour une régénération totale — quatre duos d’actifs aux propriétés complémentaires.\u003c\/p\u003e\n\u003c!-- CARTOGRAPHIE --\u003e\n\u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e\n\u003cdiv class=\"aqr-grid\"\u003e\n\u003cdiv class=\"aqr-col-list\"\u003e\n\u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-schema\"\u003e\n\u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n\u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l’Hydrating Cream\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n\u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-info\"\u003e\n\u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'argan', label:'Argan \u0026amp; Macadamia', latin:'Huiles précieuses', family:'botanic',\n          desc:\"Duo d’huiles précieuses : nutrition intense, hydratation et élasticité grâce à l’acide palmitoléique (rare et précieux).\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition intense\", benefit:\"Nourrit la fibre en profondeur et apporte souplesse et élasticité.\" },\n            { anchor:'cuticule', action:\"Hydratation lipidique\", benefit:\"Lisse la cuticule et restitue brillance et toucher gainé.\" }\n          ]\n        },\n        {\n          id:'soie', label:'Soie \u0026amp; Collagène', latin:'Protéines structurantes', family:'aqua',\n          desc:\"Duo restructurant : la \u003cstrong\u003esoie\u003c\/strong\u003e dépose un film protecteur et confère une brillance exceptionnelle ; le \u003cstrong\u003ecollagène\u003c\/strong\u003e restructure la fibre en profondeur.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Restructuration\", benefit:\"Renforce la structure interne et restaure la cohésion du poil.\" },\n            { anchor:'cuticule', action:\"Brillance éclatante\", benefit:\"Dépose un film protecteur soyeux — signature « brillance » du produit.\" }\n          ]\n        },\n        {\n          id:'ginseng', label:'Ginseng \u0026amp; Fucus', latin:'Plantes adaptogènes \u0026amp; marines', family:'bio',\n          desc:\"Duo régénérant : le \u003cstrong\u003eginseng\u003c\/strong\u003e antioxydant tonifie et oxygène ; le \u003cstrong\u003efucus\u003c\/strong\u003e (algue brune) reminéralise et participe à la régénération cellulaire.\",\n          targets: [\n            { anchor:'derme', action:\"Régénération cellulaire\", benefit:\"Soutient la régénération profonde et l’oxygénation cutanée.\" },\n            { anchor:'epiderme', action:\"Action antioxydante\", benefit:\"Protège des stress oxydatifs — effet anti-âge.\" }\n          ]\n        },\n        {\n          id:'proteines', label:'Protéines végétales \u0026amp; Vitamine E', latin:'Bouclier protecteur', family:'cond',\n          desc:\"Duo protecteur : les \u003cstrong\u003eprotéines végétales\u003c\/strong\u003e hydratent l’épiderme ; la \u003cstrong\u003evitamine E\u003c\/strong\u003e protège les cellules contre les radicaux libres.\",\n          targets: [\n            { anchor:'epiderme', action:\"Protection cellulaire\", benefit:\"Hydrate l’épiderme et le protège des radicaux libres.\" },\n            { anchor:'film_hydro', action:\"Apport humectant\", benefit:\"Restaure le film hydrolipidique et maintient l’hydratation.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e \u003c!-- ENCART STORYTELLING : best-seller historique --\u003e\n\u003cdiv style=\"margin-top: 25px; padding: 22px 24px; background: #fff; border-left: 3px solid #1d1d1f;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin-bottom: 12px; display: block;\"\u003e✨ La signature Hydrating Cream\u003c\/span\u003e\n\u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eLe best-seller historique de Special One\u003c\/p\u003e\n\u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eL’\u003cstrong\u003eHydrating Cream\u003c\/strong\u003e est le masque hydratant professionnel le plus vendu de toute l’histoire de Special One — le produit qui a fait découvrir la marque à des milliers de toiletteurs. Sa formule s’appuie sur les \u003cstrong\u003eextraits de soie\u003c\/strong\u003e, qui déposent un film protecteur soyeux et confèrent au manteau une \u003cstrong\u003ebrillance exceptionnelle pour une couleur éclatante\u003c\/strong\u003e. C’est \u003cem\u003ela\u003c\/em\u003e porte d’entrée de la gamme.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n\u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n\u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-grid\"\u003e\n\u003c!-- CARTE 1 : Ratio --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e60\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003e1 c. à café à 2 c. à soupe\u003cbr\u003epar litre selon le rendu\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 2 : Rendement --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e150 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 9 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e500 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 30 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e3 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 180 L\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 3 : Équivalences animées --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e17\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e17\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e1\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillère à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '17', g: '17', spoon: '1' },\n        { target: '2 L', ml: '33', g: '33', spoon: '2' },\n        { target: '4 L', ml: '67', g: '67', spoon: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e \u003c!-- BLOC METHODE DE PRÉPARATION (infographie, pas un protocole) --\u003e\n\u003cdiv class=\"aqr-method-box\"\u003e\n\u003cdiv class=\"aqr-method-eyebrow\"\u003e🛠️ Méthode de préparation\u003c\/div\u003e\n\u003ch3 class=\"aqr-method-title\"\u003eRéussir sa crème en 6 étapes — conseils maison\u003c\/h3\u003e\n\u003cp class=\"aqr-method-subtitle\"\u003eCette méthode anti-grumeaux est à la base des \u003cstrong\u003e3 protocoles ci-dessous\u003c\/strong\u003e — un seul geste à maîtriser.\u003c\/p\u003e\n\u003col class=\"aqr-method-grid\"\u003e\n\u003cli class=\"aqr-method-step\"\u003e\n\u003cdiv class=\"aqr-method-num\"\u003e01\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-title\"\u003eDoser\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003ePrendre \u003cstrong\u003e1 cuillère\u003c\/strong\u003e de crème dans un bol ou un shaker.\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-method-step\"\u003e\n\u003cdiv class=\"aqr-method-num\"\u003e02\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-title\"\u003eHuile \u003cspan class=\"aqr-method-opt\"\u003e(option)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003eSi nœuds résiduels : \u003cstrong\u003e1 pression d’Huiles 4 Éléments\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-method-step\"\u003e\n\u003cdiv class=\"aqr-method-num\"\u003e03\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-title\"\u003eEau \u003cem\u003etrès\u003c\/em\u003e chaude\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003eEnviron \u003cstrong\u003e5 cm d’eau très chaude\u003c\/strong\u003e — essentielle pour \u003cstrong\u003edissoudre les huiles\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-method-step\"\u003e\n\u003cdiv class=\"aqr-method-num\"\u003e04\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-title\"\u003eÉmulsionner\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003e\n\u003cstrong\u003eFouet ou mixeur indispensable !\u003c\/strong\u003e Secouer\/mixer jusqu’à émulsion homogène.\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-method-step\"\u003e\n\u003cdiv class=\"aqr-method-num\"\u003e05\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-title\"\u003eBio Energy Plus \u003cspan class=\"aqr-method-opt\"\u003e(option)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003e\n\u003cstrong\u003e2 pressions de Bio Energy Plus\u003c\/strong\u003e pour booster l’effet hydratant.\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-method-step\"\u003e\n\u003cdiv class=\"aqr-method-num\"\u003e06\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-title\"\u003eCompléter \u0026amp; appliquer\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003eCompléter avec de l’eau tiède, homogénéiser, appliquer. \u003cstrong\u003eNe rincez pas (ou peu)\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"aqr-method-tip\"\u003e\n\u003cspan class=\"aqr-method-tip-icon\"\u003e💡\u003c\/span\u003e \u003cstrong\u003eNotre conseil :\u003c\/strong\u003e contrairement à d’autres crèmes, l’Hydrating Cream se révèle pleinement \u003cstrong\u003esans rinçage (ou avec un rinçage très léger)\u003c\/strong\u003e — c’est ce qui permet au film soyeux de bien s’installer sur la fibre.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-method-box {\n        background: #f5f5f7;\n        border: 1px solid #e5e5e7;\n        border-radius: 14px;\n        padding: 22px 24px 24px;\n        margin-bottom: 18px;\n        font-family: inherit;\n      }\n      .aqr-method-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 600;\n        margin-bottom: 8px;\n      }\n      .aqr-method-title {\n        font-size: 18px;\n        font-weight: 600;\n        color: #1d1d1f;\n        margin: 0 0 6px;\n        line-height: 1.3;\n      }\n      .aqr-method-subtitle {\n        font-size: 13px;\n        color: #6e6e73;\n        margin: 0 0 18px;\n        line-height: 1.5;\n      }\n      .aqr-method-grid {\n        list-style: none;\n        margin: 0;\n        padding: 0;\n        display: grid;\n        grid-template-columns: repeat(6, 1fr);\n        gap: 10px;\n      }\n      .aqr-method-step {\n        background: #fff;\n        border: 1px solid #e5e5e7;\n        border-radius: 10px;\n        padding: 14px 12px;\n        display: flex;\n        flex-direction: column;\n        gap: 6px;\n        position: relative;\n      }\n      .aqr-method-step + .aqr-method-step::before {\n        content: '→';\n        position: absolute;\n        left: -10px;\n        top: 50%;\n        transform: translateY(-50%);\n        color: #c2a85c;\n        font-weight: 600;\n        font-size: 12px;\n        background: #f5f5f7;\n        padding: 0 3px;\n      }\n      .aqr-method-num {\n        font-size: 11px;\n        font-weight: 700;\n        color: #c2a85c;\n        letter-spacing: 0.1em;\n      }\n      .aqr-method-step-title {\n        font-size: 13px;\n        font-weight: 600;\n        color: #1d1d1f;\n      }\n      .aqr-method-opt {\n        font-weight: 400;\n        color: #86868b;\n        font-size: 11px;\n      }\n      .aqr-method-step-desc {\n        font-size: 12px;\n        line-height: 1.45;\n        color: #515154;\n      }\n      .aqr-method-tip {\n        margin-top: 16px;\n        padding: 12px 14px;\n        background: #fff;\n        border-left: 3px solid #c2a85c;\n        border-radius: 6px;\n        font-size: 12.5px;\n        color: #515154;\n        line-height: 1.55;\n      }\n      .aqr-method-tip-icon {\n        margin-right: 4px;\n      }\n      @media (max-width: 900px) {\n        .aqr-method-grid { grid-template-columns: repeat(2, 1fr); }\n        .aqr-method-step + .aqr-method-step::before { display: none; }\n      }\n      @media (max-width: 480px) {\n        .aqr-method-grid { grid-template-columns: 1fr; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eToilettage rapide \u0026amp; efficace\u003c\/span\u003eL’usage de base — tous les jours en salon\u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-body\"\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMélanger\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMélangez l’Hydrating Cream à un \u003cstrong\u003efond d’eau chaude\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eHomogénéiser\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eSecouez ou mixez pour homogénéiser.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eCompléter\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eComplétez avec de l’eau tiède et appliquez.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e⚡\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eVolume léger\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e\n\u003cstrong\u003e1 cuillère à café \/ litre\u003c\/strong\u003e + rinçage optionnel.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e⚡\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePlus de plombant\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e\n\u003cstrong\u003e1 à 2 cuillères à soupe \/ litre\u003c\/strong\u003e + pas de rinçage.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eRestructuration intensive\u003c\/span\u003ePour les poils très abîmés — cure de fond\u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-body\"\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePréparer le mélange\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eSur poil lavé et essoré : \u003cstrong\u003e1 cuillère à soupe + 20 gouttes de 4 Elements Oil\u003c\/strong\u003e dans \u003cstrong\u003e2 L d’eau chaude\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eDistribuer\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDistribuez sur toute la longueur et laissez poser quelques minutes en brossant.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eBoost chaleur\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e💡 \u003cstrong\u003eAstuce :\u003c\/strong\u003e pour les poils très abîmés, effectuez la pose \u003cstrong\u003esous une source de chaleur\u003c\/strong\u003e (sèche-cheveux, lampe) pour activer la pénétration.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eRincer\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eRincez abondamment.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003ePréparation Exposition \/ Wrapping\u003c\/span\u003eLe rituel des Compétiteurs et Handlers\u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-body\"\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMélanger le trio\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAprès le bain : \u003cstrong\u003e1 c. à soupe d’Hydrating Cream + 1 c. à soupe d’Hygrofluid + quelques gouttes de 4 Elements\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eAppliquer\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez sur les \u003cstrong\u003efranges et la barbe\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePeigner\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePeignez avec une \u003cstrong\u003epin brush\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePapillotes\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eLaissez en place \u003cstrong\u003esous papillotes\u003c\/strong\u003e — jusqu’à 1 semaine maximum.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\u003c!-- Villanelle au cœur + compléments modulaires Si.. → Alors --\u003e\n\u003cdiv class=\"aqr-assoc\"\u003e\n\u003cp class=\"aqr-assoc-intro\"\u003eL’Hydrating Cream fait \u003cstrong\u003el’unanimité sur une grande variété de races\u003c\/strong\u003e. Idéal pour le \u003cstrong\u003econditionnement des franges, des barbes\u003c\/strong\u003e, et le \u003cstrong\u003etraitement pendant la mue saisonnière\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"aqr-assoc-rules\"\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003evolume léger recherché…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e1 c. à café \/ L + rinçage optionnel\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eeffet plombant voulu…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e1 à 2 c. à soupe \/ L + sans rinçage\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003epoils très abîmés…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eRestructuration intensive (+ 4 Elements Oil + chaleur)\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003epréparation à un show ou wrapping…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eMélange Hydrating + Hygrofluid + 4 Elements sous papillotes\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003edémêlage difficile en duo…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eVillanelle (débourrage) + Hydrating Cream (finition)\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003c!-- Races en pilules arrondies --\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où l’Hydrating Cream fait la différence :\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les Chats \u0026amp; Races Tibétaines \u003cspan\u003e(Shih-Tzu, Lhassa…)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐶 Cockers, Épagneuls \u0026amp; Cavalier King Charles \u003cspan\u003e(franges et barbes)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 Bergers, Retrievers, Spitz \u0026amp; Eurasiers \u003cspan\u003e(mue saisonnière)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Terriers, Caniches, Bichons \u0026amp; Yorkshires \u003cspan\u003e(poil bouclé et long)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eHydrating Cream fait l’unanimité — la porte d’entrée historique de la gamme Special One.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLES, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"500 mL","offer_id":37819389739187,"sku":"WEX-HYD500 (20)","price":46.5,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819389673651,"sku":"WEX-HYD1 (22)","price":72.7,"currency_code":"EUR","in_stock":true},{"title":"3 Litres","offer_id":37819389706419,"sku":"WEX-HYD3 (24)","price":181.8,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/HydratingCream.png?v=1680188791"},{"product_id":"extra-body-cream-masque-final-volumisant","title":"EXTRA BODY CREAM","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n\u003cstrong\u003eEXTRA BODY CREAM\u003c\/strong\u003e est un \u003cstrong\u003ebaume concentré de volume à effet instantané\u003c\/strong\u003e, formulé pour les chiens et les chats.\u003c\/div\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt, particulièrement pour les \u003cstrong\u003epelages fins\u003c\/strong\u003e et \u003cstrong\u003esans corps\u003c\/strong\u003e !\u003c\/p\u003e\n\u003cdiv class=\"aqr-audience\"\u003e\n\u003cdiv class=\"aqr-audience-grid\"\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003ccircle r=\"2.5\" cy=\"18\" cx=\"6\"\u003e\u003c\/circle\u003e\u003ccircle r=\"2.5\" cy=\"18\" cx=\"18\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle fill=\"#1a1a1a\" r=\"1\" cy=\"11.5\" cx=\"12\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003ccircle r=\"4\" cy=\"8\" cx=\"12\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"#1a1a1a\" fill=\"none\" height=\"20\" width=\"20\" viewbox=\"0 0 24 24\"\u003e\u003ccircle r=\"3\" cy=\"7\" cx=\"8\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle r=\"2\" cy=\"11\" cx=\"17\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eGrâce à des \u003cstrong\u003epolymères de dernière génération\u003c\/strong\u003e et des \u003cstrong\u003eacides aminés\u003c\/strong\u003e, ce baume se fixe au cœur de la structure du poil pour \u003cstrong\u003eaugmenter son épaisseur sans jamais l’alourdir\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv style=\"margin-top: 20px;\" class=\"aqr-benefits\"\u003e\n\u003cdiv class=\"aqr-benefits-grid\"\u003e\n\u003cdiv style=\"--i: 0;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003ccircle r=\"9\" cy=\"12\" cx=\"12\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 8v8M8 12h8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eRemplissage\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAugmente le \u003cstrong\u003ediamètre du poil\u003c\/strong\u003e — \u003cstrong\u003eeffet repulpant\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 1;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M3 12c2-3 4-3 6 0s4 3 6 0 4-3 6 0\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 16c2-3 4-3 6 0s4 3 6 0 4-3 6 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eÉlasticité\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eRedonne \u003cstrong\u003esouplesse et brillance immédiate\u003c\/strong\u003e à la fibre.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 2;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M3 21s2-12 18-18c0 0-2 18-18 18z\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 21l9-9\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eDétox\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eEffet \u003cstrong\u003erafraîchissant et purifiant\u003c\/strong\u003e pour la peau.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 3;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003ePolyvalence\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eIdéal pour \u003cstrong\u003enourrir les franges sèches\u003c\/strong\u003e des poils durs.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"--i: 4;\" class=\"aqr-benefit-card\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg stroke-linejoin=\"round\" stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eAnti-Âge\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003e\n\u003cstrong\u003eProtection contre le stress oxydatif\u003c\/strong\u003e — préserve la jeunesse de la fibre.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de l’Extra Body Cream\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n\u003cdiv style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\" id=\"so-radar-widget\"\u003e\n\u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e\n\u003cdiv style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\" id=\"so-radar-area\"\u003e\u003csvg viewbox=\"0 0 360 360\" style=\"width: 100%; height: 100%; overflow: visible;\" id=\"so-radar-svg\"\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Volume\", value: 3 }, { label: \"Hydratation\", value: 4 }, { label: \"Démêlant\", value: 4 }, { label: \"Soin peau\", value: 3 }, { label: \"Brillance\", value: 3 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Extra Body Cream - fiabilisee) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de l’Extra Body Cream : 4 duos d’actifs synergiques\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne \u003cstrong\u003eformulation riche qui pénètre en profondeur dans la fibre kératinique\u003c\/strong\u003e — quatre duos d’actifs aux propriétés complémentaires.\u003c\/p\u003e\n\u003c!-- CARTOGRAPHIE --\u003e\n\u003cdiv style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\" id=\"aqr-carto\"\u003e\n\u003cdiv class=\"aqr-grid\"\u003e\n\u003cdiv class=\"aqr-col-list\"\u003e\n\u003cul id=\"aqrList\" class=\"aqr-list\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-schema\"\u003e\n\u003cdiv id=\"aqrSchemaWrap\" class=\"aqr-schema-wrap\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l’Extra Body Cream\" style=\"display: block; width: 100%; height: auto;\" id=\"aqrSchemaImg\" class=\"aqr-schema-img\"\u003e \u003csvg viewbox=\"0 0 100 225\" preserveaspectratio=\"none\" id=\"aqrOverlay\" class=\"aqr-overlay\"\u003e\u003c\/svg\u003e\n\u003cdiv id=\"aqrConnectors\" class=\"aqr-connectors\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-info\"\u003e\n\u003cdiv id=\"aqrInfo\" class=\"aqr-info\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'collagene', label:'Collagène \u0026amp; Kératine', latin:'Protéines structurantes', family:'aqua',\n          desc:\"Duo structurant : le \u003cstrong\u003ecollagène\u003c\/strong\u003e renforce et apporte de l’élasticité ; la \u003cstrong\u003ekératine\u003c\/strong\u003e reconstitue la fibre et apporte force et résistance.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Force \u0026amp; résistance\", benefit:\"Reconstitue la fibre kératinique et renforce la structure interne.\" },\n            { anchor:'cuticule', action:\"Élasticité retrouvée\", benefit:\"Restaure la souplesse et la cohésion de la cuticule.\" }\n          ]\n        },\n        {\n          id:'argan', label:'Huiles d’Argan \u0026amp; Jojoba', latin:'Huiles précieuses', family:'botanic',\n          desc:\"Duo nourrissant : l’\u003cstrong\u003eargan\u003c\/strong\u003e nourrit en profondeur ; le \u003cstrong\u003ejojoba\u003c\/strong\u003e mime le sébum naturel et protège la peau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition profonde\", benefit:\"Nourrit la fibre en profondeur sans l’alourdir.\" },\n            { anchor:'film_hydro', action:\"Protection cutanée\", benefit:\"Mime le sébum naturel et protège le film hydrolipidique.\" }\n          ]\n        },\n        {\n          id:'olive', label:'Olive \u0026amp; Tournesol', latin:'Émollients antioxydants', family:'botanic',\n          desc:\"Duo émollient : \u003cstrong\u003eolive et tournesol\u003c\/strong\u003e apportent une riche teneur en antioxydants et adoucissent la fibre.\",\n          targets: [\n            { anchor:'cuticule', action:\"Adoucissement\", benefit:\"Lisse la cuticule et apporte un toucher fondant durable.\" },\n            { anchor:'tige_poil', action:\"Bouclier antioxydant\", benefit:\"Protège la fibre des dommages oxydatifs quotidiens.\" }\n          ]\n        },\n        {\n          id:'raisin', label:'Raisin \u0026amp; Vitamine E', latin:'Action détox \u0026amp; anti-âge', family:'cond',\n          desc:\"Duo détox : le \u003cstrong\u003eraisin\u003c\/strong\u003e apporte resvératrol et polyphénols antioxydants ; la \u003cstrong\u003evitamine E\u003c\/strong\u003e agit en anti-âge et anti-inflammatoire.\",\n          targets: [\n            { anchor:'epiderme', action:\"Action anti-inflammatoire\", benefit:\"Apaise la peau et la protège du vieillissement cutané.\" },\n            { anchor:'derme', action:\"Détox \u0026amp; jeunesse\", benefit:\"Soutient le drainage et préserve la vitalité du derme.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e \u003c!-- ENCART STORYTELLING : effet repulpant --\u003e\n\u003cdiv style=\"margin-top: 25px; padding: 22px 24px; background: #fff; border-left: 3px solid #1d1d1f;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin-bottom: 12px; display: block;\"\u003e✨ La signature Extra Body Cream\u003c\/span\u003e\n\u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eL’effet repulpant : le poil retrouve son corps\u003c\/p\u003e\n\u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003ePour les pelages \u003cstrong\u003efins ou sans corps\u003c\/strong\u003e, le défi n’est pas de coiffer mais de \u003cstrong\u003eredonner du diamètre\u003c\/strong\u003e à chaque fibre. Grâce à ses \u003cstrong\u003epolymères de dernière génération\u003c\/strong\u003e et ses \u003cstrong\u003eacides aminés\u003c\/strong\u003e, Extra Body Cream se fixe au cœur de la structure du poil et l’\u003cem\u003eépaissit\u003c\/em\u003e de l’intérieur. \u003cstrong\u003eAucun alourdissement\u003c\/strong\u003e, juste un poil \u003cstrong\u003eplus dense, plus tonique, plus présent\u003c\/strong\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" class=\"aqr-dilution\"\u003e\n\u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-grid\"\u003e\n\u003c!-- CARTE 1 : Ratio --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e60\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003e1 c. à café à 1 c. à soupe\u003cbr\u003epar litre selon le rendu\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 2 : Rendement --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e150 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 9 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e500 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 30 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e3 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 180 L\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 3 : Équivalences animées --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan class=\"aqr-dilution-cycle-target\" id=\"aqrCycleTarget\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e17\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e17\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e1\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillère à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '17', g: '17', spoon: '1' },\n        { target: '2 L', ml: '33', g: '33', spoon: '2' },\n        { target: '4 L', ml: '67', g: '67', spoon: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eProtocole Anti-mue \u0026amp; Anti-bourre\u003c\/span\u003eLe double passage masque pré-bain + après-shampoing\u003csvg stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"aqr-proto-plus\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-body\"\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDiluez \u003cstrong\u003e1 c. à soupe d’Extra Body Cream par litre d’eau\u003c\/strong\u003e (avec ou sans Bio Energy). Appliquez en masque pré-bain.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eShampoing doux\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eProcédez à un \u003cstrong\u003eshampoing doux au choix\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eAprès-shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eEn fin de bain, réutilisez à hauteur d’\u003cstrong\u003e1 c. à soupe par litre\u003c\/strong\u003e en après-shampoing. \u003cstrong\u003eNe nécessite pas de long temps de pose.\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eToilettage rapide \u0026amp; efficace\u003c\/span\u003eDeux dosages selon la richesse voulue\u003csvg stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"aqr-proto-plus\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-body\"\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003eA\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSoin riche\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDiluez \u003cstrong\u003e1 cuillère à soupe\u003c\/strong\u003e dans \u003cstrong\u003eun demi-litre d’eau chaude\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eSoin léger\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eOu diluez \u003cstrong\u003e1 cuillère à café\u003c\/strong\u003e dans un demi-litre d’eau chaude.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMassage\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMassez délicatement le pelage.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eRinçage\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e\u003cstrong\u003eRincez soigneusement à l’eau tiède.\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eNutrition \u0026amp; Finition (Poils durs)\u003c\/span\u003eLe geste signature pour les franges des poils durs\u003csvg stroke-linecap=\"round\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"aqr-proto-plus\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-body\"\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eApplication ciblée\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePour les \u003cstrong\u003efranges sèches des races à poil dur\u003c\/strong\u003e : appliquez sur les parties concernées.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eMassage \u0026amp; rinçage\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMassez puis rincez.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eBooster shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eIdéal aussi \u003cstrong\u003een ajout dans votre shampoing\u003c\/strong\u003e pour l’enrichir en collagène et kératine hydrolysés.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdiv style=\"margin-top: 18px; padding: 14px 18px; background: #fff5f5; border-left: 3px solid #d9534f; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e⚠️ \u003cstrong\u003eATTENTION :\u003c\/strong\u003e on n’utilisera \u003cstrong\u003epas\u003c\/strong\u003e Extra Body Cream si le chien a un \u003cstrong\u003eretour des nœuds facile\u003c\/strong\u003e. Rappel : \u003cem\u003etrop de volume = retour des nœuds accéléré\u003c\/em\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\u003c!-- Villanelle au cœur + compléments modulaires Si.. → Alors --\u003e\n\u003cdiv class=\"aqr-assoc\"\u003e\n\u003cp class=\"aqr-assoc-intro\"\u003e🤝 \u003cstrong\u003eFinalisation parfaite\u003c\/strong\u003e avec \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (pré-bain), \u003cstrong\u003ePlatynum \/ Aquarosa\u003c\/strong\u003e (shampoings), \u003cstrong\u003eAbsolute \/ Style 360\u003c\/strong\u003e (finition).\u003c\/p\u003e\n\u003cdiv class=\"aqr-assoc-rules\"\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003epelage fin sans corps…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eExtra Body Cream en double passage pré + post-bain\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eprotocole anti-mue \/ anti-bourre…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e1 c. soupe \/ L — sans long temps de pose\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003efranges sèches sur poil dur…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eApplication ciblée pure ou en booster de shampoing\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003echien à retour des nœuds facile…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e❌ Ne pas utiliser — préférer Villanelle ou Hydrating Cream\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003efinition haute brillance recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute ou Style 360 en spray de finition\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003c!-- Races en pilules arrondies --\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où l’Extra Body Cream fait la différence :\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les Chats \u003cspan\u003e(volume concentré)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées \u0026amp; Pelages sans corps \u003cspan\u003e(le besoin n°1)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 Bergers, Retrievers, Bouviers \u0026amp; Primitifs \u003cspan\u003e(densité et corps)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐺 Poils durs \u003cspan\u003e(application ciblée sur les franges)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eLe baume du volume maîtrisé — pour donner du corps sans alourdir.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLES, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":37819389771955,"sku":"WEX-EXTR  (42)","price":71.9,"currency_code":"EUR","in_stock":true},{"title":"3 Litres","offer_id":43820167168220,"sku":"3x  (42)","price":202.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-20.png?v=1651836398"},{"product_id":"beauty-rinse-reequilibreur-de-ph","title":"BEAUTY RINSE, rééquilibreur de pH","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan\u003eLotion de rééquilibrage du potentiel hydrogène : assainissez la peau, forcez la fermeture des écailles, évitez le retour des noeuds, aérez le poil.\u003c\/span\u003e\u003c\/p\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\" data-mce-fragment=\"1\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd bgcolor=\"303030\" data-mce-fragment=\"1\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-fragment=\"1\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan style=\"color: #ffffff;\" data-mce-fragment=\"1\" data-mce-style=\"color: #ffffff;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Toiletteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Eleveurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Particuliers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Compétiteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Handlers\u003c\/div\u003e\n \n\u003cdiv\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e \u003cstrong\u003eBEAUTY RINSE\u003c\/strong\u003e\u003cspan\u003e est une solution innovante qui rééquilibre l'hydratation, la protection et le pH du \u003c\/span\u003epoil après les shampoings\u003cspan\u003e.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e✅ Assainissement de la peau \u003c\/div\u003e\n\u003cdiv\u003e✅ Régulation de le flore bactérienne \u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003e\u003c\/span\u003e✅ Action brillance et volume \u003c\/div\u003e\n\u003cdiv\u003e✅ Fermeture des cuticules du poil \u003c\/div\u003e\n\u003cdiv\u003e✅ Action anti retour des noeuds\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eComposition : focus sur du naturel !\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e \u003cspan\u003eLe BEAUTY RINSE, créé à partir de recettes ancestrales, allie des agents \u003c\/span\u003e\u003cstrong\u003enaturellement acides\u003c\/strong\u003e\u003cspan\u003e qui viendront, en étant très faiblement dosés, rééquilibrer le \u003c\/span\u003epH externe de votre animal\u003cspan\u003e. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\u003cstrong\u003e\u003cbr\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong\u003eVous apprécierez sa composition naturelle :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e🍀 L'eau distillée d'hélichryse (vertus cicatrisantes, anti-inflammatoires) \u003c\/div\u003e\n\u003cdiv\u003e🍀 L'eau d'achillée millefeuille (apaiser et calmer les irritations de la peau)\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e🍀 Extrait de pomme et vinaigre de cidre de pomme (pour hydrater et réguler le PH de la peau\u003c\/span\u003e)\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cspan style=\"color: #ff2a00;\"\u003e\u003cspan style=\"color: #ff2a00;\"\u003e\u003cstrong\u003e\u003cem\u003eÀ diluer à 15\/20 ml de Beauty Rinse pour 1 Litre d'eau chaude.\u003cbr\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"color: #ff2a00;\"\u003e\u003cspan style=\"color: #ff2a00;\"\u003e\u003cstrong\u003e\u003cem\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cspan\u003eLaissez agir pendant quelques minutes pour permettre au produit d'agir, puis sécher.\u003c\/span\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✨\u003cmeta charset=\"UTF-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003eDans le cadre d'un programme spécifique \"anti-noeud \/ anti-feutrage\", cette lotion est idéale. On mélangera alors, en fin de bain, 20mL de Beauty Rinse avec notre masque habituel Hydrating Cream et le Mix Pink.✨\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"text-decoration: underline;\"\u003e\u003cbr\u003e\u003cstrong\u003eMAIS :\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003eNe nourrit pas le poil, attention à ne pas assécher votre fourrure\u003c\/div\u003e\n\u003cdiv\u003eL'objectif reste bien de forcer la fermeture des cuticules du poil sur une fourrure à problème ou ayant des problèmes de retour de noeuds trop rapides. Ne doit pas être inclus dans une routine de pousse de poil sur un chien \"normal\".\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003eToute la Gamme Special One est Compatible avec Beauty Rinse \u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv\u003eCependant, nos alliances préférées vont vers :\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cp\u003e▶︎ Finalise parfaitement le programme Problème de Peau (Bio Energy + Skincare)\u003c\/p\u003e\n\u003cp\u003e▶︎ Idéal également en fin de bain pour une recherche de volume très \"aérien\", en complément des masques classiques.\u003c\/p\u003e\n\u003cp\u003e▶︎ Complète l'Hydrating Cream et le Mix Pink pour prévenir le retour des noeuds ou du feutrage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819389870259,"sku":"WEX-BRI250 (94)","price":23.2,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819389804723,"sku":"WEX-BRI 036 (91)","price":46.3,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819389837491,"sku":"WEX-BRI 5 (90)","price":115.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/BeautyRinse_954f593a-765a-4fbb-a696-df917ad689af.png?v=1680254357"},{"product_id":"aquapure-chlorexidine-propolis","title":"AQUAPURE PRO - 1er shampoing lavant et désinfectant","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eAQUAPURE PRO\u003c\/strong\u003e est le shampoing Special One au \u003cstrong\u003epouvoir lavant le plus fort de la gamme\u003c\/strong\u003e. Il nettoie très en profondeur même les animaux les plus sales et permet une \u003cstrong\u003eremise à zéro de l’épiderme\u003c\/strong\u003e grâce à ses propriétés antiseptiques naturelles — sans jamais agresser ni la peau ni le poil.\n    \u003c\/div\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — \u003cstrong\u003eparticulièrement indispensable pour les cas difficiles et les situations extrêmes\u003c\/strong\u003e en salon ou en élevage.\u003c\/p\u003e\n\n    \u003cdiv class=\"aqr-audience\"\u003e\n      \u003cdiv class=\"aqr-audience-grid\"\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnrichi en \u003cstrong\u003epropolis\u003c\/strong\u003e — « l’antibiotique naturel » — et en \u003cstrong\u003echlorhexidine\u003c\/strong\u003e, l’Aquapure Pro combine le pouvoir nettoyant le plus élevé de la gamme avec des propriétés \u003cstrong\u003eantiseptiques, antibactériennes et antifongiques durables\u003c\/strong\u003e. Ultra efficace dans les situations les plus extrêmes, il respecte pourtant l’équilibre hydrolipidique et le pH naturels de la peau.\u003c\/p\u003e\n    \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n      \u003cdiv class=\"aqr-benefits-grid\"\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePouvoir lavant maximal\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eLe plus fort de la gamme : nettoie et assainit profondément même les cas les plus difficiles.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eRespect de la peau\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003ePréserve l’équilibre hydrolipidique et le pH naturels malgré sa puissance nettoyante.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3c3 4 5 6 5 9a5 5 0 0 1-10 0c0-1.6.6-3 1.6-4.2 0 1.2.7 2 1.5 2 .9 0 1.1-1 .6-2.3C12.3 6.6 12 4.8 12 3z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eCas extrêmes\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eEfficace sur les mâles avec urines, poils très négligés, pollution et saleté profonde.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eRemise à zéro de l’épiderme\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003ePropriétés apaisantes, purifiantes et antiseptiques pour repartir d’une peau saine.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 8v8M8 12h8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAntibactérien \u0026amp; antifongique\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAction durable contre bactéries, levures et champignons — en curatif comme en préventif.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"3\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eRésultat visible\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003ePelage plus propre, plus sain et plus brillant dès la première utilisation.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de l'Aquapure Pro\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e\n        \n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 4 }, { label: \"Démêlant\", value: 3 }, { label: \"Texture\", value: 1 }, { label: \"Soin peau\", value: 5 }, { label: \"Lavant\", value: 5 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Aquapure Pro - fiabilisee) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de l'Aquapure Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formule ciblée sur l’efficacité antiseptique et le respect cutané — \u003cstrong\u003esans SLES, sans parabens, sans silicone\u003c\/strong\u003e. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\n    \u003c!-- CARTOGRAPHIE --\u003e\n    \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e\n      \u003cdiv class=\"aqr-grid\"\u003e\n\n        \u003cdiv class=\"aqr-col-list\"\u003e\n          \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-schema\"\u003e\n          \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n            \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l'Aquapure Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e\n            \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n            \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-info\"\u003e\n          \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'propolis', label:'Propolis', latin:'« L’antibiotique naturel »', family:'botanic',\n          desc:\"Résine récoltée par les abeilles, purifiante et revitalisante : propriétés apaisantes, purifiantes et antiseptiques reconnues depuis l’Antiquité. Idéale pour les peaux sensibles ou sujettes aux irritations.\",\n          targets: [\n            { anchor:'epiderme', action:\"Assainissant naturel\", benefit:\"Purifie et apaise les peaux sensibles ou sujettes aux irritations.\" },\n            { anchor:'glande_seb', action:\"Action antiseptique\", benefit:\"Limite la prolifération microbienne au niveau du film cutané.\" }\n          ]\n        },\n        {\n          id:'chlorhexidine', label:'Chlorhexidine', latin:'Antiseptique de référence', family:'bio',\n          desc:\"Antibactérien puissant à effet durable, également antifongique : prévient la prolifération des micro-organismes et le développement d’infections cutanées, y compris sur les peaux sèches et squameuses.\",\n          targets: [\n            { anchor:'epiderme', action:\"Antibactérien \u0026 antifongique\", benefit:\"Prévient bactéries, levures et champignons — effet durable, en curatif comme en préventif.\" },\n            { anchor:'glande_sud', action:\"Désinfection profonde\", benefit:\"Assainit la peau dans les situations extrêmes (peau macérée ou négligée).\" }\n          ]\n        },\n        {\n          id:'panthenol', label:'Panthénol (Provitamine B5)', latin:'Panthénol', family:'cond',\n          desc:\"Renforce et régénère le poil : il restitue brillance et vitalité tout en améliorant la structure de la fibre.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Régénération de la fibre\", benefit:\"Renforce le poil et améliore la structure de la fibre.\" },\n            { anchor:'cuticule', action:\"Brillance \u0026 vitalité\", benefit:\"Lisse la surface et restitue brillance et vitalité au poil.\" }\n          ]\n        },\n        {\n          id:'glycurea', label:'Glycérine \u0026 Urée', latin:'Humectants', family:'aqua',\n          desc:\"Agents hydratants et humectants : ils maintiennent la peau et le poil souples et élastiques malgré l’intensité du nettoyage.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation humectante\", benefit:\"Captent et retiennent l’eau pour préserver le confort de surface.\" },\n            { anchor:'epiderme', action:\"Souplesse préservée\", benefit:\"Maintiennent l’élasticité cutanée malgré la puissance lavante.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n    \u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n    \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n      \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\n      \u003cdiv class=\"aqr-dilution-grid\"\u003e\n\n        \u003c!-- CARTE 1 : Ratio --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part pour 20 parts d'eau\u003cbr\u003e1\/10 si action aseptisante intense\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 2 : Rendement --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 3 : Équivalences animées --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n                  \u003cdetails class=\"aqr-proto-acc\" open\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eNettoyage intensif — animaux très sales ou très négligés\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003ePour les fourrures très négligées, mâles avec urines, pollution ou saleté profonde\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eLavage intensif\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Aquapure Pro \u003cstrong\u003edilué à 1\/10\u003c\/strong\u003e (action intense) sur le poil mouillé. Massez abondamment, puis rincez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoing conditionnant\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eEnchaînez avec un \u003cstrong\u003esecond shampoing plus doux\u003c\/strong\u003e — \u003cstrong\u003eBain Pro, Aquarosa Pro ou 4Poodle\u003c\/strong\u003e — pour conditionner après le nettoyage.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream, Bombastic ou Aqua Dolce\u003c\/strong\u003e selon le besoin de la fourrure.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eRemise à zéro de l’épiderme — peau à assainir\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003ePour repartir d’une peau saine après une peau macérée, négligée ou déséquilibrée\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003ePréparez avec le masque pré-bain \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e pour amplifier l’action réparatrice.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eApplication sans rincer\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Aquapure Pro directement \u003cstrong\u003esans rincer le masque\u003c\/strong\u003e. Laissez poser quelques instants, massez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRinçage \u0026amp; renouvellement\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eRincez abondamment, puis renouvelez le shampoing si nécessaire.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition réparatrice\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream + Huiles 4 Éléments\u003c\/strong\u003e pour restaurer le film protecteur.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eChoisissez Aquapure Pro si vous avez besoin de…\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eLes situations où l’Aquapure Pro fait toute la différence\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eNettoyer en profondeur\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eLes fourrures les plus sales et les plus négligées.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRemettre la peau à zéro\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eGrâce aux propriétés antiseptiques et antifongiques.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eAseptiser en situation exceptionnelle\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eÉpilation sur peau très sale nécessitant une désinfection de l’épiderme.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003ePrévenir\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eEmpêcher le développement de bactéries, levures ou champignons sur une peau ayant macéré ou été négligée.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n    \n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n    \u003c!-- Aquapure Pro au cœur + compléments modulaires Si... → Alors --\u003e\n    \u003cdiv class=\"aqr-assoc\"\u003e\n      \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToute la gamme Special One\u003c\/strong\u003e est compatible avec l’Aquapure Pro. Nos alliances préférées :\u003c\/p\u003e\n\n      \u003cdiv class=\"aqr-assoc-rules\"\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun second shampoing plus doux est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBain Pro · Aquarosa Pro · 4Poodle\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain réparateur est voulu…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final est nécessaire…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition show est recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Races en pilules arrondies --\u003e\n    \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où l'Aquapure Pro fait la différence :\u003c\/h3\u003e\n    \u003cdiv class=\"aqr-races-mosaic\"\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐶 Tous les chiens \u003cspan\u003e(sans exception)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les chats \u003cspan\u003e(sans exception)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e💧 Mâles marqueurs \u0026amp; urines\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🌫️ Pollution \u0026amp; saleté profonde\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🩹 Peaux macérées ou négligées\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e✂️ Épilation sur peau à assainir\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eLe nettoyage le plus puissant de la gamme — sans aucun compromis sur la douceur envers la peau et le poil.\u003c\/p\u003e\n\n    \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLES, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"PetDesign shop","offers":[{"title":"250 mL","offer_id":40196766924979,"sku":"WAQ-AQPU250 (16)","price":22.9,"currency_code":"EUR","in_stock":true},{"title":"5 L","offer_id":40196766957747,"sku":"WAQ-AQPU5000 (14)","price":128.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Aquapure_13bcd1a0-6daf-4a4c-a84a-2b55145279af.png?v=1680253861"},{"product_id":"mix-pink-conditionner-bi-phase","title":"MIX PINK, conditionner Bi-phase","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eMix Pink – Special One | Fiche Produit\u003c\/title\u003e\n\n\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eMIX PINK\u003c\/strong\u003e est le spray conditionneur bi-phasique antistatique de Special One, bestseller de la gamme Expert Line. Sa formule unique — enrichie à l'huile de macadamia et à la lanoline — agit comme un \u003cstrong\u003epuissant restructurant et disciplinant du manteau\u003c\/strong\u003e : le poil retrouve tonus, hydratation et brillance sans être alourdi ni graissé.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eIdéal pour tous les manteaux longs et frangés — et indispensable pour les fourrures fines et laineuses à fort potentiel électrostatique.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eSa \u003cstrong\u003eformule bi-phasique\u003c\/strong\u003e est la clé de son efficacité : après agitation, les deux phases — huileuse et aqueuse — permettent aux huiles de se répartir uniformément sur le poil \u003cstrong\u003esans graisser\u003c\/strong\u003e, tout en neutralisant la charge électrostatique. Le produit sèche rapidement, ne s'accumule pas et ne \"vole\" pas pendant le séchage — il peut donc être utilisé autant que nécessaire, même quotidiennement.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAntistatique puissant :\u003c\/strong\u003e Élimine la charge électrostatique sans alourdir le manteau.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDisciplinant :\u003c\/strong\u003e Ordonne, lisse et structure le manteau — fin aux poils qui \"volent\".\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eHydratation \u0026amp; brillance :\u003c\/strong\u003e Poil luisant, souple et visiblement hydraté après chaque application.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-nœuds durable :\u003c\/strong\u003e Améliore la texture du manteau et prévient les nœuds à l'usage quotidien.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-frisottis :\u003c\/strong\u003e Élimine le crêpage et protège le manteau de la chaleur du sèche-cheveux.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAdoucissant :\u003c\/strong\u003e Assouplit les manteaux secs et déshydratés, facilitant nettement le démêlage.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eFormule non grasse :\u003c\/strong\u003e Distribution uniforme des huiles sans résidu ni effet lourd.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eParfum frais \u0026amp; persistant :\u003c\/strong\u003e Note agréable qui laisse le manteau sentant bon après chaque utilisation.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 3 : ACTIFS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn complexe d'huiles précieuses et d'actifs restructurants soigneusement sélectionnés pour leurs propriétés hydratantes, protectrices et régénérantes.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Macadamia\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eHydratante et restructurante — maintient le manteau doux, brillant et nourri en profondeur.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Lanoline\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eÉmolliente naturelle d'origine ovine : prévient la sécheresse, réduit la perte de poil et améliore la peignabilité.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Camélia\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en acides gras essentiels et vitamine E — protège le manteau des UV, du vent et de la pollution.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Tournesol\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eÉmolliente et apaisante — maintient la peau souple et hydratée, prévient la sécheresse.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Maïs\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eLégère et non grasse — hydrate le manteau sans l'alourdir.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Extrait de Ginseng\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eAntioxydant et régénérant — protège des agressions extérieures et stimule la régénération du poil.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Extrait de Café Arabica\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eTonifiant et stimulant — améliore la microcirculation cutanée et dynamise la fibre.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Ricin Hydrogénée\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eÉmolliente et lénitive — assouplit la peau, prévient la sécheresse et la desquamation.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #fff; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n      ⚠️ \u003cstrong\u003eAgiter énergiquement avant chaque utilisation\u003c\/strong\u003e pour bien mélanger les deux phases. Vaporiser à \u003cstrong\u003e20–30 cm\u003c\/strong\u003e du poil. Ne pas vaporiser sur les yeux et le nez.\n    \u003c\/div\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Entretien \u0026amp; brossage quotidien à poil sec\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour les manteaux qui se nouent facilement, Mix Pink peut s'utiliser \u003cstrong\u003echaque jour à poil sec\u003c\/strong\u003e en entretien :\u003cbr\u003e\n        1. Agitez le flacon. Vaporisez sur la zone à brosser, à 20–30 cm.\u003cbr\u003e\n        2. Brossez section par section. Le poil se détend, s'ordonne et la charge électrostatique disparaît.\u003cbr\u003e\n        L'usage régulier améliore progressivement la texture du manteau et \u003cstrong\u003eprévient la formation de nœuds\u003c\/strong\u003e sur le long terme.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Conditionneur pendant le séchage\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Mix Pink s'intègre parfaitement dans la phase de séchage après le bain :\u003cbr\u003e\n        1. Agitez le flacon. Vaporisez uniformément sur l'ensemble du manteau humide, à 20–30 cm, en couvrant toute la surface.\u003cbr\u003e\n        2. Séchez au sèche-cheveux en brossant section par section.\u003cbr\u003e\n        Le produit \u003cstrong\u003esèche rapidement sans s'accumuler\u003c\/strong\u003e — il protège des dommages thermiques et laisse le poil discipliné, luisant et parfumé.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Finishing pré-ring — définition \u0026amp; brillance expo\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Mix Pink est un excellent \u003cstrong\u003efinishing de présentation\u003c\/strong\u003e pour les chiens d'exposition :\u003cbr\u003e\n        1. Agitez le flacon. Vaporisez directement sur le manteau sec et brossé.\u003cbr\u003e\n        2. Distribuez uniformément à la brosse pour définir les formes et amplifier la brillance des longueurs et des franges.\u003cbr\u003e\n        Résultat : manteau impeccablement ordonné, lumineux et structuré — prêt pour le ring.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eToute la gamme Special One est compatible avec Mix Pink. À noter : Mix Pink est plus aérien qu'Aqua Beauty (moins anti-nœuds, plus léger), et se distingue d'Absolute 4Poodle, davantage dédié au volume sur Caniche.\u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n      🤝 \u003cstrong\u003eAquarosa Pro \/ Bain Pro\u003c\/strong\u003e en shampoing ·\n      🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e en masque ·\n      🤝 \u003cstrong\u003eAqua Beauty\u003c\/strong\u003e en spray complémentaire (action anti-nœuds renforcée)\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Races à manteau long et frangé : Cockers, Setters, Afghans, Yorkshire — conditioning et brillance des longueurs.\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures fines et laineuses à fort électrostatisme : Maltais, Bichons, Samoyèdes…\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Caniches — allège et ordonne le manteau sans le friser (à différencier d'Absolute 4Poodle pour le volume).\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Races soyeuses : Shih-Tzu, Cavalier King Charles, Terrier du Tibet — douceur et peignabilité quotidienne.\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0;\"\u003e✔️ Tous les chiens participant à des expositions — finishing pré-ring pour définir les formes et intensifier la brillance.\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"200 mL","offer_id":37819390001331,"sku":"WEX-MIX200 (10)","price":40.9,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819389968563,"sku":"WEX-MIXP1 (12)","price":98.9,"currency_code":"EUR","in_stock":true},{"title":"3 Litres","offer_id":43820256526556,"sku":"3x  (12)","price":277.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Mixpink.png?v=1675846492"},{"product_id":"tech-in-color-raviveur-de-couleurs","title":"TECH IN COLOR, raviveur de couleurs","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n\u003cstrong\u003eTECH IN COLOR\u003c\/strong\u003e est le traitement professionnel de Special One pour \u003cstrong\u003esublimer la couleur naturelle de la robe\u003c\/strong\u003e. Ses \u003cstrong\u003epigments naturels\u003c\/strong\u003e interagissent avec les structures kératiniques du poil pour prolonger l'éclat jusqu'au traitement suivant — disponible en \u003cstrong\u003e5 versions selon la couleur du pelage\u003c\/strong\u003e.\u003c\/div\u003e\n\u003cdiv style=\"background: #fffbe6; border: 1px solid #f0e040; padding: 14px 18px; margin-bottom: 20px; font-size: 13px; border-radius: 2px;\"\u003e⚠️ \u003cstrong\u003eTech in Color n'est pas une teinture.\u003c\/strong\u003e C'est un \u003cstrong\u003eréfléchissant naturel\u003c\/strong\u003e qui intensifie la tonalité du pelage jusqu'à 2 ou 3 tons, augmente le contraste et la profondeur du manteau.\u003c\/div\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n\u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt !\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Eleveurs\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n\u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\u003cp style=\"font-size: 14px;\"\u003eGrâce à des \u003cstrong\u003epigments naturels issus des pollens de plantes\u003c\/strong\u003e et des \u003cstrong\u003esubstances minérales réfléchissantes\u003c\/strong\u003e, Tech in Color pénètre dans le cortex du poil en ouvrant délicatement les écailles kératiniques, sans altérer la structure. Les pigments se scellent à l'intérieur du poil et y restent jusqu'au prochain bain pour un résultat durable et uniforme.\u003c\/p\u003e\n\u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n\u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRévélateur de Couleur :\u003c\/strong\u003e Intensifie la couleur naturelle du pelage jusqu'à 2-3 tons.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eTenue dans la Durée :\u003c\/strong\u003e Les pigments s'ancrent dans la kératine jusqu'au bain suivant.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eFormule Naturelle \u0026amp; Aqueuse :\u003c\/strong\u003e Pigments d'origine végétale, base aqueuse, sans agressivité pour la peau.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003e5 Versions Mixables :\u003c\/strong\u003e Adaptées à chaque couleur, combinables entre elles pour un résultat sur-mesure.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eCompatible \u0026amp; Modulable :\u003c\/strong\u003e S'intègre à tous les soins de la gamme Special One.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- VERSIONS DISPONIBLES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eChoisir sa Version\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eSélectionnez la version correspondant à la couleur du pelage de votre animal. Les versions sont également \u003cstrong\u003ecombinables entre elles\u003c\/strong\u003e pour affiner le résultat.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n\u003cthead\u003e\n\u003ctr style=\"background: #1a1a1a; color: #fff;\"\u003e\n\u003cth style=\"padding: 10px 15px; text-align: left; font-weight: 600;\"\u003eCouleur du pelage\u003c\/th\u003e\n\u003cth style=\"padding: 10px 15px; text-align: center; font-weight: 600;\"\u003eVersion\u003c\/th\u003e\n\u003cth style=\"padding: 10px 15px; text-align: left; font-weight: 600;\"\u003eReflet \u0026amp; Notes\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background: #fafafa;\"\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003e⬜ Blanc, bi \/ tricolore, silver\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee; text-align: center;\"\u003e\u003cstrong\u003eTech in Color A\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003eTonalité bleue — effet anti-jaune, exalte contraste et brillance.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #fff;\"\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003e⬛ Noir, gris, bleu\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee; text-align: center;\"\u003e\u003cstrong\u003eTech in Color B\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003eTonalité noire — utilisable aussi sur poils gris\/clairs sans reflet violet ou vert.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #fafafa;\"\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003e🟠 Abricot, rouge, fauve, tan\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee; text-align: center;\"\u003e\u003cstrong\u003eTech in Color C\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003eTonalité rubis — pigment intense, red \u0026amp; tan. Mixable avec D ou E.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #fff;\"\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003e🟤 Marron, rubis\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee; text-align: center;\"\u003e\u003cstrong\u003eTech in Color D\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; border-bottom: 1px solid #eee;\"\u003eTonalité noix — spécialement formulée pour les manteaux bruns. Mixable avec C.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #fafafa;\"\u003e\n\u003ctd style=\"padding: 10px 15px;\"\u003e🟡 Blond, crème, gold, abricot\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px; text-align: center;\"\u003e\u003cstrong\u003eTech in Color E\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 15px;\"\u003eTonalité orange — vive, pour manteaux gold, blonds, abricots. Mixable avec C.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv style=\"margin-top: 15px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #eee; font-size: 12px; color: #555;\"\u003eVous pouvez les mélanger pour obtenir la tonalité exacte recherchée !\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- SYNERGIE D'ACTIFS --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eComposition : Focus sur du Naturel\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eDes actifs soigneusement sélectionnés pour illuminer sans altérer.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n\u003cstrong\u003e✨ Pigments Naturels d'Origine Végétale\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eIssus des pollens de plantes (CI 14720, CI 19140, CI 28440, CI 15985, CI 16255, CI 42090). Pénètrent le cortex kératinique pour une couleur intense et lumineuse.\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n\u003cstrong\u003e✨ Substances Minérales Réfléchissantes\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eUltramarines (CI 60730) — amplifient l'éclat et la brillance de la robe en captant la lumière. Base aqueuse, délicate pour la peau.\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'Utilisations\u003c\/span\u003e\n\u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n\u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 1 🔥 Intégration au Shampoing ou au Masque\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eÉmulsionnez les gouttes Tech in Color dans votre shampoing Special One dilué ou dans le masque final.\u003cbr\u003e\u003cbr\u003e1. Dose indicative : \u003cstrong\u003e15 à 60 gouttes par litre\u003c\/strong\u003e — augmentez selon l'intensité de reflets souhaitée.\u003cbr\u003e2. Appliquez sur l'ensemble du manteau et laissez agir \u003cstrong\u003e5 à 10 minutes\u003c\/strong\u003e.\u003cbr\u003e3. Rincez abondamment.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n\u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 2 🔥 Absorption Intensifiée (hors pelages blancs)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003ePour maximiser la fixation des pigments — \u003cstrong\u003ene pas réaliser sur les pelages blancs\u003c\/strong\u003e :\u003cbr\u003e\u003cbr\u003e1. Préparez une solution concentrée de Tech in Color dans de l'eau (+ éventuellement quelques pressions d'\u003cstrong\u003eHuiles 4 Elements\u003c\/strong\u003e).\u003cbr\u003e2. Appliquez sur le \u003cstrong\u003epoil sec\u003c\/strong\u003e, hors cycle de bain classique.\u003cbr\u003e3. Ne pas sécher, ne pas rincer. Laisser absorber naturellement.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n\u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 3 🔥 Application en Spray (avant ou pendant le séchage)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003e1. Diluez Tech in Color dans un spray avec de l'eau.\u003cbr\u003e2. Nébulisez sur le manteau \u003cstrong\u003eavant ou pendant le séchage\u003c\/strong\u003e.\u003cbr\u003e3. ⚠️ \u003cstrong\u003ePortez des gants\u003c\/strong\u003e lors de cette utilisation — l'effet colorant peut être très intense sur les mains.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n\u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 4 🔥 Application Ciblée au Pinceau (retouche \u0026amp; camouflage)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003ePour cibler une zone précise (poitrail, patte, etc.) :\u003cbr\u003e\u003cbr\u003e1. Appliquez Tech in Color \u003cstrong\u003epur ou dilué\u003c\/strong\u003e au pinceau directement sur la zone à traiter.\u003cbr\u003e2. Dosez selon l'intensité de couleur désirée.\u003cbr\u003e3. Laissez poser, puis rincez si nécessaire.\u003cbr\u003e\u003cbr\u003e💡 Idéal pour les retouches de présentation en exposition.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdiv style=\"margin-top: 20px; padding: 20px; background: #fff; border: 1px dashed #1a1a1a;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: bold; text-transform: uppercase; display: block; margin-bottom: 10px;\"\u003e🛠️ BIEN DOSER SON TECH IN COLOR :\u003c\/span\u003e\n\u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e1️⃣ Choisissez la version adaptée à la couleur du pelage (A, B, C, D ou E).\u003cbr\u003e2️⃣ Commencez par \u003cstrong\u003e15 à 40 gouttes par litre\u003c\/strong\u003e comme base de travail.\u003cbr\u003e3️⃣ Montez jusqu'à \u003cstrong\u003e60 gouttes\u003c\/strong\u003e selon l'intensité de reflets désirée.\u003cbr\u003e4️⃣ Mélangez soigneusement à votre shampoing ou masque avant application.\u003cbr\u003e5️⃣ Laissez poser \u003cstrong\u003e5 à 10 minutes\u003c\/strong\u003e pour permettre l'ancrage kératinique, puis rincez.\u003cbr\u003e6️⃣ Pour un effet naturel tono su tono : mixez deux versions (ex. 3\/4 de E + 1\/4 de C).\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Synergie parfaite avec : \u003cstrong\u003etous les shampoings, masques et conditionners Special One\u003c\/strong\u003e — notamment avec \u003cstrong\u003eHuiles 4 Elements\u003c\/strong\u003e pour un résultat intensifié.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les chats\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les chiens en salon de toilettage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures frisées (Caniches, Bichons, Kerry Blue, Soft Coated, Bedlington…)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les Cockers (Américain, Anglais)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Races Tibétaines (Shih-Tzu, Lhassa, Terrier du Tibet…)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Epagneuls Nains Anglais (Cavalier et King Charles)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures longues et soyeuses (Yorkshire, Afghans…)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Tous les terriers (Scottish, Westie, Welsh…)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"font-size: 12px; color: #888; margin-top: 10px;\"\u003eLa liste est longue et non exhaustive !\u003c\/p\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Sans Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"A - MANTEAU BLANC\/BICOLORE\/TRICO","offer_id":37819391017139,"sku":"WEX-THCA 040 (11)","price":50.9,"currency_code":"EUR","in_stock":true},{"title":"B - MANTEAU NOIR\/GRIS","offer_id":37819391049907,"sku":"WEX-THCB 041","price":50.9,"currency_code":"EUR","in_stock":false},{"title":"C - MANTEAU ABRICOT\/FAUVE","offer_id":37819391082675,"sku":"WEX-THCD 042  (142)","price":50.9,"currency_code":"EUR","in_stock":true},{"title":"D - MANTEAU MARRON, RUBY","offer_id":37819391115443,"sku":"WEX-THCD 043 (137)","price":50.9,"currency_code":"EUR","in_stock":true},{"title":"E - MANTEAU CRÈME\/BLOND","offer_id":37819391148211,"sku":"WEX-THCE 044 (45)","price":50.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-24.png?v=1661266021"},{"product_id":"style-360-spray-volume","title":"STYLE 360, spray volume","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eSTYLE 360\u003c\/strong\u003e est le tout premier conditionneur de la gamme Special One — un classique à la formulation particulièrement technique. Conçu pour \u003cstrong\u003evolumiser au maximum toutes les fourrures\u003c\/strong\u003e tout en éliminant l'électricité statique, il donne une tenue parfaite au poil lors de la coupe aux ciseaux et s'impose comme l'indispensable des jours d'exposition.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — particulièrement les professionnels en quête de volume maximal et de tenue pour la coupe ou l'exposition.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR : DIAGRAMME COSMÉTOLOGIQUE --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:24px 28px 20px;overflow:visible;\"\u003e\n        \u003cspan style=\"font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#999;margin-bottom:22px;display:block;\"\u003eDiagramme cosmétologique du Style 360\u003c\/span\u003e\n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label {\n      position: absolute;\n      transform: translate(-50%, -50%);\n      text-align: center;\n      pointer-events: none;\n      white-space: nowrap;\n      opacity: 0;\n      animation: so-fadeUp 0.5s ease forwards;\n    }\n    .so-label .so-lname {\n      font-size: 9px;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n      color: #999;\n      display: block;\n      margin-bottom: 1px;\n      font-family: inherit;\n    }\n    .so-label .so-lval {\n      font-size: 24px;\n      font-weight: 700;\n      color: #1a1a1a;\n      line-height: 1;\n      font-family: inherit;\n    }\n    .so-label .so-lmax {\n      font-size: 12px;\n      font-weight: 400;\n      color: #bbb;\n      font-family: inherit;\n    }\n    .so-footer-bar {\n      margin-top: 18px;\n      border-top: 1px solid #eee;\n      padding-top: 14px;\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 6px;\n      opacity: 0;\n      animation: so-footerIn 0.5s ease forwards 0.8s;\n    }\n    .so-footer-label {\n      font-size: 9px;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.1em;\n      color: #999;\n      font-family: inherit;\n      margin-right: 2px;\n    }\n    .so-footer-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: 4px;\n      background: #1a1a1a;\n      padding: 4px 10px;\n      font-size: 11px;\n      font-weight: 600;\n      color: #fff;\n      font-family: inherit;\n    }\n    .so-footer-chip-score {\n      font-weight: 400;\n      color: rgba(255,255,255,0.4);\n      font-size: 10px;\n    }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp {\n      from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); }\n      to   { opacity: 1; transform: translate(-50%, -50%); }\n    }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-footer-chip { font-size: 10px !important; padding: 3px 8px !important; }\n      .so-footer-label { font-size: 8px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Volume\",       value: 5 },\n        { label: \"Brillance\",    value: 4 },\n        { label: \"Démêlant\",     value: 2 },\n        { label: \"Hydratation\",  value: 3 },\n        { label: \"Défrisage\",    value: 4 }\n      ]\n    };\n\n    var svg  = document.getElementById(\"so-radar-svg\");\n    var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria;\n    var n    = data.length;\n    var cx = 180, cy = 180, maxR = 95;\n\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) {\n      var a = ang(i), r = (v \/ mx) * maxR;\n      return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) };\n    }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n\n    for (var l = 1; l \u003c= 5; l++) {\n      var pts = [];\n      for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); }\n      var poly = svgEl(\"polygon\");\n      poly.setAttribute(\"points\", pts.join(\" \"));\n      poly.setAttribute(\"fill\", \"none\");\n      poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\");\n      poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\");\n      if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\");\n      svg.appendChild(poly);\n    }\n\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, 5, 5);\n      var line = svgEl(\"line\");\n      line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy);\n      line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y);\n      line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\");\n      line.setAttribute(\"stroke-width\", \"0.6\");\n      svg.appendChild(line);\n    }\n\n    var shapePts = [];\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, data[i].value, 5);\n      shapePts.push(p.x + \",\" + p.y);\n    }\n    var ptsStr = shapePts.join(\" \");\n\n    var fillPoly = svgEl(\"polygon\");\n    fillPoly.setAttribute(\"points\", ptsStr);\n    fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\");\n    fillPoly.classList.add(\"so-shape-fill\");\n    svg.appendChild(fillPoly);\n\n    var strokePoly = svgEl(\"polygon\");\n    strokePoly.setAttribute(\"points\", ptsStr);\n    strokePoly.setAttribute(\"fill\", \"none\");\n    strokePoly.setAttribute(\"stroke\", \"#1a1a1a\");\n    strokePoly.setAttribute(\"stroke-width\", \"1.8\");\n    strokePoly.setAttribute(\"stroke-linejoin\", \"round\");\n    strokePoly.classList.add(\"so-shape-stroke\");\n    svg.appendChild(strokePoly);\n\n    for (var i = 0; i \u003c n; i++) {\n      (function(i) {\n        var d = data[i];\n        var p = pt(i, d.value, 5);\n        var delay = 0.5 + i * 0.1;\n\n        var halo = svgEl(\"circle\");\n        halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y);\n        halo.setAttribute(\"r\", \"7\");\n        halo.setAttribute(\"fill\", \"none\");\n        halo.setAttribute(\"stroke\", \"#1a1a1a\");\n        halo.setAttribute(\"stroke-width\", \"1\");\n        halo.setAttribute(\"stroke-opacity\", \"0.12\");\n        halo.classList.add(\"so-dot\");\n        halo.style.animationDelay = delay + \"s\";\n        svg.appendChild(halo);\n\n        var dot = svgEl(\"circle\");\n        dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y);\n        dot.setAttribute(\"r\", \"3\");\n        dot.setAttribute(\"fill\", \"#1a1a1a\");\n        dot.classList.add(\"so-dot\");\n        dot.style.animationDelay = delay + \"s\";\n        svg.appendChild(dot);\n\n        var lp = pt(i, 6.5, 5);\n        var pctX = (lp.x \/ 360) * 100;\n        var pctY = (lp.y \/ 360) * 100;\n\n        var lbl = document.createElement(\"div\");\n        lbl.className = \"so-label\";\n        lbl.style.left = pctX + \"%\";\n        lbl.style.top  = pctY + \"%\";\n        lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\";\n        lbl.innerHTML =\n          '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e' +\n          '\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e';\n        area.appendChild(lbl);\n      })(i);\n    }\n\n    var maxVal = 0;\n    for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; }\n    var bests = [];\n    for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n\n    var chipsHtml = '';\n    for (var i = 0; i \u003c bests.length; i++) {\n      chipsHtml +=\n        '\u003cspan class=\"so-footer-chip\"\u003e' +\n          bests[i].label +\n          '\u003cspan class=\"so-footer-chip-score\"\u003e' + bests[i].value + '\/5\u003c\/span\u003e' +\n        '\u003c\/span\u003e';\n    }\n\n    document.getElementById(\"so-radar-footer\").innerHTML =\n      '\u003cdiv class=\"so-footer-bar\"\u003e' +\n        '\u003cspan class=\"so-footer-label\"\u003e★ ' + (bests.length \u003e 1 ? 'Points forts' : 'Point fort') + '\u003c\/span\u003e' +\n        chipsHtml +\n      '\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnrichi d'un mélange de tensioactifs d'origine naturelle et de substances hydratantes, Style 360 \u003cstrong\u003eredonne brillance et élasticité au poil dès les premiers soins\u003c\/strong\u003e. Sa formule technique unique permet d'obtenir un volume tenu et structuré, que ce soit pour une coupe professionnelle, le montage d'une tête ou la présentation en ring.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n      ⚠️ \u003cstrong\u003eProduit pour les grandes occasions :\u003c\/strong\u003e Style 360 est recommandé pour les jours d'expo, de concours et de coupe — pas pour l'entretien quotidien. Une utilisation trop fréquente serait contre-productive et engendrerait un retour rapide des nœuds.\n    \u003c\/div\u003e\n\n    \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eVolume maximal :\u003c\/strong\u003e Gonfle et structure toutes les fourrures pour un résultat spectaculaire.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eTenue parfaite pour la coupe :\u003c\/strong\u003e Le poil tient sous les ciseaux, facilitant les finitions précises.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eFixation longue durée :\u003c\/strong\u003e Maintient la forme et la tenue du pelage dans le temps.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eMontage de têtes :\u003c\/strong\u003e Particulièrement efficace pour le montage et la mise en forme des têtes.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAide au plombé :\u003c\/strong\u003e Aide à plomber les fourrures qui en ont besoin.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAntistatique :\u003c\/strong\u003e Élimine l'électricité statique pour un poil discipliné et ordonné.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eDouceur universelle :\u003c\/strong\u003e Convient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation naturelle axée sur le volume, la brillance et la protection — sans parabens, sans silicone.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Protéines de Soie\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eApportent douceur et gainage — enveloppent la fibre pour lui donner corps et brillance.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Protéines de Lait\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eNourrissent le manteau en profondeur et renforcent la fibre pour un poil résistant et soyeux.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Huile de Jojoba\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eFait ressortir les couleurs naturelles du pelage tout en nourrissant la fibre en profondeur.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Chlorella Vulgaris\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAlgue marine riche en acides aminés essentiels hautement biodisponibles — antioxydante et détoxifiante.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Vitamine B12 \u0026amp; Bêta-Carotène\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eHydratent la structure du poil de l'intérieur et contribuent à la vitalité et à l'éclat du manteau.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n      💡 \u003cstrong\u003eDilution selon la finesse du poil :\u003c\/strong\u003e Pur sur les poils épais pour un volume très tenu · Dilué jusqu'à 1\/10 à l'eau déminéralisée pour les poils fins (ex. Caniche Toy). Appliquer sur poil mouillé.\n    \u003c\/div\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Séchage, brushing \u0026amp; coupe aux ciseaux\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Style 360 s'utilise tout au long du toilettage, du séchage jusqu'à la coupe finale :\u003cbr\u003e\n        1. Appliquez sur le poil mouillé lors du séchage en pulsant régulièrement au fur et à mesure que le poil sèche.\u003cbr\u003e\n        2. Continuez à vaporiser lors du brushing final — sur le poil \u003cstrong\u003eet directement sur la brosse et le peigne\u003c\/strong\u003e pour une action encore plus performante.\u003cbr\u003e\n        3. Pendant la coupe, revenez vaporiser très régulièrement sur les zones travaillées : le poil tient sous les ciseaux et la tenue s'améliore au fil de la coupe.\u003cbr\u003e\n        Le volume monte progressivement à chaque étape.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Jour d'exposition — préparation \u0026amp; retouche ring\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Style 360 est l'outil de référence les jours de concours :\u003cbr\u003e\n        1. \u003cstrong\u003eLe matin de l'exposition\u003c\/strong\u003e : pulsez Style 360 sur l'ensemble du pelage pour remettre en forme le volume et la tenue acquis lors du toilettage.\u003cbr\u003e\n        2. \u003cstrong\u003eAvant le ring\u003c\/strong\u003e : retouchez les zones qui auraient bougé ou perdu de la tenue. Vaporisez et brossez pour une finition impeccable.\u003cbr\u003e\n        3. \u003cstrong\u003eSur le ring si besoin\u003c\/strong\u003e : une légère application de dernière minute est possible pour un résultat parfait devant les juges.\u003cbr\u003e\n        Si fixation complémentaire souhaitée : utilisez \u003cstrong\u003eMultifix\u003c\/strong\u003e en spray de fixation finale.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Montage de têtes \u0026amp; plombé des fourrures\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Pour les travaux de mise en forme spécifiques :\u003cbr\u003e\n        1. Vaporisez Style 360 pur ou légèrement dilué directement sur la zone à travailler (tête, chignon, zones à plomber).\u003cbr\u003e\n        2. Travaillez au peigne ou à la brosse en construisant le volume couche par couche.\u003cbr\u003e\n        La fixation longue durée maintient la forme obtenue — idéal pour les montages élaborés qui doivent tenir toute une journée d'exposition. Complétez avec \u003cstrong\u003eExtra Body Cream ou Beauty Rinse\u003c\/strong\u003e pour un effet volume encore renforcé.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 4 🔥 Conditionneur à rincer après shampoing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Style 360 peut également s'utiliser comme \u003cstrong\u003econditionneur classique après shampoing\u003c\/strong\u003e :\u003cbr\u003e\n        1. Après le shampoing et l'essorage, vaporisez Style 360 sur l'ensemble du manteau humide.\u003cbr\u003e\n        2. Massez soigneusement pour faire pénétrer le produit dans la fibre. Laissez poser quelques instants en continuant à masser.\u003cbr\u003e\n        3. Rincez abondamment.\u003cbr\u003e\n        Cette méthode apporte un effet volume et nutrition de base avant même le séchage — idéale pour préparer les fourrures fines ou déshydratées.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eIdéal avec tous les produits générateurs de volume de la gamme :\u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n      🤝 \u003cstrong\u003ePlatynum Pro\u003c\/strong\u003e ·\n      🤝 \u003cstrong\u003eExtra Body Cream\u003c\/strong\u003e ·\n      🤝 \u003cstrong\u003eBeauty Rinse\u003c\/strong\u003e ·\n      🤝 \u003cstrong\u003eMultifix\u003c\/strong\u003e (fixation finale)\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les chats et tous les chiens — universel sur l'ensemble des races et types de pelage dès lors qu'on recherche du volume\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures frisées : Caniches, Bichons, Kerry Blue, Soft Coated, Bedlington… — volume et tenue maximaux.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Cockers Américain\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Oreilles des Épagneuls Nains Anglais (Cavalier et King Charles)\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Terriers : Scottish, Westie, Welsh… — liste longue et non exhaustive !\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Poils doubles : Spitz, Terre Neuve, Samoyède, Bouviers, Bergers Australiens, etc.\u003c\/td\u003e\u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":37819391312051,"sku":"WEX-STY360 (37)","price":88.9,"currency_code":"EUR","in_stock":true},{"title":"200 mL","offer_id":37819391344819,"sku":"WEX-STYLE280 (34)","price":44.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/style360.png?v=1680257576"},{"product_id":"multifix-fluide-modelant","title":"MULTIFIX, fluide modelant","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eMULTIFIX\u003c\/strong\u003e est le fluide modelant professionnel de Special One pour \u003cstrong\u003ecréer et maintenir des coiffures durables\u003c\/strong\u003e — effet lisse ou bouclé. Grâce à son \u003cstrong\u003efilm hydrosoluble à effet mémoire\u003c\/strong\u003e, il protège le manteau de la chaleur tout en conservant la mise en forme souhaitée bien au-delà du salon.\n    \u003c\/div\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eLe must-have des toiletteurs artistiques et des compétiteurs !\u003c\/p\u003e\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Eleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n    \u003cp style=\"font-size: 14px;\"\u003eMultifix forme un \u003cstrong\u003efilm hydrosoluble sur le poil\u003c\/strong\u003e qui protège le manteau des sources de chaleur (fer à lisser, séchoir), fixe la mise en forme et peut être facilement renouvelé avec de l'eau. Sa formulation à base de \u003cstrong\u003erésines naturelles et polymères cosmétiques\u003c\/strong\u003e garantit brillance, élasticité et tenue sans alourdir le manteau ni laisser de résidus.\u003c\/p\u003e\n    \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eEffet Mémoire :\u003c\/strong\u003e Maintient la coiffure lisse ou bouclée longtemps après le toilettage.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eProtection Thermique :\u003c\/strong\u003e Film protecteur actif contre la chaleur du fer et du séchoir.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eBrillance \u0026amp; Élasticité :\u003c\/strong\u003e Renforce l'aspect soyeux et la vitalité du manteau.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eApplication Facile :\u003c\/strong\u003e Se répartit uniformément, sèche rapidement, sans résidu.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eHydrosoluble :\u003c\/strong\u003e La coiffure se réactive simplement à l'eau pour ajustement.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eFormulation : Technologie Modelante\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne synergie d'actifs cosmétiques pour fixer, protéger et sublimer.\u003c\/p\u003e\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Résines Naturelles\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eForment le film protecteur hydrosoluble à effet mémoire — tenue de la coiffure sans rigidité ni résidu.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Polymères Cosmétiques Conditionnants\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eAméliorent la texture du manteau, facilitent le coiffage, apportent souplesse et résistance à l'humidité.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'Utilisations\u003c\/span\u003e\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 1 🔥 Effet Lisse — Brushing \u0026amp; Fer à Lisser\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003e\n        Sur poil propre, tamponné de l'excès d'eau :\u003cbr\u003e\u003cbr\u003e\n        1. Répartissez \u003cstrong\u003eMultifix uniformément\u003c\/strong\u003e sur le manteau.\u003cbr\u003e\n        2. Séchez au séchoir ou au brushing.\u003cbr\u003e\n        3. Créez la mise en forme lisse au \u003cstrong\u003efer à lisser\u003c\/strong\u003e.\u003cbr\u003e\n        4. Pour renforcer la tenue, \u003cstrong\u003erépétez l'application\u003c\/strong\u003e après la mise en forme.\u003cbr\u003e\u003cbr\u003e\n        💡 Le film protecteur thermique est actif dès l'application — le poil est protégé de la chaleur directe.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 2 🔥 Effet Bouclé — Diffuseur (sans brosse ni cardeur)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003e\n        Sur poil propre, tamponné de l'excès d'eau :\u003cbr\u003e\u003cbr\u003e\n        1. Appliquez Multifix uniformément sur l'ensemble du manteau.\u003cbr\u003e\n        2. Peignez le poil en formant des \u003cstrong\u003eboucles naturelles\u003c\/strong\u003e.\u003cbr\u003e\n        3. Séchez \u003cstrong\u003eau diffuseur uniquement\u003c\/strong\u003e — sans cardeur ni brosse pour préserver la boucle.\u003cbr\u003e\n        4. Répétez l'application après séchage pour \u003cstrong\u003erenforcer et fixer la boucle\u003c\/strong\u003e.\u003cbr\u003e\u003cbr\u003e\n        💡 Idéal pour les Caniches, Bichons et toutes races à manteau ondulé.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 3 🔥 Entretien \u0026amp; Réactivation entre les Bains\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003e\n        Grâce au film \u003cstrong\u003ehydrosoluble\u003c\/strong\u003e, la coiffure peut être réactivée et ajustée facilement :\u003cbr\u003e\u003cbr\u003e\n        1. Humidifiez légèrement la zone à restructurer avec de l'eau.\u003cbr\u003e\n        2. Reformez la coiffure à la main ou au peigne.\u003cbr\u003e\n        3. Séchez pour fixer à nouveau — sans rebaigner l'animal.\u003cbr\u003e\u003cbr\u003e\n        💡 Parfait pour maintenir une présentation impeccable entre deux expositions.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n    \u003cdiv style=\"margin-top: 20px; padding: 20px; background: #fff; border: 1px dashed #1a1a1a;\"\u003e\n      \u003cspan style=\"font-size: 11px; font-weight: bold; text-transform: uppercase; display: block; margin-bottom: 10px;\"\u003e🛠️ BIEN UTILISER SON MULTIFIX :\u003c\/span\u003e\n      \u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e\n        1️⃣ Appliquer sur poil \u003cstrong\u003epropre et tamponné\u003c\/strong\u003e (ni trop mouillé, ni sec).\u003cbr\u003e\n        2️⃣ Répartir uniformément sur tout le manteau ou sur les zones ciblées.\u003cbr\u003e\n        3️⃣ Procéder au séchage selon l'effet souhaité (brushing pour le lisse, diffuseur pour le bouclé).\u003cbr\u003e\n        4️⃣ Créer la mise en forme finale au fer ou au diffuseur.\u003cbr\u003e\n        5️⃣ \u003cstrong\u003eRépéter l'application\u003c\/strong\u003e après la mise en forme pour renforcer la tenue.\u003cbr\u003e\n        6️⃣ Pour réactiver : humidifier légèrement et reformer sans rebaigner.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Synergie parfaite avec : \u003cstrong\u003etous les shampoings et masques Special One\u003c\/strong\u003e — idéalement en finition après un soin \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e pour un manteau parfaitement conditionné avant mise en forme.\u003c\/p\u003e\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures frisées \u0026amp; ondulées (Caniches, Bichons, Kerry Blue, Soft Coated Wheaten…) — effet bouclé naturel.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures lisses longues (Yorkshire, Afghans, Setters, Cockers…) — tenue du lissage prolongée.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Races Tibétaines (Shih-Tzu, Lhassa, Terrier du Tibet…) — maintien de la coiffure en exposition.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Terriers (Bedlington, Welsh, Lakeland…) — définition et tenue du modelage.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Toutes races en préparation show ou compétition nécessitant une mise en forme durable.\u003c\/td\u003e\u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Sans Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"200 mL","offer_id":37819392819379,"sku":"WEX-MFIX (418)","price":41.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/multifix-special-one.jpg?v=1687460135"},{"product_id":"trim-grooming-powder","title":"TRIM GROOMING POWDER","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cstrong\u003eTRIM GROOMING POWDER\u003c\/strong\u003e\u003cspan\u003e est la poudre professionnelle spécialement formulée pour blanchir et préparer le manteau à l'\u003c\/span\u003e\u003cstrong\u003eépilation\u003c\/strong\u003e\u003cspan\u003e. \u003c\/span\u003e\u003c\/p\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\" data-mce-fragment=\"1\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\" data-mce-fragment=\"1\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\" data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\" data-mce-fragment=\"1\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Toiletteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Eleveurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Particuliers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Compétiteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Handlers\u003c\/div\u003e\n \n\u003cdiv\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Apporte précision et rapidité lors de l'étape épilation \u003c\/div\u003e\n\u003cdiv\u003e✅ Adhère \u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003euniformément aux poils\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan data-mce-fragment=\"1\"\u003e✅ Action blancheur \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Donne \u003cmeta charset=\"UTF-8\"\u003ela compacité et la dureté de la structure dans le but de faciliter le stripping\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cp\u003e✨Répartir de manière homogène sur le poil à épiler, et sur vos doigts, puis démarrer le stripping.\u003c\/p\u003e\n\u003cdiv\u003e✨Ne pas hésiter à renouveler l'application en cours d'épilation.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✨Notre avis : pour façonner au mieux votre chien, rien ne vaut le rolling, une technique d'épilation s'inscrivant sur le long terme, avec un stripping très fréquent, mais léger.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan\u003e🔥Complète idéalement le protocole Special One permettant une \u003c\/span\u003eépilation sur poil propre. Nous vous recommandons tout de même : \u003cspan data-mce-fragment=\"1\"\u003eBio Energy + Keratine Pro.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cmeta charset=\"UTF-8\"\u003e🔥Sa \u003cstrong data-mce-fragment=\"1\"\u003egranulométrie \u003c\/strong\u003eest jugée\u003cstrong data-mce-fragment=\"1\"\u003e \"\u003cem data-mce-fragment=\"1\"\u003emoyenne\u003c\/em\u003e\"\u003c\/strong\u003e, elle complète donc parfaitement notre autre poudre HAIR STRIP qui, elle, est \"\u003cem data-mce-fragment=\"1\"\u003eultra fine\u003c\/em\u003e\". L'alliance des deux poudres permet donc de répondre à toutes les situations, pour tous les types de poils. \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eChoix par race ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv\u003e🎈 Quelques exemples de races sur lesquelles Trim Grooming Powder fait des heureux:\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Chats\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ Tous les chiens \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ Idéale lors de l'épilation \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Toutes les fourrures frisées (Caniches, Bichons, Kerry Blue, Soft Coaten, Bedlington, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Cockers (Américain, Anglais)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Toutes les races Tibétaines (Shih-Tzu, Lhassa, Terrier du tibet, etc)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Epagneuls Nains Anglais (Cavalier et King Charles)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Plus généralement toutes les fourrures longues et soyeuses (Yorkshire, Afghans, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les terriers (Scottish, Westie, Welsh, etc)\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eLa liste est longue et non exhaustive !\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"75 grammes","offer_id":37819392917683,"sku":"WEX-TGP75 (401)","price":32.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/461f5837-4b29-401a-8da1-2b89ff23b7ab.jpg?v=1637052966"},{"product_id":"model-cream-creme-d-accroche-pour-blanchir","title":"MODEL CREAM, crème d'accroche pour blanchir","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan\u003e✨Crème d'accroche pour blanchir le poil✨\u003c\/span\u003e\u003cspan style=\"font-size: 1.4em;\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\" data-mce-fragment=\"1\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\" data-mce-fragment=\"1\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\" data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\" data-mce-fragment=\"1\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e✅ Toiletteurs ✅ Eleveurs ✅ Particuliers ✅ Compétiteurs ✅ Handlers\u003c\/div\u003e\n  \u003cbr\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e✅ Blanchissement du poil \u003c\/div\u003e\n\u003cdiv\u003e✅ Structurer et façonner les manteaux \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Prépare facilement le poil\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Idéale pour soutenir la texture ou alourdir le pelage selon le cas\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Améliore considérablement la beauté esthétique des pelages\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Prépare le pelage de nombreuses races à la préparation aux expositions\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eUne composition naturelle !\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e🍀Model Cream a été enrichi en kératine pour augmenter la structure du pelage avec un effet immédiat. L'action du produit est particulièrement sensible sur les poils propres à conditionner avant le concours : il prépare parfaitement le poil, le protégeant ainsi d'un travail ultérieur avec des plâtres colorés ou des poudres décolorantes.\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cstrong\u003e\u003cspan style=\"text-decoration: underline;\"\u003eA utiliser sur le poil sec.\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e🔥Appliquer la \u003cstrong\u003eMODEL CREAM\u003c\/strong\u003e de manière très fine et légère; elle doit recouvrir la totalité du poil à blanchir, sans pour autant présenter d'amas ou de sur-épaisseur.\u003c\/div\u003e\n\u003cdiv\u003eHomogénéiser la répartition en massant et\/ou brossant.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e🔥Lorsque la pellicule de crème est satisfaisante, saupoudrer la SOFT GROOMING POWDER, et aider à l'accroche par pression (manuelle).\u003c\/div\u003e\n\u003cdiv\u003eRenouveler le saupoudrage jusqu'à l'obtention de la couleur souhaitée.\u003c\/div\u003e\n\u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003e\u003cbr\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan\u003e✨Finalise parfaitement n'importe quel programme Special One, puisque le blanchiment du poil est réalisable sur tous les types de poils et sur toutes les textures, de la plus rêche à la plus soyeuse.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✨ \u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e L'alliance de la crème Model Cream et de la \u003c\/span\u003epoudre impalpable SOFT GROOMING\u003cspan data-mce-fragment=\"1\"\u003e POWDER vous assure une couverture discrète et un blanchiment performant et durable.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans SLES, Sans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eChoix par race ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv\u003e🎈 Quelques exemples de races sur lesquelles Model Cream fait l'unanimité :\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Chats\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan\u003e✔️ Tous les Chiens\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e✔️ Toutes les fourrures frisées (Caniches, Bichons, Kerry Blue, Soft Coaten, Bedlington, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Bergers (Australiens, Belges, Allemands, etc)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Cockers (Américain, Anglais)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Toutes les races Tibétaines (Shih-Tzu, Lhassa, Terrier du tibet, etc)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Epagneuls Nains Anglais (Cavalier et King Charles)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Plus généralement toutes les fourrures longues et soyeuses (Yorkshire, Afghans, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les chiens d'eaux, retrievers et bouviers (Terre-neuve, Bouviers Bernois, Golden, etc)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les primitifs \/ double-coat (Spitz, Eurasiers, Samoyèdes, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les terriers (Scottish, Westie, Welsh, etc)\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eLa liste est longue et non exhaustive !\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"500 mL","offer_id":37819392950451,"sku":"WEX-MODC (407)","price":59.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-27.png?v=1651837289"},{"product_id":"soft-grooming-powder-poudre-blanche","title":"SOFT GROOMING POWDER, poudre blanche","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cstrong\u003eSOFT GROOMING POWDER\u003c\/strong\u003e\u003cspan\u003e est la poudre \u003c\/span\u003e\u003cstrong\u003eblanche impalpable\u003c\/strong\u003e\u003cspan\u003e que nous vous recommandons pour \u003c\/span\u003e\u003cstrong\u003eblanchir le poil\u003c\/strong\u003e\u003cspan\u003e.\u003c\/span\u003e\u003c\/p\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003ctable data-mce-fragment=\"1\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv data-mce-fragment=\"1\" style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\" style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Toiletteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Eleveurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Particuliers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Compétiteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Handlers\u003c\/div\u003e\n \n\u003cdiv\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Permet de blanchir le poil \u003c\/div\u003e\n\u003cdiv\u003e✅ Texture fine qui apporte de la douceur \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Offre du volume au pelage \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Idéal pour les expositions et concours \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cdiv\u003e\u003cspan\u003e🔥\u003cstrong\u003e\u003cspan style=\"text-decoration: underline;\"\u003eBlanchiment du poil en combinaison avec la Model Cream :\u003c\/span\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eA utiliser sur le poil sec. \u003c\/div\u003e\n\u003cdiv\u003eAppliquer la MODEL CREAM de manière très fine et légère; elle doit recouvrir la totalité du poil à blanchir, sans pour autant présenter d'amas ou de sur-épaisseur.\u003c\/div\u003e\n\u003cdiv\u003eHomogénéiser la répartition en massant et\/ou brossant.\u003c\/div\u003e\n\u003cdiv\u003eLorsque la pellicule de crème est satisfaisante, saupoudrer la SOFT GROOMING POWDER, et aider à l'accroche par pression (manuelle).\u003c\/div\u003e\n\u003cdiv\u003eRenouveler le saupoudrage jusqu'à l'obtention de la couleur souhaitée.\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003cspan\u003e🔥\u003cspan style=\"text-decoration: underline;\"\u003e\u003cstrong\u003eVolumiser le poil :\u003c\/strong\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eA utiliser sur poil sec. Saupoudrer généreusement et faire pénétrer en profondeur la Soft Grooming Powder afin de créer un coussin poudreux. Masser et utiliser une brosse pour optimiser l'homogénéisation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e \u003cspan\u003e✨Finalise parfaitement n'importe quel programme Special One, puisque le blanchiment du poil est réalisable sur tous les types de poils et sur toutes les textures, de la plus rêche à la plus soyeuse.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eChoix par race ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv\u003e🎈 Quelques exemples de races sur lesquelles Soft Grooming Powder fait des heureux:\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Chats\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ Tous les chiens en salon de toilettage pour blanchir le poil\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cmeta charset=\"UTF-8\"\u003e✔️ Idéal lors des concours et expos \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Toutes les fourrures frisées (Caniches, Bichons, Kerry Blue, Soft Coaten, Bedlington, etc.)\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les terriers (Scottish, Westie, Welsh, etc)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Bergers Australiens \/ Bergers blancs \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eLa liste est longue et non exhaustive !\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"250 grammes","offer_id":42694888390876,"sku":"WEX-SGP250 (54)","price":46.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/SoftGroomingPowder.png?v=1675851806"},{"product_id":"hair-strip-ear-powder","title":"Hair Strip, Ear Powder","description":"\u003ch6\u003e\n\u003cspan style=\"font-size: 1.4em;\"\u003e\u003cmeta charset=\"UTF-8\"\u003e\n\u003cstrong\u003ePoudre utilisée lors de l'épilation des oreilles - hygiène auriculaire \u003c\/strong\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/h6\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\" data-mce-fragment=\"1\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\" data-mce-fragment=\"1\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\" data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\" data-mce-fragment=\"1\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Toiletteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Eleveurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Particuliers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Compétiteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Handlers\u003c\/div\u003e\n \n\u003cdiv\u003e\u003cspan\u003e✨ \u003cmeta charset=\"UTF-8\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eHAIR STRIP \u003c\/strong\u003eest une \u003cstrong data-mce-fragment=\"1\"\u003epoudre\u003c\/strong\u003e\u003cstrong data-mce-fragment=\"1\"\u003e d'épilation fine et impalpable\u003c\/strong\u003e créée spécifiquement pour extirper avec simplicité les poils du pavillon auriculaire du chien.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✨Sa formulation spéciale permet également de l'utiliser pour les traitements d'épilation, notamment pour les zones les plus difficiles comme les oreilles, les joues et le dos du chien. Avec une utilisation régulière, l'oreille reste hygiénique et protégée des agressions extérieures.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Facilite l'épilation \u003c\/div\u003e\n\u003cdiv\u003e✅ Permet à l'oreille de rester propre et protégée des agressions extérieures\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Épilation plus agréable, précise et rapide\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ \u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003eIdéal pour les chiens de shows et toutes les races à épiler\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cmeta charset=\"UTF-8\"\u003e✅ Optimiser le volume en créant un coussin poudreux.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 1.4em;\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Création de texture \u003cspan data-mce-fragment=\"1\"\u003esur des chiens dont le poil manque de tenue, dont la douceur est un défaut\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cdiv\u003e\u003cspan\u003e🔥Parsemer le produit dans les zones désirées (presser le flacon pour libérer un nuage de poudre). \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan lang=\"it\" xml:lang=\"it\"\u003e🔥Masser le poil des oreilles avec soin pour en faciliter la prise. \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e🔥Epiler à l'aide du pouce et de l'index ou d'un couteau à épiler.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan\u003e▶︎ Complète idéalement n'importe quel programme Special One.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e▶︎ \u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003eSa \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003egranulométrie \u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003eest jugée\u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003e \"ultra fine\"\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e, elle complète donc parfaitement notre autre poudre TRIM GROOMING POWDER qui, elle, est \"moyenne\". L'alliance des deux poudres permet donc de répondre à toutes les situations, pour tous les types de poils.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eChoix par race ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv\u003e🎈 Quelques exemples de races sur lesquelles Hair Strip\/ Par Powder fait des heureux:\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Chats\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ Tous les chiens \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ Création de texture pour les chiens tels que les : Bichons, Caniches... \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ \u003cmeta charset=\"UTF-8\"\u003eIdéal pour les chiens de shows et toutes les races à épiler\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819393015987,"sku":"WEX-HSTR 050 (125)","price":14.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-41.png?v=1651839973"},{"product_id":"aqua-nettoyant-oculaire","title":"AQUA nettoyant oculaire","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eAQUA nettoyant oculaire est une lotion ophtalmique ultra douce aux extraits de plantes. \u003cbr\u003eEnfin un produit qui vous permet de SUPPRIMER LES TRACES DE LARMES grâce à des actifs naturels.\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003c\/p\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\" data-mce-fragment=\"1\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd bgcolor=\"303030\" data-mce-fragment=\"1\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-fragment=\"1\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan style=\"color: #ffffff;\" data-mce-fragment=\"1\" data-mce-style=\"color: #ffffff;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Toiletteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Eleveurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Particuliers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Compétiteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Handlers\u003c\/div\u003e\n \n\u003cdiv\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ N'abîme pas le poil\u003c\/div\u003e\n\u003cdiv\u003e✅ Efface les traces de larmes\u003c\/div\u003e\n\u003cdiv\u003e✅ Préviens des démangeaisons et des rougeur\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Évite que les sillons soit roses \/ marrons, oxydés, mal odorants, ou disgracieux\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cspan\u003e✅ Retire la chassie du coin de l'oeil.\u003c\/span\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cspan\u003e\u003cmeta charset=\"utf-8\"\u003e \u003cmeta charset=\"utf-8\"\u003erotège et apaise le larmoiement\u003c\/span\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eComposition : focus sur du naturel !\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong\u003e\u003cbr\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cp\u003eL'oeil de votre animal est exposé en permanence à différentes causes d'irritation dans notre environnement : la poussière, les rayons UV, les particules étrangères et bien d'autres choses. Il est par conséquent important d'en prendre soin avec des produits naturels et performants.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cmeta charset=\"utf-8\"\u003eAQUA est une lotion oculaire très concentrée aux extraits de plantes et à l'eau distillée.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong\u003eVous apprécierez sa composition naturelle :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e🍀 E\u003cspan data-mce-fragment=\"1\"\u003extraits de camomille \u003c\/span\u003e(\u003cmeta charset=\"utf-8\"\u003eaction calmante), \u003c\/div\u003e\n\u003cdiv\u003e🍀 Le citron vert (a\u003cspan data-mce-fragment=\"1\"\u003entiseptique, anti-inflammatoire et antioxydant\u003c\/span\u003e), \u003c\/div\u003e\n\u003cdiv\u003e🍀 L\u003cspan data-mce-fragment=\"1\"\u003ea mélisse\u003c\/span\u003e (a\u003cspan data-mce-fragment=\"1\"\u003ectif revitalisant, apaisant et adoucissant\u003c\/span\u003e),\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e🍀 La mauve (\u003cmeta charset=\"utf-8\"\u003eactifs hydratants et anti-oxydants\u003c\/span\u003e)\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003e🍀L\u003c\/span\u003e'aloe vera ( hydrate\u003cspan data-mce-fragment=\"1\"\u003e et\u003c\/span\u003e \u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003eapporte à la peau des vitamines\u003c\/span\u003e)\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e🍀L'eau de mer (\u003cmeta charset=\"utf-8\"\u003eaide la barrière cutanée à se renforcer)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cspan style=\"color: #000000;\" data-mce-style=\"color: #000000;\"\u003e\u003cem\u003e\u003c\/em\u003eChoisissez ce nettoyant si vous avez besoin :\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 de nettoyer en douceur les yeux de n'importe quel chien\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 de \u003cspan data-mce-fragment=\"1\"\u003eretirer les traces de larmes\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 de mettre en place un protocole pour éviter \u003cmeta charset=\"utf-8\"\u003el’encrassement des yeux\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003e\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003e\u003cstrong\u003eMAIS :\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e❌ Ne \u003cmeta charset=\"utf-8\"\u003ejamais utiliser de coton pour nettoyer.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eAppliquer soigneusement AQUA en vaporisant la lotion dans l'oeil et dans la zone de drainage des larmes. \u003cbr\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eNettoyer doucement le surplus et les impuretés avec une gaze.\u003cbr\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eAu début du traitement, répéter cette opération tous les jours et à chaque bain pour une hygiène parfaite.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003ePar la suite, vous trouverez le rythme de routine qui convient à votre animal (généralement une à deux applications hebdomadaires suffisent pour un animal en bonne santé).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cmeta charset=\"utf-8\"\u003eGrâce à sa formulation innovante, elle peut être utilisée à l'intérieur de l'oeil aussi bien qu'aux alentours.\u003cbr\u003eEn quelques semaines seulement votre chien ou votre chat retrouvera des yeux en pleine santé.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003eToute la Gamme Special One est Compatible avec AQUA OTO\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan data-mce-fragment=\"1\"\u003e🤝\u003cmeta charset=\"utf-8\"\u003eLa lotion peut très bien être couplé avec un traitement médical.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cmeta charset=\"utf-8\"\u003eCommencer chaque bain Special One par une pulvérisation d'AQUA nettoyant dans chaque oeil. \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"100 mL","offer_id":37819393048755,"sku":"WAQ-AQ100 (136)","price":19.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/PHOTO-2021-07-12-23-13-599_c22f8065-ac78-43d2-8634-0ee2d8d3ea12.jpg?v=1680465993"},{"product_id":"aqua-oto-hygiene-des-oreilles","title":"AQUA OTO Hygiène des Oreilles","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eAQUA OTO est une lotion spécifique pour \u003c\/span\u003e\u003cspan\u003ele nettoyage de l’oreille, mais également pour la prévention de l’encrassement et des infections.\u003c\/span\u003e\u003c\/p\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003ctable data-mce-fragment=\"1\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv data-mce-fragment=\"1\" style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\" style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Toiletteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Eleveurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Particuliers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Compétiteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Handlers\u003c\/div\u003e\n \n\u003cdiv\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ N'abîme pas le poil\u003c\/div\u003e\n\u003cdiv\u003e✅ Action déodorante \u003c\/div\u003e\n\u003cdiv\u003e✅ Préviens des démangeaisons et des rougeur\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Offre une action calmante\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cspan\u003e✅ Élimination du cérumen et autres impureté de type huileux.\u003c\/span\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eComposition : focus sur du naturel !\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cp\u003eAQUA OTO est une solution auriculaire innovante dont la solubilité permettra la dissolution et l’élimination du cérumen et autres impureté de type huileux.\u003cbr\u003ePour un nettoyage efficace des oreilles de vos chiens et chats, le produit devra être appliqué fréquemment, notamment durant le bain afin que la saleté éliminée n'abîme pas le poil.\u003cbr\u003eEtant hypoallergénique, il a été fabriqué dans le but de respecter tous les types de peaux, tout en contribuant au bon fonctionnement du métabolisme épidermique.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong\u003e\u003cbr\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong\u003eVous apprécierez sa composition naturelle :\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e🍀 A\u003cspan data-mce-fragment=\"1\"\u003ellatoïne et extraits de camomille \u003c\/span\u003e(\u003cmeta charset=\"utf-8\"\u003eaction calmante), \u003c\/div\u003e\n\u003cdiv\u003e🍀 M\u003cspan data-mce-fragment=\"1\"\u003eenthe poivrée\u003c\/span\u003e (\u003cmeta charset=\"utf-8\"\u003eprévention des démangeaisons et des rougeurs), \u003c\/div\u003e\n\u003cdiv\u003e🍀 L' \u003cspan data-mce-fragment=\"1\"\u003eAchillée millefeuille, la mauve et la mélisse\u003c\/span\u003e (\u003cmeta charset=\"utf-8\"\u003eaction déodorante),\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e🍀 Levures (\u003c\/span\u003erenforcent et illuminent le pelage et favorisent l'équilibre microbien naturel de la peau)\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cspan style=\"color: #000000;\" data-mce-style=\"color: #000000;\"\u003e\u003cem\u003e\u003c\/em\u003eChoisissez ce nettoyant si vous avez besoin :\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 de nettoyer en douceur les oreilles n'importe quel chien et chat\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 de \u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003eprévenir des infections\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 de mettre en place un protocole pour éviter \u003cmeta charset=\"utf-8\"\u003el’encrassement des oreilles\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003e\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003e\u003cstrong\u003eMAIS :\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e❌ Ne \u003cmeta charset=\"utf-8\"\u003ejamais utiliser de coton pour nettoyer l'intérieur des oreilles de votre animal.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003eIl est conseillé d’enlever au préalable le duvet présent dans le pavillon (utilisez HAIR STRIP pour cela).\u003cbr\u003eMaintenez la tête de l'animal avec le museau orienté vers le sol, soulevez l’oreille de manière à ce que le conduit soit vertical.\u003cbr\u003eVersez Aqua Oto puis massez durant quelques instants. \u003cbr\u003eAvec une gaze humidifiée de produit ,essuyez délicatement l’intérieur de l’oreille afin de récupérer les impuretés.\u003cbr\u003eLorsque votre chien se secouera, la force centrifuge du mouvement ne fera qu’intensifier l’action du produit et l’expulsion des impuretés.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003eToute la Gamme Special One est Compatible avec AQUA OTO\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan data-mce-fragment=\"1\"\u003e🤝\u003cmeta charset=\"utf-8\"\u003eLa lotion peut très bien être couplé avec un traitement médical.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cmeta charset=\"utf-8\"\u003e \u003cmeta charset=\"utf-8\"\u003eLors de vos toilettages, commencer chaque bain Special One par une application de lotion dans chaque oreille.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"150 mL","offer_id":37819393081523,"sku":"WEX-AQUA OTO (144)","price":28.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-40.png?v=1651839867"},{"product_id":"spray-aluminium-logote-special-one","title":"Spray Vapo logoté SPECIAL ONE à microdiffusion","description":"\u003cp\u003eSpray vide\u003c\/p\u003e\n\u003cdiv\u003eSpray en plastique pour \u003ca href=\"https:\/\/www.rueducommerce.fr\/m\/pl\/malid:51426052\" target=\"_blank\"\u003eusage professionnel\u003c\/a\u003e, contenance 200mL.\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eVaporisation ultra fine.\u003c\/div\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819393147059,"sku":"-172","price":8.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-38.png?v=1651839501"},{"product_id":"shampoing-salon-toilettage","title":"BLUE SKY PRO, diluable 40 fois !","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n\u003cstrong\u003eBLUE SKY PRO\u003c\/strong\u003e est le shampoing professionnel Special One hautement concentré \u003cstrong\u003euniversel\u003c\/strong\u003e. Imaginé pour les salons de toilettage et les éleveurs, il offre le \u003cstrong\u003emeilleur rapport qualité-prix de la gamme\u003c\/strong\u003e : ultra polyvalent, ultra économique, ultra efficace — sans jamais décaper ni agresser.\u003c\/div\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003ePensé en priorité pour les \u003cstrong\u003esalons de toilettage et les éleveurs\u003c\/strong\u003e — mais tout le monde y trouvera un réel intérêt. À noter : pour les compétiteurs préparant un concours, un shampoing spécialiste sera plus performant dans sa spécialité (Bain Pro, Platinum Pro, 4Poodle, Kératine Pro…).\u003c\/p\u003e\n\u003cdiv class=\"aqr-audience\"\u003e\n\u003cdiv class=\"aqr-audience-grid\"\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-card\"\u003e\n\u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eSa formule, intégrant des \u003cstrong\u003eagents hydratants et une crème émolliente structurante\u003c\/strong\u003e, est pensée pour \u003cstrong\u003eaccélérer et optimiser le toilettage\u003c\/strong\u003e tout en offrant un maximum de résultat sur la texture du poil. Dilué à 1\/40, il revient sensiblement \u003cstrong\u003emoins cher que les marques discount\u003c\/strong\u003e — avec tout le soin des formulations haut de gamme Special One.\u003c\/p\u003e\n\u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin: 4px 0 4px;\"\u003e⚠️ \u003cstrong\u003ePour les compétiteurs :\u003c\/strong\u003e Blue Sky Pro est un excellent généraliste, mais un shampoing spécialiste atteindra des performances inégalées dans sa spécialité — \u003cstrong\u003eBain Pro, Platinum Pro, 4Poodle, Kératine Pro, Aquablu Pro\u003c\/strong\u003e selon l’objectif.\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n\u003cdiv class=\"aqr-benefits-grid\"\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eNettoyage universel\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNettoie et assainit profondément même les animaux les plus sales — sans décaper ni agresser.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eÉclat \u0026amp; brillance\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eDonne un coup d’éclat à tous les poils : toucher plus agréable et brillance améliorée.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eProtection kératine\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAugmente les défenses naturelles pour protéger la structure du poil.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eBains fréquents\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAucun risque pour la peau et le poil, même en utilisation intensive en salon.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n\u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 7v10M9.5 9.5h4a1.6 1.6 0 0 1 0 3.2h-3a1.6 1.6 0 0 0 0 3.2h4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-content\"\u003e\n\u003cdiv class=\"aqr-benefit-title\"\u003eUltra économique\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eDilution 1\/40 : un coût par bain inférieur aux marques « discount », avec les standards Special One.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions du Blue Sky Pro\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n\u003cdiv id=\"so-radar-widget\" style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\"\u003e\n\u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e\n\u003cdiv id=\"so-radar-area\" style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\"\u003e\u003csvg id=\"so-radar-svg\" style=\"width: 100%; height: 100%; overflow: visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 3 }, { label: \"Volume\", value: 3 }, { label: \"Démêlant\", value: 2 }, { label: \"Soin peau\", value: 2 }, { label: \"Brillance\", value: 3 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Blue Sky Pro - fiabilisee) --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition du Blue Sky Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation naturelle ciblée sur la pureté, l’hydratation et la protection cutanée — \u003cstrong\u003esans parabens, sans silicone\u003c\/strong\u003e. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\u003c!-- CARTOGRAPHIE --\u003e\n\u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e\n\u003cdiv class=\"aqr-grid\"\u003e\n\u003cdiv class=\"aqr-col-list\"\u003e\n\u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-schema\"\u003e\n\u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n\u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Blue Sky Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n\u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-col-info\"\u003e\n\u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n\u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'yuzu', label:'Yuzu Ceramide B', latin:'Céramide d’agrume', family:'cond',\n          desc:\"Céramide d’agrume qui améliore la souplesse de la couche externe de la peau et favorise le renouvellement cutané : elle renforce la barrière épidermique.\",\n          targets: [\n            { anchor:'epiderme', action:\"Renfort de la barrière\", benefit:\"Renforce la barrière épidermique et améliore la souplesse de la couche externe.\" },\n            { anchor:'cuticule', action:\"Lissage du poil\", benefit:\"Aide à lisser la surface du poil pour un toucher plus doux.\" }\n          ]\n        },\n        {\n          id:'ananas', label:'Extrait d’Ananas', latin:'Ananas comosus', family:'bio',\n          desc:\"Tonifiant, hydratant et exfoliant naturel : il repulpe la peau, revitalise le manteau et favorise l’élimination des cellules mortes.\",\n          targets: [\n            { anchor:'epiderme', action:\"Exfoliation douce\", benefit:\"Favorise l’élimination des cellules mortes et repulpe la peau.\" },\n            { anchor:'tige_poil', action:\"Revitalisation\", benefit:\"Revitalise le manteau et lui redonne de la vitalité.\" }\n          ]\n        },\n        {\n          id:'thym', label:'Huile de Thym', latin:'Thymus vulgaris', family:'botanic',\n          desc:\"Huile aux vertus purifiantes et antioxydantes : elle assainit la peau en profondeur et protège le manteau des agressions extérieures.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Purification\", benefit:\"Assainit la peau en profondeur au niveau du film cutané.\" },\n            { anchor:'tige_poil', action:\"Protection antioxydante\", benefit:\"Protège le manteau des agressions extérieures.\" }\n          ]\n        },\n        {\n          id:'teatree', label:'Tea Tree (Théier)', latin:'Melaleuca alternifolia', family:'botanic',\n          desc:\"Actif antiseptique naturel bien connu en cosmétique professionnelle : il purifie, assainit et tonifie la peau.\",\n          targets: [\n            { anchor:'epiderme', action:\"Action antiseptique\", benefit:\"Purifie et assainit la peau naturellement.\" },\n            { anchor:'glande_sud', action:\"Effet tonifiant\", benefit:\"Tonifie la peau et limite les déséquilibres de surface.\" }\n          ]\n        },\n        {\n          id:'palmier', label:'Huile de Palmier', latin:'Huile végétale nourrissante', family:'aqua',\n          desc:\"Huile très nourrissante et protectrice : elle prévient la déshydratation cutanée et maintient la barrière hydrolipidique.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Maintien de la barrière\", benefit:\"Prévient la déshydratation et maintient la barrière hydrolipidique.\" },\n            { anchor:'epiderme', action:\"Nutrition protectrice\", benefit:\"Nourrit et protège la peau en profondeur.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n\u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n\u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-grid\"\u003e\n\u003c!-- CARTE 1 : Ratio --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e40\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part pour 40 parts d'eau\u003cbr\u003ela plus économique de la gamme\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 2 : Rendement --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 10 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 40 L\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 200 L\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CARTE 3 : Équivalences animées --\u003e\n\u003cdiv class=\"aqr-dilution-cell\"\u003e\n\u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e25\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e25\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e1,5\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillère à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e1\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epression de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/40)\n      var cycles = [\n        { target: '1 L', ml: '25',  g: '25',  spoon: '1,5', pump: '1' },\n        { target: '2 L', ml: '50',  g: '50',  spoon: '3',   pump: '2' },\n        { target: '4 L', ml: '100', g: '100', spoon: '6',   pump: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n\u003cdetails class=\"aqr-proto-acc\" open=\"\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eSalon \u0026amp; élevage — premier shampoing ou bain généraliste\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003eBlue Sky Pro excelle comme shampoing unique ou comme première étape d’un protocole à deux shampoings\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePremier shampoing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eUtilisez Blue Sky Pro dilué à \u003cstrong\u003e1\/40\u003c\/strong\u003e en premier shampoing sur le poil mouillé, puis rincez.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eShampoing spécifique (option)\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eEnchaînez éventuellement avec un shampoing plus ciblé selon le besoin : \u003cstrong\u003eBain Pro ou Aquarosa Pro\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream et\/ou Bombastic\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eShampoing unique possible\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePour les chiens « lambda » en salon, Blue Sky Pro peut être le \u003cstrong\u003eshampoing unique\u003c\/strong\u003e : il couvre tous les besoins courants avec une rentabilité imbattable.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"aqr-proto-acc\"\u003e\n\u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eNettoyage intensif — mâles, chiens gras ou très sales\u003c\/span\u003e \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"aqr-proto-content\"\u003e\n\u003cp class=\"aqr-proto-subtitle\"\u003ePour les cas nécessitant un fort pouvoir nettoyant (mâles avec urines, peaux grasses, saleté extrême)\u003c\/p\u003e\n\u003col class=\"aqr-proto-steps\"\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eComparer selon l’intensité\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eComparez avec \u003cstrong\u003eAquapure Pro\u003c\/strong\u003e selon le problème — les deux sont positionnés sur ce registre, Blue Sky Pro étant légèrement plus doux.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003ePremier shampoing concentré\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eUtilisez Blue Sky Pro en \u003cstrong\u003epremier shampoing pur ou concentré\u003c\/strong\u003e sur les zones les plus sales, puis rincez.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eIntégration au pré-bain\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eIl peut aussi être \u003cstrong\u003eintégré directement dans le Bio Energy Plus\u003c\/strong\u003e pour une action renforcée dès le pré-bain.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"aqr-proto-step\"\u003e\n\u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n\u003cdiv class=\"aqr-proto-step-body\"\u003e\n\u003cdiv class=\"aqr-proto-step-title\"\u003eFinition adaptée\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez le bain avec le shampoing et l’après-shampoing adaptés au type de fourrure.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\u003c!-- Blue Sky Pro au cœur + compléments modulaires Si... → Alors --\u003e\n\u003cdiv class=\"aqr-assoc\"\u003e\n\u003cp class=\"aqr-assoc-intro\"\u003eLe concurrent direct de Blue Sky Pro reste l’\u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e : les deux lavent toutes les races, mais Blue Sky Pro est plus nettoyant quand l’Aquarosa Pro est plus doux et nourrissant. À comparer selon le profil de l’animal. Nos alliances préférées :\u003c\/p\u003e\n\u003cdiv class=\"aqr-assoc-rules\"\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun second shampoing ciblé est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBain Pro · Aquarosa Pro · Aquapure Pro\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final s’impose…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-rule\"\u003e\n\u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition show est recherchée…\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eMix Pink · Absolute 4Poodle · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003c!-- Races en pilules arrondies --\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où le Blue Sky Pro fait la différence :\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱🐶 Tous les chats \u0026amp; tous les chiens \u003cspan\u003e(universel par définition)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✂️ Poil court, double ou mi-long \u0026amp; coupes ciseaux \u003cspan\u003e(en salon)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe longue et non exhaustive — le généraliste universel, du salon à l’élevage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"10 Litres","offer_id":37819393179827,"sku":"WEX-BLSKY10L (89)","price":168.1,"currency_code":"EUR","in_stock":true},{"title":"250 mL","offer_id":37819393212595,"sku":"WEX-BLSKY250 (86)","price":23.95,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819393245363,"sku":"WEX-BLSKY1L (87)","price":48.3,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/blueSkyPro.png?v=1680257162"},{"product_id":"parfum-de-luxe-by-special-one","title":"Parfum de Luxe, by Special One","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400\u0026amp;family=Outfit:wght@200;300;400;500;600\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }\n\n  :root {\n    --black: #111;\n    --dark: #222;\n    --charcoal: #333;\n    --gray-dark: #555;\n    --gray: #777;\n    --gray-mid: #999;\n    --gray-light: #bbb;\n    --silver: #d0d0d0;\n    --pearl: #e5e5e5;\n    --smoke: #f0f0f0;\n    --off-white: #f7f7f7;\n    --white: #fff;\n    --font-display: 'Cormorant Garamond', Georgia, serif;\n    --font-body: 'Outfit', Helvetica, sans-serif;\n  }\n\n  html { scroll-behavior: smooth; font-size: 16px; }\n\n  body {\n    font-family: var(--font-body);\n    background: var(--white);\n    color: var(--black);\n    line-height: 1.6;\n    overflow-x: hidden;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  \/* ==================== HERO ==================== *\/\n  .hero {\n    position: relative;\n    min-height: 100vh;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    text-align: center;\n    padding: 60px 24px;\n    background: var(--white);\n    overflow: hidden;\n  }\n\n  .hero::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: url(\"data:image\/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.015'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'\/%3E%3C\/g%3E%3C\/g%3E%3C\/svg%3E\");\n  }\n\n  .hero-badge {\n    display: inline-block;\n    font-family: var(--font-body);\n    font-weight: 500;\n    font-size: 0.7rem;\n    letter-spacing: 0.35em;\n    text-transform: uppercase;\n    color: var(--gray);\n    border: 1px solid var(--pearl);\n    padding: 8px 24px;\n    margin-bottom: 40px;\n    position: relative;\n    z-index: 1;\n    animation: fadeDown 1s ease both;\n  }\n\n  .hero-title {\n    font-family: var(--font-display);\n    font-weight: 300;\n    font-size: clamp(2.8rem, 8vw, 7rem);\n    line-height: 1.05;\n    letter-spacing: -0.02em;\n    color: var(--black);\n    position: relative;\n    z-index: 1;\n    animation: fadeUp 1s 0.2s ease both;\n  }\n\n  .hero-title em {\n    font-style: italic;\n    font-weight: 300;\n    color: var(--gray);\n  }\n\n  .hero-subtitle {\n    font-family: var(--font-body);\n    font-weight: 300;\n    font-size: clamp(0.95rem, 2vw, 1.15rem);\n    color: var(--gray);\n    max-width: 560px;\n    margin-top: 28px;\n    line-height: 1.7;\n    position: relative;\n    z-index: 1;\n    animation: fadeUp 1s 0.4s ease both;\n  }\n\n  .hero-line {\n    width: 1px;\n    height: 80px;\n    background: linear-gradient(to bottom, transparent, var(--pearl), transparent);\n    margin-top: 50px;\n    position: relative;\n    z-index: 1;\n    animation: fadeUp 1s 0.6s ease both;\n  }\n\n  .hero-scroll {\n    font-family: var(--font-body);\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--gray-light);\n    margin-top: 16px;\n    position: relative;\n    z-index: 1;\n    animation: fadeUp 1s 0.7s ease both;\n  }\n\n  \/* ==================== PYRAMIDE ==================== *\/\n  .pyramide-section {\n    padding: 100px 24px;\n    background: var(--off-white);\n    position: relative;\n  }\n\n  .pyramide-section::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 1px;\n    background: linear-gradient(to right, transparent, var(--pearl), transparent);\n  }\n\n  .section-header {\n    text-align: center;\n    max-width: 700px;\n    margin: 0 auto 70px;\n  }\n\n  .section-label {\n    font-family: var(--font-body);\n    font-weight: 500;\n    font-size: 0.65rem;\n    letter-spacing: 0.35em;\n    text-transform: uppercase;\n    color: var(--gray-mid);\n    margin-bottom: 20px;\n  }\n\n  .section-title {\n    font-family: var(--font-display);\n    font-weight: 300;\n    font-size: clamp(2rem, 4.5vw, 3.2rem);\n    color: var(--black);\n    line-height: 1.15;\n  }\n\n  .pyramide-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 1px;\n    max-width: 1000px;\n    margin: 0 auto;\n    background: var(--pearl);\n  }\n\n  .pyramide-card {\n    background: var(--white);\n    padding: 48px 32px;\n    text-align: center;\n    transition: background 0.4s ease;\n  }\n\n  .pyramide-card:hover { background: var(--smoke); }\n\n  .pyramide-icon { font-size: 1.6rem; margin-bottom: 20px; color: var(--silver); }\n\n  .pyramide-card h3 {\n    font-family: var(--font-display);\n    font-weight: 500;\n    font-size: 1.35rem;\n    color: var(--black);\n    margin-bottom: 6px;\n  }\n\n  .pyramide-card .subtitle {\n    font-family: var(--font-body);\n    font-size: 0.7rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--gray-mid);\n    margin-bottom: 18px;\n  }\n\n  .pyramide-card p {\n    font-family: var(--font-body);\n    font-weight: 300;\n    font-size: 0.88rem;\n    color: var(--gray);\n    line-height: 1.7;\n  }\n\n  @media (max-width: 768px) {\n    .pyramide-grid { grid-template-columns: 1fr; }\n  }\n\n  \/* ==================== FRAGRANCES ==================== *\/\n  .fragrances-section {\n    padding: 100px 24px;\n    background: var(--white);\n    position: relative;\n  }\n\n  .fragrances-section::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 1px;\n    background: linear-gradient(to right, transparent, var(--pearl), transparent);\n  }\n\n  .featured-fragrances {\n    max-width: 1100px;\n    margin: 0 auto 100px;\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n  }\n\n  .featured-card {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    overflow: hidden;\n    transition: transform 0.5s ease;\n  }\n\n  .featured-card:hover { transform: translateY(-2px); }\n\n  .featured-card:nth-child(even) .featured-visual { order: 2; }\n  .featured-card:nth-child(even) .featured-content { order: 1; }\n\n  .featured-visual {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 60px 40px;\n    background: var(--black);\n    position: relative;\n    min-height: 350px;\n  }\n\n  .featured-visual .fragrance-initial {\n    font-family: var(--font-display);\n    font-weight: 300;\n    font-size: clamp(5rem, 10vw, 9rem);\n    color: var(--white);\n    opacity: 0.06;\n    position: absolute;\n    user-select: none;\n  }\n\n  .featured-visual .fragrance-name-display {\n    font-family: var(--font-display);\n    font-weight: 300;\n    font-size: clamp(2.2rem, 4vw, 3.5rem);\n    color: var(--white);\n    position: relative;\n    z-index: 1;\n    text-align: center;\n  }\n\n  .featured-visual .fragrance-name-display em {\n    display: block;\n    font-style: italic;\n    font-size: 0.45em;\n    color: var(--gray-mid);\n    margin-top: 8px;\n    font-weight: 300;\n  }\n\n  .featured-content {\n    padding: 50px 44px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    background: var(--white);\n  }\n\n  .featured-tag {\n    font-family: var(--font-body);\n    font-size: 0.6rem;\n    font-weight: 500;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--gray-mid);\n    margin-bottom: 16px;\n  }\n\n  .featured-content h3 {\n    font-family: var(--font-display);\n    font-weight: 500;\n    font-size: clamp(1.5rem, 3vw, 2rem);\n    color: var(--black);\n    margin-bottom: 16px;\n    line-height: 1.2;\n  }\n\n  .featured-content .desc {\n    font-family: var(--font-body);\n    font-weight: 300;\n    font-size: 0.9rem;\n    color: var(--gray);\n    line-height: 1.75;\n    margin-bottom: 28px;\n  }\n\n  .notes-row { display: flex; gap: 24px; flex-wrap: wrap; }\n  .note-block { flex: 1; min-width: 140px; }\n\n  .note-block .note-label {\n    font-family: var(--font-body);\n    font-size: 0.6rem;\n    font-weight: 500;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--gray-mid);\n    margin-bottom: 6px;\n  }\n\n  .note-block .note-value {\n    font-family: var(--font-display);\n    font-weight: 400;\n    font-size: 0.92rem;\n    color: var(--charcoal);\n    line-height: 1.5;\n    font-style: italic;\n  }\n\n  @media (max-width: 768px) {\n    .featured-card { grid-template-columns: 1fr; }\n    .featured-card:nth-child(even) .featured-visual { order: 1; }\n    .featured-card:nth-child(even) .featured-content { order: 2; }\n    .featured-content { padding: 36px 28px; }\n    .featured-visual { min-height: 240px; padding: 40px 28px; }\n    .notes-row { gap: 16px; }\n    .note-block { min-width: 100%; }\n  }\n\n  \/* — Classics — *\/\n  .classics-header { text-align: center; max-width: 700px; margin: 0 auto 60px; }\n\n  .classics-divider {\n    width: 60px;\n    height: 1px;\n    background: var(--pearl);\n    margin: 0 auto 60px;\n  }\n\n  .classics-grid {\n    max-width: 1100px;\n    margin: 0 auto;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n    gap: 1px;\n    background: var(--pearl);\n  }\n\n  .classic-card {\n    background: var(--white);\n    padding: 36px 32px;\n    border-left: 2px solid var(--pearl);\n    transition: border-color 0.3s ease, background 0.3s ease;\n  }\n\n  .classic-card:hover {\n    border-color: var(--black);\n    background: var(--off-white);\n  }\n\n  .classic-card .card-name {\n    font-family: var(--font-display);\n    font-weight: 600;\n    font-size: 1.4rem;\n    color: var(--black);\n    margin-bottom: 4px;\n  }\n\n  .classic-card .card-theme {\n    font-family: var(--font-body);\n    font-size: 0.7rem;\n    font-weight: 400;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--gray-mid);\n    margin-bottom: 22px;\n  }\n\n  .classic-card .card-notes { display: flex; flex-direction: column; gap: 14px; }\n\n  .classic-card .card-note-row { display: flex; align-items: baseline; gap: 12px; }\n\n  .classic-card .card-note-label {\n    font-family: var(--font-body);\n    font-size: 0.58rem;\n    font-weight: 500;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--gray-mid);\n    min-width: 52px;\n    flex-shrink: 0;\n  }\n\n  .classic-card .card-note-val {\n    font-family: var(--font-display);\n    font-weight: 400;\n    font-size: 0.88rem;\n    color: var(--gray-dark);\n    font-style: italic;\n    line-height: 1.45;\n  }\n\n  @media (max-width: 500px) {\n    .classics-grid { grid-template-columns: 1fr; }\n    .classic-card { padding: 28px 24px; }\n  }\n\n  \/* ==================== USAGE ==================== *\/\n  .usage-section {\n    padding: 80px 24px;\n    background: var(--off-white);\n    position: relative;\n  }\n\n  .usage-section::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 1px;\n    background: linear-gradient(to right, transparent, var(--pearl), transparent);\n  }\n\n  .usage-inner { max-width: 640px; margin: 0 auto; text-align: center; }\n\n  .usage-inner h3 {\n    font-family: var(--font-display);\n    font-weight: 400;\n    font-size: 1.6rem;\n    color: var(--black);\n    margin-bottom: 24px;\n  }\n\n  .usage-tips {\n    display: flex;\n    gap: 40px;\n    justify-content: center;\n    margin-top: 40px;\n    flex-wrap: wrap;\n  }\n\n  .usage-tip { text-align: center; max-width: 200px; }\n  .usage-tip .tip-icon { font-size: 1.4rem; margin-bottom: 12px; color: var(--silver); }\n\n  .usage-tip .tip-text {\n    font-family: var(--font-body);\n    font-weight: 300;\n    font-size: 0.82rem;\n    color: var(--gray);\n    line-height: 1.6;\n  }\n\n  .usage-tip .tip-text strong { color: var(--black); }\n\n  \/* ==================== FOOTER ==================== *\/\n  .footer {\n    padding: 50px 24px;\n    text-align: center;\n    background: var(--black);\n  }\n\n  .footer-brand {\n    font-family: var(--font-display);\n    font-weight: 300;\n    font-size: 1.1rem;\n    color: var(--gray-mid);\n    letter-spacing: 0.05em;\n  }\n\n  .footer-brand strong { color: var(--white); font-weight: 500; }\n\n  .footer-sub {\n    font-family: var(--font-body);\n    font-size: 0.7rem;\n    color: var(--gray-dark);\n    margin-top: 10px;\n    letter-spacing: 0.1em;\n  }\n\n  \/* ==================== ANIMATIONS ==================== *\/\n  @keyframes fadeUp {\n    from { opacity: 0; transform: translateY(24px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\n  @keyframes fadeDown {\n    from { opacity: 0; transform: translateY(-16px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\n  .reveal {\n    opacity: 0;\n    transform: translateY(30px);\n    transition: opacity 0.7s ease, transform 0.7s ease;\n  }\n\n  .reveal.visible { opacity: 1; transform: translateY(0); }\n\u003c\/style\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"hero\"\u003e\n\u003ch2 class=\"hero-badge\"\u003eSpecial One Italia — Perfume Line\u003c\/h2\u003e\n\u003ch2 class=\"hero-title\"\u003eParfums \u003cem\u003ed'Exception\u003c\/em\u003e\u003cbr\u003epour Animaux\u003c\/h2\u003e\n\u003cp class=\"hero-subtitle\"\u003eUne collection de fragrances haut de gamme, créées à Grasse, pour offrir à vos compagnons une signature olfactive unique. L'argument luxe qui finalise en beauté votre travail de toilettage.\u003c\/p\u003e\n\u003cdiv class=\"hero-line\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"hero-scroll\"\u003eDécouvrir la collection ↓\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- PYRAMIDE OLFACTIVE --\u003e\n\u003csection class=\"pyramide-section\"\u003e\n\u003cdiv class=\"section-header reveal\"\u003e\n\u003cdiv class=\"section-label\"\u003eComprendre les parfums\u003c\/div\u003e\n\u003ch2 class=\"section-title\"\u003eLa Pyramide Olfactive\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pyramide-grid\"\u003e\n\u003cdiv class=\"pyramide-card reveal\"\u003e\n\u003cdiv class=\"pyramide-icon\"\u003e△\u003c\/div\u003e\n\u003ch3\u003eNote de Tête\u003c\/h3\u003e\n\u003cdiv class=\"subtitle\"\u003eL'envolée\u003c\/div\u003e\n\u003cp\u003eÉphémère, volatile et légère, c'est la première impression. Fraîche et vive, elle saisit immédiatement les sens.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pyramide-card reveal\"\u003e\n\u003cdiv class=\"pyramide-icon\"\u003e◇\u003c\/div\u003e\n\u003ch3\u003eNote de Cœur\u003c\/h3\u003e\n\u003cdiv class=\"subtitle\"\u003eLe caractère\u003c\/div\u003e\n\u003cp\u003eMoins intense mais plus tenace, elle prend vie quand la note de tête s'atténue. C'est l'âme du parfum.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pyramide-card reveal\"\u003e\n\u003cdiv class=\"pyramide-icon\"\u003e▽\u003c\/div\u003e\n\u003ch3\u003eNote de Fond\u003c\/h3\u003e\n\u003cdiv class=\"subtitle\"\u003eLe sillage\u003c\/div\u003e\n\u003cp\u003ePeu intense mais très persistante, elle crée l'attachement et la fidélité. C'est la mémoire du parfum.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FRAGRANCES --\u003e\n\u003csection id=\"collection\" class=\"fragrances-section\"\u003e\n\u003cdiv class=\"section-header reveal\"\u003e\n\u003cdiv class=\"section-label\"\u003eNouvelles créations\u003c\/div\u003e\n\u003ch2 class=\"section-title\"\u003eLes Fragrances Signature\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-fragrances\"\u003e\n\u003c!-- CIURI CIURI --\u003e\n\u003cdiv class=\"featured-card reveal\"\u003e\n\u003cdiv class=\"featured-visual\"\u003e\n\u003cspan class=\"fragrance-initial\"\u003eCC\u003c\/span\u003e\n\u003cdiv class=\"fragrance-name-display\"\u003eCiuri Ciuri\u003cem\u003eFleuri \u0026amp; Nostalgique\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNouvelle fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003eUn voyage émotionnel dans un jardin fleuri\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eInspiré de la célèbre chanson italienne, Ciuri Ciuri transporte dans un jardin en fleurs toute l'année. Ce parfum frais et floral éveille la nostalgie de moments passés, portant une bouffée de fraîcheur et de joie. Chaque vaporisation est un câlin parfumé qui transforme votre compagnon en messager de pures émotions.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTête\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eViolette, Fleurs d'Oranger\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eCœur\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eRose, Géranium\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eFond\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eJasmin, Musc Blanc\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- L'È BELL --\u003e\n\u003cdiv class=\"featured-card reveal\"\u003e\n\u003cdiv class=\"featured-visual\"\u003e\n\u003cspan class=\"fragrance-initial\"\u003eLB\u003c\/span\u003e\n\u003cdiv class=\"fragrance-name-display\"\u003eL'è Bell\u003cem\u003eFruité \u0026amp; Élégant\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNouvelle fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003eDouceur fruitée \u0026amp; sophistication boisée\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eL'è Bell est un parfum doux et fruité, enrichi de notes florales et boisées. Idéal pour les petits chiens au caractère tendre et affectueux, il confère au pelage un toucher d'élégance et de raffinement, parfait pour les occasions spéciales et les sorties mondaines.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTête\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eOrange, Mandarine, Bergamote, Citron\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eCœur\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eJasmin, Muguet, Ylang-Ylang, Lavande, Pêche, Violette\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eFond\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eCèdre, Santal, Musc Blanc\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- KIKINCI --\u003e\n\u003cdiv class=\"featured-card reveal\"\u003e\n\u003cdiv class=\"featured-visual\"\u003e\n\u003cspan class=\"fragrance-initial\"\u003eKi\u003c\/span\u003e\n\u003cdiv class=\"fragrance-name-display\"\u003eKikinci\u003cem\u003eFrais \u0026amp; Épicé\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNouvelle fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003eÉnergie positive \u0026amp; esprit d'aventure\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eKikinci est une explosion de fraîcheur et de vitalité, idéale pour les chiens exubérants et dynamiques. Sa fragrance fraîche et épicée évoque les voyages, les jeux en plein air et le mouvement. Une seule vaporisation et il accompagnera votre compagnon dans chaque aventure avec une bouffée d'énergie positive.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTête\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eCitron, Orange, Bergamote, Cassis\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eCœur\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eBois de Santal, Fleurs de Pêcher, Zagara, Muguet\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eFond\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eMusc Blanc, Vanille\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BABY PAW --\u003e\n\u003cdiv class=\"featured-card reveal\"\u003e\n\u003cdiv class=\"featured-visual\"\u003e\n\u003cspan class=\"fragrance-initial\"\u003eBP\u003c\/span\u003e\n\u003cdiv class=\"fragrance-name-display\"\u003eBaby Paw\u003cem\u003eDoux \u0026amp; Gourmand\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNouvelle fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003eLa tendresse d'un souvenir d'enfance\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eBaby Paw, c'est le lien entre le parfum et l'émotion. Comme l'odeur des biscuits tout juste sortis du four qui vous faisait courir à la cuisine, cette fragrance douce et délicieuse ramène à l'insouciance de l'enfance. Un tendre chiot devient un petit compagnon de vie sur lequel on déverse tout son amour… et en un instant, on redevient enfant.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTête\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eCitron, Orange, Fraise, Framboise\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eCœur\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eFleurs Blanches\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eFond\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eVanille\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CLASSIQUES --\u003e\n\u003cdiv class=\"classics-header reveal\"\u003e\n\u003cdiv class=\"section-label\"\u003eCollection classique — Aqua Line\u003c\/div\u003e\n\u003ch2 class=\"section-title\"\u003eNos Fragrances Iconiques\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"classics-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"classics-grid\"\u003e\n\u003cdiv class=\"classic-card reveal\"\u003e\n\u003cdiv class=\"card-name\"\u003eBrave Water\u003c\/div\u003e\n\u003cdiv class=\"card-theme\"\u003eÉpicé \u0026amp; Ambré\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTête\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eIris de Florence, Cèdre du Texas\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eCœur\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003ePoivre d'Inde, Eucalyptus de Chine, Muscade d'Indonésie\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eFond\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eSantal d'Australie, notes boisées \u0026amp; ambrées\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"classic-card reveal\"\u003e\n\u003cdiv class=\"card-name\"\u003eEnergy Water\u003c\/div\u003e\n\u003cdiv class=\"card-theme\"\u003eFrais \u0026amp; Cuir\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTête\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eViolette de France, Santal, Cèdre du Texas\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eCœur\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eCitron de Sicile, Lavande de France\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eFond\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eAmbre, Cuir, Musc\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"classic-card reveal\"\u003e\n\u003cdiv class=\"card-name\"\u003eSpring Water\u003c\/div\u003e\n\u003cdiv class=\"card-theme\"\u003eFleuri \u0026amp; Boisé\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTête\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eRose de Turquie, Jacinthe d'Inde\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eCœur\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eNoix de Coco, Ylang-Ylang des Comores\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eFond\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eVanille de Madagascar, Santal d'Inde\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"classic-card reveal\"\u003e\n\u003cdiv class=\"card-name\"\u003eMoon Water\u003c\/div\u003e\n\u003cdiv class=\"card-theme\"\u003eÉlancé \u0026amp; Élégant\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTête\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eRose de Turquie, Géranium d'Égypte, Jasmin\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eCœur\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003ePastèque, Ylang-Ylang, Magnolia\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eFond\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eMusc Blanc, Héliotrope\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"classic-card reveal\"\u003e\n\u003cdiv class=\"card-name\"\u003eRock Water\u003c\/div\u003e\n\u003cdiv class=\"card-theme\"\u003eDécontracté \u0026amp; Léger\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTête\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eTubéreuse, Accord solaire\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eCœur\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eJasmin, Fleur d'Oranger\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eFond\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eAmbre, Bois d'Orient\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CONSEILS D'UTILISATION --\u003e\n\u003csection class=\"usage-section\"\u003e\n\u003cdiv class=\"usage-inner reveal\"\u003e\n\u003cdiv style=\"margin-bottom: 20px;\" class=\"section-label\"\u003eMode d'emploi\u003c\/div\u003e\n\u003ch3\u003eConseils d'Utilisation\u003c\/h3\u003e\n\u003cdiv class=\"usage-tips\"\u003e\n\u003cdiv class=\"usage-tip\"\u003e\n\u003cdiv class=\"tip-icon\"\u003e◎\u003c\/div\u003e\n\u003cdiv class=\"tip-text\"\u003ePulvériser à \u003cstrong\u003e20-40 cm\u003c\/strong\u003e de l'animal, sur le poil de la queue et l'arrière du dos\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"usage-tip\"\u003e\n\u003cdiv class=\"tip-icon\"\u003e✦\u003c\/div\u003e\n\u003cdiv class=\"tip-text\"\u003eÉviter de vaporiser sur la face et les muqueuses. \u003cstrong\u003eDeux pulvérisations\u003c\/strong\u003e suffisent.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"usage-tip\"\u003e\n\u003cdiv class=\"tip-icon\"\u003e♦\u003c\/div\u003e\n\u003cdiv class=\"tip-text\"\u003eContient de l'alcool, produit inflammable. Tenir hors de portée des enfants.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FOOTER --\u003e\u003cfooter class=\"footer\"\u003e\n\u003cdiv class=\"footer-brand\"\u003e\n\u003cstrong\u003eSpecial One\u003c\/strong\u003e — Perfume Line\u003c\/div\u003e\n\u003cdiv class=\"footer-sub\"\u003eCréé à Grasse · Distribué par PetDesign.fr\u003c\/div\u003e\n\u003c\/footer\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"Spring Water","offer_id":37819393310899,"sku":"-107","price":50.2,"currency_code":"EUR","in_stock":true},{"title":"Brave Water","offer_id":37819393343667,"sku":"-126","price":50.2,"currency_code":"EUR","in_stock":true},{"title":"Energy Water","offer_id":37819393376435,"sku":"-104","price":50.2,"currency_code":"EUR","in_stock":true},{"title":"Moon Water","offer_id":37819393409203,"sku":"-101","price":50.2,"currency_code":"EUR","in_stock":true},{"title":"Rock Water","offer_id":37819393441971,"sku":"-102","price":50.2,"currency_code":"EUR","in_stock":true},{"title":"L’è Bell","offer_id":37819393474739,"sku":"-105","price":50.2,"currency_code":"EUR","in_stock":true},{"title":"Kikinsci","offer_id":37819393507507,"sku":"-108","price":50.2,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/179.jpg?v=1614081492"},{"product_id":"veste-toilettage-special-one","title":"Veste de Toilettage Special One \"Marina\"","description":"\u003caddress\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/address\u003e\u003cbr\u003e\n\u003cp\u003eVêtements professionnels, fabriqués en Italie, pour les opérateurs du secteur des toilettages et des animaleries.\u003c\/p\u003e\n\u003cp\u003eLes collections sont faites de matériaux de haute qualité, respirants, irrésistibles, semi-transparents, résistants aux taches.\u003c\/p\u003e\n\u003cp\u003eLe tissu est certifié, sans phtalates.\u003c\/p\u003e\n\u003cp\u003eLavables en machine à 30° dans le lave-linge, ils n'ont pas besoin d'être essorés, le tissu technique sèche rapidement et ne nécessite pas de repassage après le nettoyage.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eChoisissez des vêtements de travail sûrs, à la mode et confortables ... pour vous Special One only !\u003c\/p\u003e","brand":"autre","offers":[{"title":"Taille XS","offer_id":37819393966259,"sku":"(440-Taille XS)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Taille S","offer_id":37819393835187,"sku":"(440-Taille S)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Taille M","offer_id":37819393867955,"sku":"(440-Taille M)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Taille L","offer_id":37819393900723,"sku":"(440-Taille L)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Taille XL","offer_id":37819393933491,"sku":"(440-Taille XL)","price":117.6,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/Photoroom_20251223_172837-600x600.png?v=1772708971"},{"product_id":"pompe-pour-bidon-5-10-l","title":"Pompe pour Bidon Special One 5 \u0026 10 L","description":"\u003cp\u003ePompe pour gallon : s'adapte sur les conditionnements de 5 ou 10L. Idéal pour maîtriser sa consommation et fiabiliser les dilutions.\u003cbr\u003e\u003cbr\u003eFiabilisez le dosage de vos cosmétiques Special One en utilisant cette pompe pour bidons de 5 et 10 L.\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003eVous maîtrisez vos consommations et dilutions, et les consignes que vous donnez à vos employés seront d'une simplicité déconcertante :\u003c\/div\u003e\n\u003cdiv\u003e1 pression complète = 30mL de produit.\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003ePour préparer 1 litre de produit fini , appuyez deux fois sur cette pompe, et le tour est joué, il ne reste plus qu'à compléter avec de l'eau.\u003c\/div\u003e\n\u003cdiv\u003e(dilution à 1\/20 pour le Bio Energy ou les shampoings)\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"Bidons 5\u002610L","offer_id":37819397669043,"sku":"WAC-PO001 (92)","price":8.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Bonformatsiteinternet3-10.png?v=1632834226"},{"product_id":"special-rinse-shampoing-sans-rincage","title":"Special Rinse, shampoing \"sans rinçage\"","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan lang=\"it\" xml:lang=\"it\"\u003eShampoing\u003c\/span\u003e\u003cspan\u003e SANS RINCAGE, idéal pour éliminer les traces et autres salissures organiques. Les odeurs disparaissent aussi instantanément.\u003c\/span\u003e\u003c\/p\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003ctable data-mce-fragment=\"1\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv data-mce-fragment=\"1\" style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\" style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eTout le monde y trouvera un réel intérêt !\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Toiletteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Eleveurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Particuliers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Compétiteurs \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Handlers\u003c\/div\u003e\n \n\u003cdiv\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eQuels bénéfices puis-je espérer ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Elimine les tâches \u003c\/div\u003e\n\u003cdiv\u003e✅ Elimine les odeurs organiques désagréables \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Sa couleur bleue sert à raviver les pelages blancs \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eComposition : focus sur du naturel !\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003eLa formulation de Special Rinse a été enrichie d'une composition nettoyante et hydratante douce pour compléter le pelage avec des éléments fonctionnels importants. Son action accentue la beauté esthétique et la brillance du pelage. Il contient également un important pigment bleu qui empêche le jaunissement des pelages blancs. Agréablement parfumé. \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eExemples et suggestions d'utilisations\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\u003cspan style=\"color: #ff2a00;\"\u003e\u003cspan style=\"color: #ff2a00;\"\u003e\u003cstrong\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e✨S'applique sur poil souillé, sec ou mouillé.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e✨Laisser agir quelques instants, sécher ou laisser à l'air libre.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e✨ On le met dans le deuxième shampoing, pur sur la zone que nous souhaitons blanchir en particulier. \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"text-decoration: underline;\"\u003e\u003cbr\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eAssociations recommandées\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e \u003cspan\u003ePeut également se mixer avec tous les shampoins de la gamme Special One pour raviver les couleurs blanches.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003eNous vous conseillons de l'utiliser seul en dehors du bain pour éviter les salissures, éviter les odeurs organiques \u003c\/span\u003e\u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ctable cellspacing=\"1\" cellpadding=\"1\" border=\"0\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eNos engagements\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eCosmétiques biodégradables à +90%\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSans Paraben, Sans silicone\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNon testé sur les animaux.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eEmballage recyclable PEHD02\u003c\/p\u003e\n\u003ctable border=\"0\" cellpadding=\"1\" cellspacing=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd bgcolor=\"303030\" pixels=\"\"\u003e\n\u003cdiv style=\"padding-left: 30px;\" data-mce-style=\"padding-left: 30px;\"\u003e\u003cstrong\u003e\u003cspan style=\"color: #ffffff;\" data-mce-style=\"color: #ffffff;\"\u003eChoix par race ?\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv\u003e🎈 Quelques exemples de races sur lesquelles Special Rinse fait des heureux:\u003cbr data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ Tous les Chats\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e \u003cspan\u003e✔️ Tous les Chiens \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003e✔️ Idéal à avoir dans sa mallette de toilettage pour les concours ou exposition (peut vous sauver à la \u003c\/span\u003edernière minute en cas d'accident) \u003c\/div\u003e\n\u003cdiv\u003e✔️ Parfait pour les Chow Chow \u003c\/div\u003e\n\u003cdiv\u003e✔️ Parfait pour un Terre-neuve \u003c\/div\u003e\n\u003cdiv\u003e✔️ Idéal pour votre Saint Bernard \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":37819397701811,"sku":"-143","price":44.0,"currency_code":"EUR","in_stock":true},{"title":"250 mL","offer_id":37819397734579,"sku":"WAQ-SPR250 (138)","price":19.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-25.png?v=1651837125"},{"product_id":"collier-anti-casse-de-poil-tissu-rembourre-protecteur","title":"Collier Anti Casse de Poil - Tissu rembourré protecteur","description":"\u003cp\u003eLes propriétaires de chiens à poils longs connaissent malheureusement trop bien le problème : tous les colliers, qu'ils soient en nylon, cuir ou métal, cassent le poil. Enfin la solution miracle pour garder intact le pelage de l'encolure de votre animal !\u003c\/p\u003e\u003cbr\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eCollier Proection du Poil, Anti Casse\u003c\/em\u003e\u003c\/span\u003e\u003c\/h2\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003eABBA by Pudelshop\u003c\/span\u003e\u003c\/h2\u003e\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003eLe collier qui sauve les poils de votre chien, sans jamais les abîmer\u003c\/span\u003e\u003c\/h3\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ctable width=\"316\" style=\"height:45px;margin-left:auto;margin-right:auto;\"\u003e\u003ctbody\u003e\u003ctr bgcolor=\"#923a6c\"\u003e\u003ctd\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003eDescription\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003c\/td\u003e\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp style=\"text-align:justify;\"\u003e\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e\u003cbr\u003eGrâce à ce collier, les poils de votre chien sont parfaitement protégés. \u003c\/strong\u003eParce que la surface lisse et douce du col permet un pour un mouvement optimal et fluide, sans frottement, il empêche ainsi la pression et la casse du pelage du cou. Les colliers sont facile à enfiler et retirer, grâce au système de chaînette. \u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e\u003cbr\u003eDe nombreux vétérinaires recommandent ces colliers en post-opératoire, ou lorsque le chien a des douleurs chroniques au niveau du coup, parfois seulement dûes au feutrage du poil.\u003c\/strong\u003e Le principe de fonctionnement est similaire à celui d'un étrangleur avec la butée, mais sans jamais être agressif ou blessant pour le chien, car la ouate du matelas assure un tampon protecteur pour vitre animal. \u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e\u003cbr\u003eDe fabrication artisanale, et brevetée pour leur conception et design, ces colliers de haute qualité sont en velours matelassé et renforcé par des fibres de ouate. \u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003ePlusieurs coloris et tailles possibles.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp style=\"text-align:justify;\"\u003e\u003c\/p\u003e\u003cdiv\u003e\u003c\/div\u003e\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\n\u003ctd\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/t\/3\/assets\/description_image_COUP_DE_COEUR.png?v=1608720534\" alt=\"\" width=\"90%\" height=\"90%\"\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003ch2\u003e\u003cstrong\u003e\u003cspan\u003eCe qui nous a plu :\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\n\u003ch6\u003e☑ Résistance\u003c\/h6\u003e\n\u003ch6\u003e☑ Efficacité \u003c\/h6\u003e\n\u003ch6\u003e☑ Légèreté\u003c\/h6\u003e\n\u003ch6\u003e☑ Design et coloris\u003c\/h6\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp\u003e\u003c\/p\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ctable width=\"316\" style=\"margin-left:auto;margin-right:auto;\"\u003e\u003ctbody\u003e\u003ctr bgcolor=\"#923a6c\"\u003e\u003ctd\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003eBien choisir sa taille\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003c\/td\u003e\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp\u003e\u003cspan\u003e\u003cbr\u003eAfin de choisir de manière fiable la taille correspondant à votre animal, il vous faudra \u003cstrong\u003eabsolument mesurer son tour de cou (ou au moins mesurer son collier actuel quiest réglé à sa taille),\u003c\/strong\u003e à l'endroit exact ou vous positionnez le collier, mais également vous assurer que ce diamètre permet au collier d'être enfilé par la tête (pas de système d'ouverture-fermeture par clip, le collier s'enfile en passant la tête dedans. Vigilance avec les morphologies au crâne large).\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eLes exemples de races ne sont présentés qu'à titre indicatif, je JAMAIS vous fier uniquement à cette indication, car les morphologies sont très variables au sein même d'une race.\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cdiv style=\"height:20px;\"\u003e\u003c\/div\u003e\u003ctable rules=\"rows\" border=\"4\" style=\"margin-left:auto;margin-right:auto;\"\u003e\u003ctbody\u003e\n\u003ctr bgcolor=\"#b6b5b5\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cstrong\u003eTour de cou (périmètre)\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cstrong\u003eRéférence Fournisseur\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cstrong\u003eExemples de races\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e30 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[130]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eCaniche Toy, Yorkshire\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e35 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[135]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eCaniche Nain, Bichons\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e40 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[140]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eShih Tzu, Westie\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e45 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[145]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eCaniche Moyen, Cockers\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e50 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[150]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eSetter\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e55 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[155]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eGrand Caniche\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e60 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[160]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eAfghan, Colley\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"text-align:center;\"\u003e\n\u003ctd style=\"text-align:center;\"\u003e65 cm\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e[165]\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003eBobtail\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e","brand":"Endemik Sas","offers":[{"title":"130 - Blanc","offer_id":37819400716467,"sku":"2964","price":22.1,"currency_code":"EUR","in_stock":false},{"title":"130 - Bleu","offer_id":37819400749235,"sku":"2965","price":22.1,"currency_code":"EUR","in_stock":false},{"title":"135 - Orange","offer_id":37819400782003,"sku":"2966","price":24.1,"currency_code":"EUR","in_stock":false},{"title":"135 - Rose","offer_id":37819400814771,"sku":"2967","price":24.1,"currency_code":"EUR","in_stock":false},{"title":"145 - Rose","offer_id":37819400847539,"sku":"2968","price":26.0,"currency_code":"EUR","in_stock":false},{"title":"150 - Noir","offer_id":37819400880307,"sku":"2969","price":29.0,"currency_code":"EUR","in_stock":false},{"title":"150 - Rose","offer_id":37819400913075,"sku":"2970","price":29.0,"currency_code":"EUR","in_stock":false},{"title":"155 - Rouge","offer_id":37819400945843,"sku":"2971","price":31.1,"currency_code":"EUR","in_stock":false},{"title":"155 - Blanc","offer_id":37819400978611,"sku":"2972","price":31.1,"currency_code":"EUR","in_stock":false},{"title":"160 - Noir","offer_id":37819401011379,"sku":"2973","price":33.1,"currency_code":"EUR","in_stock":false},{"title":"160 - Rose","offer_id":37819401044147,"sku":"2974","price":33.1,"currency_code":"EUR","in_stock":false},{"title":"160 - Blanc","offer_id":37819401076915,"sku":"2975","price":33.1,"currency_code":"EUR","in_stock":false},{"title":"160 - Rouge","offer_id":37819401109683,"sku":"2976","price":33.1,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/231.jpg?v=1612799447"},{"product_id":"pulseur-black-2-moteurs-artero","title":"ARTERO BLACK 2M (débit 100 L\/s)","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003c\/p\u003e\n\u003c!-- FAQ Schema.org – Rich Snippet Google --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003eL'\u003cstrong\u003eARTERO BLACK 2 MOTEURS\u003c\/strong\u003e est un \u003cstrong\u003epulseur-séchoir professionnel\u003c\/strong\u003e conçu pour les salons recherchant performance, robustesse et confort d'utilisation. Ses \u003cstrong\u003edeux moteurs synchronisés de 3 000 W\u003c\/strong\u003e délivrent un débit d'air de \u003cstrong\u003e320 CFM\u003c\/strong\u003e — l'un des plus élevés du catalogue — avec une régulation précise du débit et de la température jusqu'à 52 °C. Compatible support mural et pied mobile. \u003cstrong\u003e72 dB\u003c\/strong\u003e pour un outil de cette puissance — un excellent rapport qualité\/prix dans le matériel de toilettage professionnel.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 2 : AVANTAGES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eAvantages \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 20px;\"\u003ePensé pour une utilisation quotidienne et intensive, l'Artero Black associe la puissance des deux moteurs synchronisés à une ergonomie soignée. Sa stabilité thermique, sa faible nuisance sonore pour sa catégorie et ses filtres lavables en font un investissement durable pour tout salon professionnel.\u003c\/p\u003e\n\u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n\u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003e320 CFM de débit d'air\u003c\/strong\u003e — l'un des débits les plus élevés disponibles, pour venir à bout des pelages les plus épais ou denses.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRéglage précis via molette :\u003c\/strong\u003e Ajustez débit et température en continu selon la race, le type de poil ou la saison.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003e72 dB\u003c\/strong\u003e — niveau sonore maîtrisé pour un appareil de 3 000 W.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eFiltres amovibles et lavables\u003c\/strong\u003e — entretien simple, longévité maximale du moteur.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eCompatible support mural et pied mobile\u003c\/strong\u003e (accessoires vendus séparément) — s'intègre à tout aménagement de salon.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eStructure compacte (6,7 kg)\u003c\/strong\u003e et matériaux durables — conçu pour l'usage intensif en salon professionnel.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 3 : UTILISATION --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eUtilisation\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eLes deux moteurs s'activent ensemble via un interrupteur unique — pas de réglage moteur par moteur, le flux d'air est homogène dès la mise en marche. La molette permet ensuite d'ajuster précisément la puissance du flux et la chaleur diffusée selon l'animal et l'étape du séchage.\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eLe tuyau extensible (70 cm à 2 m) offre une grande liberté de mouvement autour de la table. Les trois embouts fournis permettent un travail ciblé selon les zones ou le volume souhaité.\u003c\/p\u003e\n\u003cdiv style=\"background: #f0f7ff; border-left: 3px solid #4a90d9; padding: 12px 15px; font-size: 13px;\"\u003e💡 \u003cstrong\u003eEntretien :\u003c\/strong\u003e Retirer et nettoyer les filtres amovibles régulièrement pour maintenir les performances. Penser également au remplacement régulier des charbons du moteur.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : INFORMATIONS TECHNIQUES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eInformations Techniques\u003c\/h2\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; width: 40%;\"\u003e\u003cstrong\u003eType\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003ePulseur-séchoir professionnel à 2 moteurs synchronisés\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003ePuissance totale\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e3 000 W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003eDébit d'air\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e320 CFM maximum\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003eTempérature maximale\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e52 °C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003eRéglage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eMolette pour ajuster débit et température\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003eNiveau sonore\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e72 dB\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003eTuyau extensible\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e70 cm à 2 m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003eBuses incluses\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e3 buses interchangeables\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003eFiltres\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eAmovibles et lavables\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003eDimensions\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003eH 26 cm × l 34 cm × L 38 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003ePoids\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e6,7 kg\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9;\"\u003e\u003cstrong\u003eAccessoires optionnels\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9;\"\u003eSupport mural (réf. A576) · Pied mobile 4 roues + bras rigide (réf. A587)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 5 : COMPARATIF GAMME --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eChoisir son pulseur : débit \u0026amp; niveau sonore comparés\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003eLe choix d'un pulseur ne se limite pas à sa puissance : le \u003cstrong\u003edébit d'air en L\/s\u003c\/strong\u003e est l'indicateur clé pour une efficacité optimale. Le niveau sonore mérite également attention — quelques décibels de moins peuvent faire une vraie différence sur le confort auditif au quotidien.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600;\"\u003eRéférence\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eNiveau sonore\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eDébit d'air\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eProduit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eATLAS\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e70 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e66 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/pulseur-sechoir-master-blow-nouvelle-generation\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003eVOLCANO\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e74 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e118 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/pulseur-sechoir-volcano-options-murale-sur-pied\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eFORCETEK\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e82 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e146 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/forcetek-pulseur-sechoir-grosse-puissance-gros-chiens\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003eMASTER BLOW\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e70 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e91 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/masterblow-pulseur-sechoir\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e2-FORCE\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e85 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e132 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/pulseur-sechoir-2-force-debit-132-l-s\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003eSUPAJET\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e69 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e75 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/supajet-sechoir-toilettage\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eDRY MASTER\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e69 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e85 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/dry-master-sechoir-ultra-performant\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9;\"\u003eTORNADO\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9; text-align: center;\"\u003e78 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9; text-align: center;\"\u003e128 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/tornado-pulseur-sechoir\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv style=\"margin-top: 15px; padding: 14px 16px; background: #f9f9f9; border: 1px solid #e5e5e5; font-size: 13px;\"\u003e\n\u003cstrong\u003e📌 À noter :\u003c\/strong\u003e L'Artero Black ne figure pas dans ce tableau car il s'agit d'une marque Artero (hors gamme Ibáñez). Avec \u003cstrong\u003e320 CFM\u003c\/strong\u003e, il se positionne parmi les débits les plus élevés disponibles sur petdesign.fr.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 6 : FAQ --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eQuestions Fréquentes\u003c\/h2\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/FAQPage\" itemscope=\"\"\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003ePeut-on utiliser les deux moteurs indépendamment ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eNon, les deux moteurs fonctionnent simultanément via un interrupteur unique pour assurer un flux d'air homogène et optimal.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003eL'Artero Black est-il adapté aux chiens sensibles ou petits ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eOui, grâce à la molette de réglage du débit et de la température, il est facile d'adapter la puissance selon la race, le type de poil ou la sensibilité de l'animal.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003eQuel entretien faut-il prévoir ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eUn nettoyage régulier des filtres amovibles et lavables suffit à maintenir les performances. Penser également au remplacement régulier des charbons du moteur.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003eL'Artero Black est-il compatible avec un support mural ou un pied mobile ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eOui, il peut être monté sur un support mural (réf. A576) ou installé sur un pied mobile à 4 roues avec bras rigide (réf. A587), tous deux vendus séparément.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003eQuel est le niveau sonore de l'Artero Black 2 Moteurs ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003e72 dB au maximum — une plage acceptable pour un usage professionnel quotidien à cette puissance (3 000 W, 320 CFM).\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 7 : 5 SIGNES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003e5 signes qui peuvent vous encourager à choisir l'Artero Black 2 Moteurs\u003c\/h2\u003e\n\u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n\u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Vous souhaitez un \u003cstrong\u003epulseur-séchoir performant (320 CFM, 3 000 W)\u003c\/strong\u003e pour réduire significativement le temps de séchage en salon.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Vous avez besoin d'un \u003cstrong\u003eflux d'air puissant et réglable via molette\u003c\/strong\u003e pour travailler sur tous types de pelages, des plus fins aux plus épais.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Vous recherchez un matériel \u003cstrong\u003efiable et facile à entretenir\u003c\/strong\u003e — filtres lavables et charbons accessibles pour un usage intensif durable.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Vous souhaitez \u003cstrong\u003eintégrer l'appareil à votre espace de travail\u003c\/strong\u003e via support mural (réf. A576) ou pied mobile à 4 roues (réf. A587).\u003c\/li\u003e\n\u003cli\u003e✅ Vous attendez un \u003cstrong\u003eexcellent rapport qualité\/prix\u003c\/strong\u003e dans une marque reconnue du toilettage professionnel — 72 dB pour 3 000 W, c'est rare.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003e2 Moteurs Synchronisés | 320 CFM | 52 °C | 72 dB | 3 000 W | Tuyau 2 m | Support Mural \u0026amp; Pied Mobile disponibles\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"ARTERO","offers":[{"title":"Pulseur BLACK 2M","offer_id":56374094004569,"sku":"S267","price":319.0,"currency_code":"EUR","in_stock":true},{"title":"Pied + Tube pour Pulseur BLACK 2M","offer_id":56374094037337,"sku":"A587","price":201.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/572.jpg?v=1616497214"},{"product_id":"pulseur-mural-extrem-2m-artero-technics","title":"ARTERO TECHNICS EXTREME 2M","description":"\u003cp\u003eArtero Technics pulseur extrême 2m\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e2 éjecteurs à turbine haute pression pour le toilettage des chiens, avec contrôle indépendant des moteurs. \u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eÉvite l'utilisation d'une serviette. \u003cbr data-mce-fragment=\"1\"\u003eRéduit le temps de séchage. \u003cbr data-mce-fragment=\"1\"\u003eDonne du volume au manteau. \u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eCaractéristiques : \u003cbr data-mce-fragment=\"1\"\u003eTuyau non inclus. Solide, léger et très flexible avec la buse. \u003cbr data-mce-fragment=\"1\"\u003eChoisissez le tuyau en fonction des compteurs ci-dessous dans les produits connexes. \u003cbr data-mce-fragment=\"1\"\u003eDébit d'air : 126 litres \/ seconde (CFM 272). \u003cbr data-mce-fragment=\"1\"\u003eBuse amovible pour augmenter la pression d'air. \u003cbr data-mce-fragment=\"1\"\u003ePoids : 12,5 Kg \u003cbr data-mce-fragment=\"1\"\u003eTension nominale : 230 V. \u003cbr data-mce-fragment=\"1\"\u003eConsommation électrique nominale : 50Hz. \u003cbr data-mce-fragment=\"1\"\u003eFréquence du réseau : 2000W. \u003cbr\u003e\u003c\/p\u003e","brand":"ARTERO","offers":[{"title":"Default Title","offer_id":37819424833715,"sku":"S314","price":384.23,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/301.jpg?v=1614082648"},{"product_id":"ciseaux-courbes-toiletteur-microdenture-specifique-par-special-one","title":"Satin 7,5\" - Ciseaux Courbes Special One","description":"\u003ch3\u003eCiseaux Courbes Satin Special One\u003c\/h3\u003e\n\u003ch4\u003eAvantages\u003c\/h4\u003e\n\u003cp\u003eLes ciseaux courbes Satin Special One incarnent le summum de la précision et de la performance pour les groomers expérimentés. Forgés à partir de l'acier japonais Hitachi 440C de la plus haute qualité, ces ciseaux sont à la fois robustes et incroyablement tranchants. Leur finition satinée réduit les reflets lumineux pendant la coupe, assurant ainsi un contrôle optimal. Dotés d'une lame extrêmement précise avec un micro-affûtage unilatéral, ces ciseaux garantissent une coupe nette sur toutes les textures de poil.\u003c\/p\u003e\n\u003ch4\u003eUtilisation\u003c\/h4\u003e\n\u003cp\u003eLa forme courbée de ces ciseaux permet une précision exceptionnelle dans le façonnage des coupes et des lignes courbes, idéale pour sculpter les contours du visage ou des pattes. Dotés d'une vis de réglage de la tension et d'une poignée asymétrique avec repose-doigt intégré, ils offrent un confort et une maniabilité supérieurs pour des séances de toilettage sans effort.\u003c\/p\u003e\n\u003ch4\u003eInformations techniques\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCode Produit: SO-SC7.5\u003c\/li\u003e\n\u003cli\u003eEAN: 5902194246989\u003c\/li\u003e\n\u003cli\u003eMarque: Special One\u003c\/li\u003e\n\u003cli\u003eOrientation: Droitier\u003c\/li\u003e\n\u003cli\u003eType de ciseaux: Courbés\u003c\/li\u003e\n\u003cli\u003eTaille: 7,5 pouces\u003c\/li\u003e\n\u003cli\u003ePoids (net): 78 g\u003c\/li\u003e\n\u003cli\u003eLongueur sans crochet: 19 cm\u003c\/li\u003e\n\u003cli\u003eLongueur de la partie utile: 9,9 cm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003eQuestions et Réponses supplémentaires\u003c\/h4\u003e\n\u003cp\u003e\u003cstrong\u003e1. Quelle est la qualité de l'acier utilisé dans ces ciseaux?\u003c\/strong\u003e Les ciseaux sont fabriqués à partir de l'acier japonais Hitachi 440C, réputé pour sa durabilité et sa netteté.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Ces ciseaux conviennent-ils aux gauchers?\u003c\/strong\u003e Les ciseaux sont spécialement conçus pour les droitiers.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003e5 signes qui peuvent vous encourager à utiliser les ciseaux courbes Satin Special One :\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eBesoin de ciseaux de qualité professionnelle pour un toilettage précis.\u003c\/li\u003e\n\u003cli\u003eRecherche de ciseaux ergonomiques offrant un confort optimal.\u003c\/li\u003e\n\u003cli\u003eIntérêt pour des ciseaux dotés d'une lame courbe pour sculpter des coupes précises.\u003c\/li\u003e\n\u003cli\u003eSouhait d'investir dans des ciseaux durables fabriqués à partir d'acier de haute qualité.\u003c\/li\u003e\n\u003cli\u003eBesoin de ciseaux polyvalents adaptés à diverses textures de poils et de coupes.\u003c\/li\u003e\n\u003c\/ol\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819439808691,"sku":null,"price":209.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/dsc_6826-edit.jpg?v=1708009250"},{"product_id":"ciseaux-special-one","title":"Ciseaux Sculpteurs AQUTUS 7.5\" par Special One","description":"\u003ch1 data-start=\"249\" data-end=\"353\" class=\"\"\u003eCiseaux Aqutus 7,5\" – Chunkers larges à lames arrondies pour une finition naturelle et professionnelle\u003c\/h1\u003e\n\u003ch2 data-start=\"355\" data-end=\"386\" class=\"\"\u003eAvantages des ciseaux Aqutus\u003c\/h2\u003e\n\u003cp data-start=\"388\" data-end=\"1417\" class=\"\"\u003eLes \u003cstrong data-start=\"392\" data-end=\"410\"\u003eciseaux Aqutus\u003c\/strong\u003e sont un indispensable du toiletteur professionnel recherchant une \u003cstrong data-start=\"477\" data-end=\"519\"\u003efinition naturelle, texturée et fluide\u003c\/strong\u003e, notamment sur des pelages fins ou bouclés. Avec leurs \u003cstrong data-start=\"575\" data-end=\"606\"\u003elames longues de 7,5 pouces\u003c\/strong\u003e, leur \u003cstrong data-start=\"613\" data-end=\"631\"\u003eforme arrondie\u003c\/strong\u003e et leurs \u003cstrong data-start=\"641\" data-end=\"676\"\u003e24 dents larges en forme de \"T\"\u003c\/strong\u003e, ils permettent un travail de finition précis, tout en créant un effet fondu sans marque. Fabriqués en \u003cstrong data-start=\"780\" data-end=\"811\"\u003eacier japonais Hitachi 440C\u003c\/strong\u003e, ces chunkers sont conçus pour résister à une utilisation intensive tout en conservant leur tranchant exceptionnel.\u003cbr data-start=\"927\" data-end=\"930\"\u003eLeur \u003cstrong data-start=\"935\" data-end=\"953\"\u003egrande largeur\u003c\/strong\u003e de lame et leur \u003cstrong data-start=\"970\" data-end=\"1002\"\u003eespace interdentelé généreux\u003c\/strong\u003e permettent de dégager rapidement de grandes surfaces sans interruption pour nettoyage, rendant le travail plus rapide et fluide. Leur \u003cstrong data-start=\"1137\" data-end=\"1169\"\u003epoignée classique réversible\u003c\/strong\u003e, avec \u003cstrong data-start=\"1176\" data-end=\"1197\"\u003erepose-doigt fixe\u003c\/strong\u003e et \u003cstrong data-start=\"1201\" data-end=\"1230\"\u003epivot de tension réglable\u003c\/strong\u003e, assure un excellent confort d’utilisation pour les toiletteurs qui alternent entre les styles de coupe classiques ou européens. Un outil hautement polyvalent pour sublimer chaque coupe.\u003c\/p\u003e\n\u003ch2 data-start=\"1419\" data-end=\"1466\" class=\"\"\u003eUtilisation des ciseaux Aqutus en toilettage\u003c\/h2\u003e\n\u003cp data-start=\"1468\" data-end=\"2346\" class=\"\"\u003eLes ciseaux Aqutus sont particulièrement adaptés à la \u003cstrong data-start=\"1522\" data-end=\"1569\"\u003efinition sur poils ondulés, fins ou bouclés\u003c\/strong\u003e, comme ceux des \u003cstrong data-start=\"1586\" data-end=\"1649\"\u003eCaniches (notamment les red), Lagotto, Cockapoos ou Bichons\u003c\/strong\u003e. Grâce à leur \u003cstrong data-start=\"1664\" data-end=\"1699\"\u003elongueur et leur forme arrondie\u003c\/strong\u003e, ils permettent de travailler en sécurité sur des zones larges tout en créant un effet de volume fondu, sans marquer.\u003cbr data-start=\"1817\" data-end=\"1820\"\u003eLe \u003cstrong data-start=\"1823\" data-end=\"1844\"\u003edesign réversible\u003c\/strong\u003e de l’impugnature offre deux façons de les utiliser : lame dentée vers le haut pour une coupe classique, ou vers le bas pour une approche dite \"européenne\", adaptée à certains types de franges ou de silhouettes. Ce modèle convient parfaitement à un usage quotidien, en salon comme en concours, pour ceux qui souhaitent \u003cstrong data-start=\"2163\" data-end=\"2230\"\u003egagner du temps tout en maintenant une qualité de coupe premium\u003c\/strong\u003e. La lame dentée T permet d’accrocher plus de matière sans bourrage ni accroc, même sur poils épais ou bien fournis.\u003c\/p\u003e\n\u003ch2 data-start=\"2348\" data-end=\"2374\" class=\"\"\u003eInformations techniques\u003c\/h2\u003e\n\u003cul data-start=\"2376\" data-end=\"3084\"\u003e\n\u003cli data-start=\"2376\" data-end=\"2421\" class=\"\"\u003e\n\u003cp data-start=\"2378\" data-end=\"2421\" class=\"\"\u003e\u003cstrong data-start=\"2378\" data-end=\"2386\"\u003eType\u003c\/strong\u003e : Chunkers larges professionnels\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2422\" data-end=\"2445\" class=\"\"\u003e\n\u003cp data-start=\"2424\" data-end=\"2445\" class=\"\"\u003e\u003cstrong data-start=\"2424\" data-end=\"2434\"\u003eModèle\u003c\/strong\u003e : Aqutus\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2446\" data-end=\"2475\" class=\"\"\u003e\n\u003cp data-start=\"2448\" data-end=\"2475\" class=\"\"\u003e\u003cstrong data-start=\"2448\" data-end=\"2460\"\u003eLongueur\u003c\/strong\u003e : 7,5 pouces\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2476\" data-end=\"2533\" class=\"\"\u003e\n\u003cp data-start=\"2478\" data-end=\"2533\" class=\"\"\u003e\u003cstrong data-start=\"2478\" data-end=\"2497\"\u003eNombre de dents\u003c\/strong\u003e : 24 dents larges en forme de “T”\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2534\" data-end=\"2580\" class=\"\"\u003e\n\u003cp data-start=\"2536\" data-end=\"2580\" class=\"\"\u003e\u003cstrong data-start=\"2536\" data-end=\"2548\"\u003eMatériau\u003c\/strong\u003e : Acier japonais Hitachi 440C\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2581\" data-end=\"2649\" class=\"\"\u003e\n\u003cp data-start=\"2583\" data-end=\"2649\" class=\"\"\u003e\u003cstrong data-start=\"2583\" data-end=\"2603\"\u003eFinition de lame\u003c\/strong\u003e : courbe arrondie pour sécurité et fluidité\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2650\" data-end=\"2688\" class=\"\"\u003e\n\u003cp data-start=\"2652\" data-end=\"2688\" class=\"\"\u003e\u003cstrong data-start=\"2652\" data-end=\"2663\"\u003ePoignée\u003c\/strong\u003e : Classique réversible\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2689\" data-end=\"2716\" class=\"\"\u003e\n\u003cp data-start=\"2691\" data-end=\"2716\" class=\"\"\u003e\u003cstrong data-start=\"2691\" data-end=\"2707\"\u003eRepose-doigt\u003c\/strong\u003e : Fixe\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2717\" data-end=\"2809\" class=\"\"\u003e\n\u003cp data-start=\"2719\" data-end=\"2809\" class=\"\"\u003e\u003cstrong data-start=\"2719\" data-end=\"2726\"\u003eVis\u003c\/strong\u003e : Réglable – pour ajustement de la tension selon la sensation de coupe souhaitée\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2810\" data-end=\"2874\" class=\"\"\u003e\n\u003cp data-start=\"2812\" data-end=\"2874\" class=\"\"\u003e\u003cstrong data-start=\"2812\" data-end=\"2823\"\u003eBalance\u003c\/strong\u003e : Parfaitement équilibrée pour un usage intensif\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2875\" data-end=\"2995\" class=\"\"\u003e\n\u003cp data-start=\"2877\" data-end=\"2995\" class=\"\"\u003e\u003cstrong data-start=\"2877\" data-end=\"2894\"\u003eParticularité\u003c\/strong\u003e : Très bon maintien de la coupe sur grandes zones, lame conçue pour poil fin, bouclé ou kératinisé\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"2996\" data-end=\"3084\" class=\"\"\u003e\n\u003cp data-start=\"2998\" data-end=\"3084\" class=\"\"\u003e\u003cstrong data-start=\"2998\" data-end=\"3027\"\u003eStyle de coupe recommandé\u003c\/strong\u003e : fondu naturel, volume léger, coupe commerciale ou expo\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 data-start=\"3086\" data-end=\"3126\" class=\"\"\u003eQuestions et Réponses supplémentaires\u003c\/h2\u003e\n\u003cp data-start=\"3128\" data-end=\"3367\" class=\"\"\u003e\u003cstrong data-start=\"3128\" data-end=\"3199\"\u003eQ : Sur quel type de poil ces ciseaux sont-ils les plus efficaces ?\u003c\/strong\u003e\u003cbr data-start=\"3199\" data-end=\"3202\"\u003eR : Les Aqutus sont idéaux pour les poils \u003cstrong data-start=\"3244\" data-end=\"3272\"\u003efins, bouclés ou ondulés\u003c\/strong\u003e, comme ceux du Caniche red, Bichon ou Lagotto. Ils permettent une coupe fondue très naturelle.\u003c\/p\u003e\n\u003cp data-start=\"3369\" data-end=\"3575\" class=\"\"\u003e\u003cstrong data-start=\"3369\" data-end=\"3423\"\u003eQ : Quelle est la particularité des dents en “T” ?\u003c\/strong\u003e\u003cbr data-start=\"3423\" data-end=\"3426\"\u003eR : Elles offrent un \u003cstrong data-start=\"3447\" data-end=\"3478\"\u003eespacement large et profond\u003c\/strong\u003e, permettant de travailler rapidement sans saturer les lames, avec un bon contrôle sur le volume.\u003c\/p\u003e\n\u003cp data-start=\"3577\" data-end=\"3785\" class=\"\"\u003e\u003cstrong data-start=\"3577\" data-end=\"3618\"\u003eQ : Peut-on les utiliser en gaucher ?\u003c\/strong\u003e\u003cbr data-start=\"3618\" data-end=\"3621\"\u003eR : Non, ce modèle est conçu en version \u003cstrong data-start=\"3661\" data-end=\"3685\"\u003edroitière uniquement\u003c\/strong\u003e, mais avec une poignée réversible permettant deux approches de coupe (style classique ou européen).\u003c\/p\u003e\n\u003cp data-start=\"3787\" data-end=\"4033\" class=\"\"\u003e\u003cstrong data-start=\"3787\" data-end=\"3850\"\u003eQ : Quelle est la différence avec un chunker traditionnel ?\u003c\/strong\u003e\u003cbr data-start=\"3850\" data-end=\"3853\"\u003eR : L’arrondi de la lame et le large espace entre les dents font des Aqutus un chunker particulièrement \u003cstrong data-start=\"3957\" data-end=\"3993\"\u003eadapté à la finition et au fondu\u003c\/strong\u003e, avec une grande sécurité de mouvement.\u003c\/p\u003e\n\u003cp data-start=\"4035\" data-end=\"4243\" class=\"\"\u003e\u003cstrong data-start=\"4035\" data-end=\"4075\"\u003eQ : Sont-ils adaptés aux débutants ?\u003c\/strong\u003e\u003cbr data-start=\"4075\" data-end=\"4078\"\u003eR : Ils demandent une certaine maîtrise pour exploiter pleinement leur puissance, mais sont accessibles dès que l’on maîtrise les gestes de base des chunkers larges.\u003c\/p\u003e\n\u003ch3 data-start=\"4245\" data-end=\"4315\" class=\"\"\u003e5 signes qui peuvent vous encourager à utiliser les Ciseaux Aqutus\u003c\/h3\u003e\n\u003col data-start=\"4317\" data-end=\"4826\"\u003e\n\u003cli data-start=\"4317\" data-end=\"4429\" class=\"\"\u003e\n\u003cp data-start=\"4320\" data-end=\"4429\" class=\"\"\u003eVous travaillez sur des \u003cstrong data-start=\"4344\" data-end=\"4380\"\u003epelages bouclés, ondulés ou fins\u003c\/strong\u003e, et souhaitez une finition douce et naturelle.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"4430\" data-end=\"4532\" class=\"\"\u003e\n\u003cp data-start=\"4433\" data-end=\"4532\" class=\"\"\u003eVous cherchez un \u003cstrong data-start=\"4450\" data-end=\"4485\"\u003echunker long, large et efficace\u003c\/strong\u003e pour couvrir rapidement de grandes surfaces.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"4533\" data-end=\"4621\" class=\"\"\u003e\n\u003cp data-start=\"4536\" data-end=\"4621\" class=\"\"\u003eVous aimez avoir \u003cstrong data-start=\"4553\" data-end=\"4587\"\u003edeux styles de coupe possibles\u003c\/strong\u003e grâce à une poignée réversible.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"4622\" data-end=\"4712\" class=\"\"\u003e\n\u003cp data-start=\"4625\" data-end=\"4712\" class=\"\"\u003eVous recherchez des ciseaux avec un \u003cstrong data-start=\"4661\" data-end=\"4684\"\u003eexcellent équilibre\u003c\/strong\u003e, robustes mais maniables.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"4713\" data-end=\"4826\" class=\"\"\u003e\n\u003cp data-start=\"4716\" data-end=\"4826\" class=\"\"\u003eVous voulez un outil fiable, élégant et durable, en \u003cstrong data-start=\"4768\" data-end=\"4799\"\u003eacier japonais Hitachi 440C\u003c\/strong\u003e avec dents spéciales en T.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr data-start=\"4828\" data-end=\"4831\" class=\"\"\u003e\n\u003cp data-start=\"4833\" data-end=\"4980\" class=\"\"\u003e \u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":37819439874227,"sku":null,"price":269.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Sanstitre-16_a8b4e0aa-bdd8-4102-98a9-4f8b50b1e013.png?v=1632322674"},{"product_id":"couteaux-a-epiler-extra-fin-par-special-one-stripping-knife","title":"Couteaux à épiler - par Special One - Stripping Knife","description":"\u003cp\u003eCouteau à épiler unique en son genre : ergonomie, accroche, performance, anti fatigue. Le résultat de plus de trente ans d'expérience dans l'épilation de toutes les races de chiens.\u003c\/p\u003e\u003cbr\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cstrong\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eCouteau à épiler\u003c\/em\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eGamme technique : résultat de 33 ans d'expérience en épilation\u003c\/em\u003e\u003c\/span\u003e\u003c\/h2\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003e(toilettage chiens et chats)\u003c\/em\u003e\u003c\/span\u003e\u003c\/h2\u003e\u003ch3 style=\"text-align:center;\"\u003e\u003c\/h3\u003e\u003ch3 style=\"text-align:center;\"\u003e\u003c\/h3\u003e\u003ccenter\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/t\/3\/assets\/description_image_special_2.png?v=1608721015\" alt=\"\" width=\"192\" height=\"84\"\u003e\u003ccenter\u003e\u003c\/center\u003e\n\u003c\/center\u003e\u003cp style=\"text-align:center;\"\u003e\u003c\/p\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ctable width=\"316\" style=\"height:45px;margin-left:auto;margin-right:auto;\"\u003e\u003ctbody\u003e\u003ctr bgcolor=\"#923a6c\"\u003e\u003ctd\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003eDescription\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003c\/td\u003e\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp style=\"text-align:justify;\"\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eUne gamme spécifique en métal extrêmement dur assurant une épilation de haute précision.\u003c\/p\u003e\u003cp\u003eVolontairement oxydable, l'usure de ce métal améliore encore la prise du couteau et donc l'efficacité de l'épilation. Votre travail est ainsi facilité, accéléré, et l'épilation devient immédiatement un jeu d'enfant !\u003c\/p\u003e\u003cp\u003eCe couteau ayant un écartement plutôt fin entre chaque dent, il excelle pour les toilettages sur pelage pas trop épais.\u003c\/p\u003e\u003cp\u003eManche ergonomique, anti-fatigue, en bois.\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"K001 - Extra Fin","offer_id":37819440562355,"sku":"2312","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"K002 - Fin","offer_id":37819440595123,"sku":"2313","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"K003 - Moyen","offer_id":37819440627891,"sku":"2314","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"K004 - Large","offer_id":37819440660659,"sku":"2315","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"K005 - Extra Large","offer_id":37819440693427,"sku":"2316","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"Spider (sans dent)","offer_id":37819440726195,"sku":"-248","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"Gaucher","offer_id":37819440758963,"sku":"6643","price":109.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Sanstitre-9_6e5f74cd-275d-4beb-a222-5e29c1e51acf.png?v=1632324320"},{"product_id":"pulseur-sechoir-master-blow-nouvelle-generation","title":"Pulseur Séchoir ATLAS (débit 66L\/s)","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\"\u003e\u003c\/p\u003e\n\u003c!-- FAQ Schema.org – Rich Snippet Google --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- BLOC 1 : INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003eLe \u003cstrong\u003ePULSEUR SÉCHOIR ATLAS\u003c\/strong\u003e est un \u003cstrong\u003eséchoir professionnel 2-en-1\u003c\/strong\u003e — pulseur et séchoir dans un seul appareil compact et léger.Avec seulement \u003cstrong\u003e69 dB\u003c\/strong\u003e et une consommation de 1 200 à 1 800 W, c'est le pulseur le plus silencieux et le plus économe de la gamme — parfait pour une utilisation quotidienne, à domicile, en exposition ou en salon à activité modérée.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 2 : AVANTAGES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eAvantages \u0026amp; Résultats\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 20px;\"\u003eCompact, léger et robuste, l'Atlas combine la polyvalence d'un 2-en-1 avec le confort d'un niveau sonore remarquablement bas. Son design ergonomique et stable facilite son transport et son utilisation dans tous les environnements de toilettage.\u003c\/p\u003e\n\u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n\u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLe plus silencieux de la gamme : 69 dB\u003c\/strong\u003e — séchage confortable pour l'animal et le toiletteur sur la durée.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003e2-en-1 pulseur \u0026amp; séchoir :\u003c\/strong\u003e Pleine vitesse sans chaleur + buse étroite = pulseur. Vitesse modulée + température + buses adaptées = séchoir.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eConsommation économique :\u003c\/strong\u003e 1 200 à 1 800 W — idéal pour un usage quotidien ou à domicile sans surcharge électrique.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eManche non chauffé :\u003c\/strong\u003e Poignée en néoprène pour une manipulation sûre et confortable sur les longues sessions.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eLéger, compact et stable\u003c\/strong\u003e — facile à transporter en exposition, en van ou à domicile.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 3 : UTILISATION --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eUtilisation\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eL'Atlas s'utilise de deux façons. En \u003cstrong\u003emode pulseur\u003c\/strong\u003e : pleine vitesse, sans chaleur, avec la buse étroite pour expulser l'eau du pelage rapidement. En \u003cstrong\u003emode séchoir\u003c\/strong\u003e : modulez la vitesse, activez l'un des deux niveaux de chaleur et choisissez la buse adaptée au type de pelage.\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 0;\"\u003eLe tuyau extensible (90 à 200 cm) offre une bonne liberté de mouvement. Les 3 buses interchangeables couvrent tous les besoins — expulsion, séchage large et finition. Le tuyau et le filtre se retirent facilement pour le nettoyage quotidien.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 4 : INFORMATIONS TECHNIQUES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eInformations Techniques\u003c\/h2\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; width: 40%;\"\u003e\u003cstrong\u003eConsommation\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e1 200 W (min.) à 1 800 W (max.)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003eVitesse maximale\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e80 m\/s\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003eDébit d'air\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eJusqu'à 140 CFM \/ 66 l\/s\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003eContrôle de la chaleur\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e2 niveaux — augmentation maximale de 38 °C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003eTuyau extensible\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e90 à 200 cm — diamètre 4,5 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e\u003cstrong\u003eBuses incluses\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e3 buses interchangeables\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e\u003cstrong\u003eNiveau sonore\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e69 dB\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9;\"\u003e\u003cstrong\u003eManche\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9;\"\u003eNon chauffé — poignée en néoprène\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 5 : COMPARATIF GAMME --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eChoisir son pulseur : débit \u0026amp; niveau sonore comparés\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003eLe choix d'un pulseur ne se limite pas à sa puissance : le \u003cstrong\u003edébit d'air en L\/s\u003c\/strong\u003e est l'indicateur clé pour une efficacité optimale. Le niveau sonore mérite également attention — quelques décibels de moins peuvent faire une vraie différence sur le confort auditif au quotidien.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600;\"\u003eRéférence\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eNiveau sonore\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eDébit d'air\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eProduit\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background: #fff8e1;\"\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff8e1;\"\u003e\u003cstrong\u003eATLAS ← vous êtes ici\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff8e1; text-align: center;\"\u003e\u003cstrong\u003e69 dB\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff8e1; text-align: center;\"\u003e\u003cstrong\u003e66 L\/s\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff8e1; text-align: center;\"\u003e—\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eVOLCANO\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e74 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e118 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/pulseur-sechoir-volcano-options-murale-sur-pied\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003eFORCETEK\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e82 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e146 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/forcetek-pulseur-sechoir-grosse-puissance-gros-chiens\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eMASTER BLOW\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e70 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e91 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/masterblow-pulseur-sechoir\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e2-FORCE\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e85 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e132 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/pulseur-sechoir-2-force-debit-132-l-s\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eSUPAJET\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e69 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e75 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/supajet-sechoir-toilettage\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003eDRY MASTER\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e69 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e85 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/dry-master-sechoir-ultra-performant\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff;\"\u003eTORNADO\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff; text-align: center;\"\u003e78 dB\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff; text-align: center;\"\u003e128 L\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff; text-align: center;\"\u003e\u003ca style=\"color: #1a1a1a;\" href=\"https:\/\/petdesign.fr\/products\/tornado-pulseur-sechoir\" target=\"_blank\"\u003eVoir\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 6 : FAQ --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003eQuestions Fréquentes\u003c\/h2\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/FAQPage\" itemscope=\"\"\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003ePeut-on l'utiliser uniquement comme pulseur, sans chaleur ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eOui. À pleine vitesse, sans chaleur et avec la buse étroite, il fonctionne comme un pulseur d'expulsion. En jouant sur la vitesse, la température et les buses, il devient un séchoir complet adapté à chaque type de pelage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003eLe Pulseur Atlas est-il adapté à tous les types de pelage ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eOui, grâce à ses réglages de vitesse et de température ajustables et à ses trois buses interchangeables, il convient à tous les types de pelage, des plus fins aux plus épais.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-bottom: 12px;\" itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003eComment entretenir le Pulseur Séchoir Atlas ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eLe tuyau et le filtre sont faciles à retirer, à nettoyer et à remettre en place pour un entretien quotidien simple et efficace.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Question\" itemprop=\"mainEntity\" itemscope=\"\"\u003e\n\u003ch3 style=\"font-size: 13px; font-weight: 600; margin: 0 0 4px 0;\" itemprop=\"name\"\u003eQuelle est la différence entre le Pulseur Atlas et le Pulseur Volcano ?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eL'Atlas est plus compact et économe en énergie (1 200-1 800 W, 66 L\/s, 69 dB) — idéal pour une utilisation quotidienne ou en salon à activité modérée. Le Volcano est plus puissant (2 200-2 800 W, 118 L\/s) et conçu pour les salons à fort volume de travail.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 7 : 5 SIGNES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0;\"\u003e5 signes qui peuvent vous encourager à choisir le Pulseur Séchoir Atlas\u003c\/h2\u003e\n\u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e\n\u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Vous recherchez le \u003cstrong\u003epulseur le plus silencieux de la gamme (69 dB)\u003c\/strong\u003e pour préserver le confort de l'animal et votre audition.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Vous souhaitez un appareil \u003cstrong\u003e2-en-1 compact et léger\u003c\/strong\u003e, facile à transporter en exposition, en van ou à domicile.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Votre utilisation est \u003cstrong\u003equotidienne ou légèrement professionnelle\u003c\/strong\u003e — l'Atlas est dimensionné pour ce type d'usage sans surconsommation électrique.\u003c\/li\u003e\n\u003cli\u003e✅ Vous cherchez un bon \u003cstrong\u003epoint d'entrée dans la gamme Ibáñez\u003c\/strong\u003e avec toutes les fonctionnalités essentielles à un tarif maîtrisé.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003e2-en-1 Pulseur \u0026amp; Séchoir | Ioniseur Intégré | 69 dB | 80 m\/s — 66 L\/s | Compact \u0026amp; Léger\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Setter Bakio S.L.","offers":[{"title":"Pulseur Seul","offer_id":37819442397363,"sku":"SH0000 (82)","price":119.0,"currency_code":"EUR","in_stock":true},{"title":"Support Mural (sans pulseur)","offer_id":37819442430131,"sku":"SH0011","price":36.0,"currency_code":"EUR","in_stock":true},{"title":"Pied + Tube (sans pulseur)","offer_id":37819442462899,"sku":"SH0010","price":115.5,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/7121.jpg?v=1616496887"},{"product_id":"aquarosa-pro","title":"AQUAROSA PRO","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eAQUAROSA PRO\u003c\/strong\u003e est le shampoing professionnel Special One dédié aux fourrures ayant fortement besoin d'être nourries. Ultra concentré, riche en vitamines et actifs hydratants, il donnera la \u003cstrong\u003emeilleure version du poil de votre animal, quelle que soit sa race\u003c\/strong\u003e : hydratation et nutrition les plus intenses possible, avec conditionneur intégré.\n    \u003c\/div\u003e\n\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — du salon de toilettage professionnel au particulier.\u003c\/p\u003e\n\n    \u003cdiv class=\"aqr-audience\"\u003e\n      \u003cdiv class=\"aqr-audience-grid\"\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eSa formulation ultra concentrée permet de \u003cstrong\u003erattraper les fourrures les plus déshydratées\u003c\/strong\u003e, avec une action particulièrement intense sur les peaux sèches et sensibles. Les vitamines et acides aminés naturels lui confèrent une douceur remarquable tout en apportant brillance et éclat durable. Même en usage ultra fréquent, il reste respectueux de la peau et du poil.\u003c\/p\u003e\n    \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n      \u003cdiv class=\"aqr-benefits-grid\"\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 C8 9 6 13 6 16 a6 6 0 0 0 12 0 c0-3-2-7-6-13Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eBain en douceur\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eConvient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eNettoyage profond\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eNettoie, assainit et donne un coup d'éclat à tous les types de poils.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M3 8 Q9 5 15 8 T21 8\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 12 Q9 9 15 12 T21 12\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 16 Q9 13 15 16 T21 16\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-nœuds\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eFacilite le démêlage et le brossage, et limite le retour des nœuds.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M13 2 L4 14 L11 14 L11 22 L20 10 L13 10 Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eNutrition immédiate\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAction intense et visible dès le 1er shampoing.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 L20 6 L20 12 Q20 18 12 22 Q4 18 4 12 L4 6 Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eProtection kératine\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAugmente les défenses naturelles pour protéger la structure du poil.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 L12 21\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 12 L21 12\"\u003e\u003c\/path\u003e\u003ccircle cx=\"6\" cy=\"9\" r=\"1.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"15\" r=\"1.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePeaux grasses\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eTraite le sébum en excès tout en préservant le film hydrolipidique.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 12 A9 9 0 0 1 18 6 L21 6\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 12 A9 9 0 0 1 6 18 L3 18\"\u003e\u003c\/path\u003e\u003cpath d=\"M18 3 L21 6 L18 9\"\u003e\u003c\/path\u003e\u003cpath d=\"M6 21 L3 18 L6 15\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eBains fréquents\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAucun risque pour la peau et le poil, même en utilisation intensive.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 7;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eUniversel\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eLes poils à volume garderont leur volume naturel ; les poils plombants soyeux resteront tels quels — et encore plus beaux.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions d'AQUAROSA PRO\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e\n        \n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 4 }, { label: \"Brillance\", value: 4 }, { label: \"Soin peau\", value: 4 }, { label: \"Volume\", value: 3 }, { label: \"Texture\", value: 2 }, { label: \"Démêlant\", value: 4 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5); var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 3 : COMPOSITION (avec CARTOGRAPHIE) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition d'AQUAROSA PRO : innovation, performance et recherche de naturel !\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation naturelle riche en antioxydants, vitamines et actifs purifiants — \u003cstrong\u003esans SLS\u003c\/strong\u003e, sans parabens, sans silicone.\u003c\/p\u003e\n\n    \u003c!-- CARTOGRAPHIE --\u003e\n    \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e\n      \u003cdiv class=\"aqr-grid\"\u003e\n\n        \u003cdiv class=\"aqr-col-list\"\u003e\n          \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-schema\"\u003e\n          \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n            \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée d'AQUAROSA PRO\" src=\"data:image\/webp;base64,UklGRuaIAABXRUJQVlA4WAoAAAAQAAAA8wEAZAQAQUxQSBggAAAB\/yckSPD\/eGtEpO4jbttIcqTpmvGuL\/+Adb9+L6L\/E1A3t4\/vcoWblB2y15gzpsKGUKfsFK6smxA8GbmmQoT49Ph22NWOtB7p2IC1tXarFoXJ8eZ4OjmmFPwWiN35aMTunBh\/gJmMNDOdqslQHLeN5EhS5Z\/1Wa17R8QE+O\/FZC6GbDGd2WIzKjDbtYGnW8sNeG3AWjOeDuDme\/wSFeVFEZQPWE52crPzm2E1stysN3v+Zgcn85+zZndvdn4zsutXPP8iXPw\/m7Yk6f+Ptc+5StvOvJ1GV94sVzrL5oe3s227H2292bZ7jEfbtpk65+wdEYPsvdeKQc596oiYAF\/Yth2bI\/\/fcV33\/b4VY+Zj27Zt214cLn6spbFtNMdt26yubOmkk7aiqThVKbzPfZ0Lz\/081ahU3vfDiJgAb9j2GZLk\/9\/9iojs6u7ptd7+2LZt2\/58Htq2vbYO29asbQ8Wo8YOG1OtqojX6+OHs3u9VRExAYzfk3\/Fzcf\/zV\/mJtBTe9\/pHmJd8t\/UWm9ihTTR\/kJ1Yn5apHv8yicOx9Lss3LOGi79gciKhw+zwMx8k+SlpUfVDSmL9PgNDHvevTltQ1Eu7j9i45H8LOVGWcPFD+Ri8nyxXJBb3vZkAdWxW6YSZbIjdyZBpKWzVRpkxe9\/IgXmZaOloRgP2\/GkA0lxlpJDhl99KgRetvfMxbjighNZYKVdq1wZM33B61QGEIMDn68kxr15H80QQI+\/3yBLox\/eOFoHEOnP1AlyfzUNgPLnv1mZMR99\/1fGsGInlIS462v+HVG19xpk1vw+Jbfku+6CzGPz74fTHg0vsSLEFRcqUkvD+Z0kxFLz8xvkVPxqmRFG8Z+KVAm\/lCzC0+iNi80UbeVHihXCBN\/+\/YhqpH1PpwYwweI3E6kiLxemgLDqbESmbuUe0gQsyYGLTaIe6dOb0mjyVZi5Ipv9H9E29VPwBW\/Bsv73KHtOSVV8+7H9Fvq\/tG1BgVf47veY9P8Y\/JmJ75I+vtfF\/1nzXc+Y46XYt5\/evu2gCe9U3raEuqLsuUB8l3z1PV7odt24uTS6pMW3iZ6RZ89Zd\/H9zOOplw6+bHiVPH2tNf3+KZLoDn34sEcfDV5rojvs3o8p6FnztS+VRpf8xiNZPaIsnLjmgjvs8jlE31h8Q4EXv3qwX7PTlzNd4ss\/CZU2trJbWXBTz0L7aNm6R5fTEC76qmOW0DKSzlcOuKR+CNou360yENu05beDaOXb1Dlcqb6j1l6rrLNsKLapC58NQ9tmpyg5XKKPwKpWXu40g4tY8nwn2ur4cyVVsV2lZ9ZateLgHKVgi1h5EobWsvqihdiu8DLXXitNNx2RGluU5T\/nRMfNKs5WwnNdq1bW+9MXrAptpoW\/aIKOfzOwYKvCs3zUb2fyQZWGFnX5M6yv\/3eUhYUQ29I8Acf\/3\/NTB0tFS3Tjbc4Oye8X3KL3qqYOZqfDxXr1LVC0b\/mWw40t4e3DZqxdpIULlIIs6tQTMLRv3SvLqQktexqs6pDqo70UZIkte8DIDrKNKk5WVd+Fuo\/2Xh46IVWRXWPGEzqGvamCluiRnWCHKP1rrQktfwa06iAtzQntNJxZZxU61nJS6QZkAZtqR8fIK7uUBTZt\/BGodPDulW1lnazU3O7NGDqaP61kZDk2w9hpeJpFkGVLnoceOq8f3TeBXdWvg0mX2l03kSpYabhzxgQdo8zcrhxgYexhaOqUFvbKBbZPHUf3sGt6uYKV6sN\/66mT1rapc65oi++HdvLuuem0Lq5Fl1yFhM6+TTnIwumLzk5mf24usHt2DHXVxe2lo0W2cMdq76FrHbtK3YAsvAiaukR5e5dcXBM7b\/CEbjtfRSuNfdo0g99SHCxpDiw3Z4UR1b9FWVzTziJsRV7nv8kSV2yuWarGioZxtrK4Fm5B7StyX\/waS2CZP+IVK27+2gcFVtKHa80wjL9VEdeiJ1DLyurST1rmSup1m7WPFUdsURLX1OdDpRvtnxJYtOlrrELG+ByBVY3uRpO6Fbvz+GRcaX8ziO5hf68srFNzbLmnbpH3fWVKXMFv87rXDWtOEFe0BRtd0F3sPtaMK78T2stygYqwdn+NJWS0OimuRXf+GyyD5xduSA2rJM9G088QmtlnQZWMds94he6R2j+FuPbpkSOjeU5kLXgUJhlauvMVc6pSfXKoPWQM27zUBVWQDVBkjDx7mlVBLfWK+1yymL+poMo54JjnkD9WuBK9pdFeDk8XVRPUtKlnQZHR08vbUnB1L6yXo6XnNxlW8JdrQs7UVouoFpv5c3iOyMsXV6xSfR2aXhbt2m0BlclnvpUUOV1XvFmcqn981T8ky2I63ER1+p03D+BZtDYdAZX5d\/6Ajpyet5+nClXiOXBkNU24qHb7oFieiFMHCSpL635VNJM9EwbVgD83eJbQzgVRnf3fUo2sNd\/3YmlMGV92qud58vpjJqidX2yIrJH2XxUNqjR1tSyPNDhcxlTmNxca5G06cTo7Uym9Ws9VyGVC2th853Pl5Y1nzJly+5EnIzLZ7HNY6Q2oe1kiDS93Mc1myR5PyJzfqIkpcOoYJE\/YrgMKplI9q0i57nq+NKRE91zvhtyTMiGdRkdQj+WJNP9XqkzpvKNWIa\/Z+HYFUtRFh5Db\/R4zIS326NBSppYuqpkpYhqN5PH86ubkSKXhoRXWR6a06TULpIBNI0PmvHp9CqTo1aNoJJO1l91EtDSnx5px5A1tH1ogZXg1HJmbbt2SnSix++Epk+cDL5qL6MofMUWu2Ha0kJbmKbspufB\/mchI0R6YtlxS\/Kg6omjTs07k9sVvVyEq+akNKrki32pZQNMX7K+I\/BtVkNJF90Oy+eJ3KBEF3NRzZrN8lIwo4s4pRW4xAxUmULAZnKMioCu95n6tcikfPG6JKE+74cgdefc+M6LUXouUDZotSAlvnACz2fLHKAK65\/cuapBf82SgKGv3uxSIJKKkecNIPJun2x7MIjp9oDFkD1k\/IeXfT022SGt3WSPK1v9spdlkK9dFAJWaw3AUtCkBTe1fk7TEeBAF14eT5wttWzegxB89Z8jv+vc9JYDS4xgVCPUENG2CaPJ5t+W21HiS0ZGNivyh6Z3mPAH1hHo+adLCePL+rAtKzoUFUM218AK2\/o8K4Uxs+2OXAspNQFejO9BUBWzVgaLO3+dE\/qGd83JxnmzZaUoBqbl4Jk4vUhawNlTwBFw1acjfyraLgKJNTYIFTHWZKJ9+WKsCUjMZTi7XCVEw4qK54jjBXoSiYX030Sx+zQJjgUi7XrCGU4X7VxTa8nhynCzBiaLrSThLs3MWUiL5n3ngBNg4UTLSQQEtd1Reotkd+1LgJLipbywRdyxmnFJzdJ8LCpp9wEI0E0vXKgtEnr0jHCdLm50okd5+0IImsUVnWUSanxTOztEARaOdvpyCJvFn7FUpIavimZgSQ0lbrwqaqAuugpRo6Zb7s+Pki+6yVCI0XDPhXD3LUTxoquzx15uUiLLvRJ6cmxxlY2IgmkW3PkoWcXtw2gImcnazSpGI++cLTj4ljjJ2tGimrd7rLBK5\/5A5TttPeCqTtt5pDSawGqL0sUkwk\/7qMS91u+NkS9eChfxk0Zz80V21FErH4QTURFm313YpYPK0AizTdOv2AhOb9a9FKmM2phDNaiirvONCnIRnx51lLM+LZvphGsro0aUULNHn9x2F445FmpLeccpSGdmxZqL5Qk0UVZp7MZwl6oLZnpcJe\/W+3FgCfD0KG0eWEMvE9AJnGXhmKJjFr9+uKCrKFymzRF10EoUgfT1N8JW3oLDs6c+0BBP+aVCq2DnqxDJ5x4QXgu1Gk\/jDtEI+2q3CUtJr97uUUdr3XhPL4tMrlGUgD2QsGZY7UVY82ZhQpq58AaVQ8LomswSowgvBEJwW91DaluYnTYkvXKNSpkmfuzaJZfolOkpnJszSHDjjqZDFSYQSgTfub1hG6fj7w1ASO3NDXaF0XRPNWxaApWJygiXq5Gu8h8KhF6YtSALSUnopt43TxVnqOQL2TCgnvmlSWc6DJfokMdcuuuMAGCDDZDv3WbEoO05WJQmYUBQPDfYoSNL5z03OUpJ3YpljKG86SijTewSLuc4cJpISHj7YSLHQ7c1IAqd6KG86Qiz7eQSMVmUg0Sb3gMVqueHB1FBa+xikWGjJc4DkaC6ivMkVAlnwvJXKYmX+DDWSwHVwlA4tT8tIoo8CSONTIjk1B2\/Rqljorb6CI2q1d7mzWNOFezNH5IqPvdcqFLfIMmEstuHBxURA64nkdFQV5SPvfMqcI\/ejE85yblufBImYRxARe+PiWOz0rZpCdBEcAQJHxHhzaCQRESMNLlxPJA1CKHrj4pg6\/ipIBO3Zb4ER0N8CBvB00xOlYeS8NETMzsRx8udusBgRIAn3UBnCRbJfQMjQOEhSb7rVUoSk3QqMiE07IAEi9f9JDSNgZPAAUu2L5JEgpkvBkRwFGGLcxLH3n0TQzUOQMPiHGFX\/OMwY0Xeuc0aQijhOft82C2IgEX\/vCGltnSPa5F6GaOWhjalhpOvvhUQIzS+aUQRcuAiPIHUW4njrAmeE3D87FBQRDy3XEBpOy4QxAUfI3qRA9gFCNrvqpewUUTcc9RQhNLtsgRG2HjSJoCgmkAeOmDYVJCWGiDR\/lwIjx5vAGHs2yjEC1yNonhLH9EtRSnBEWz3fQ4RO3F+CogovWa8SQTHjAvlfEDNsShjTJjaBEcLmp0HSHY+6RPD86MZcKQLqhojZJRPHa5IH2enCmPKsecYIef1v1TACE4J6iGPqIEovc8Rmx05nhNB9C4aR4PBBlQhFVy3moAi4qETIOFIhjk0Q00IY06bOkhEib7rFgiL42DRCyvbuDI5w\/nwM6HrCWPDoTpUYCsOI2DFpiOkKjIDzjpA2OudgDox6SxgD1mSCWJrNL\/JeCA1+dbwaRMCoQkxvvvwnlDB6lgcxjR8riolb6DFATlGl9212xojBKzcpGCLWLdQgYv+sQQTUIKJO9kIUX0LcuaExRJ84HsaWL1jOwVCz73ZnEFISw\/RDn1roEmVuRUEQyXdtV0HM4tfenxtBgLkRYZcGJoKTn9jjEmeTGKYfXG6MYuUOBULARUdU+dxH5QwxMQywXhD7BQQeiiE2y56PFEXMLjEEnzoARim86VAXCEHPI64WoTilQLZxYjSyMEqH7jNHiJjueZTwnbd6Q0jw4nFjEHipyxACBoira4NgiFUcX\/4ok2IfxdFg+4SIunYjGCTstd0KhJJfd61KkGq3vFUYAuqGCGrqIgSxElGz\/9IPtoSQYzHCWhzzh5IBRF0wW3kUKQaCWCYR1+JEKRByi9R\/XRBLilPtkjezM3RxEEfqrwlh4uhOkzhTouipy5RRbHUTRMDQEdXzjqvlDNEYRiqTMoKoK1+MKo6FIJ5YA8ZZqQqGQhE2dPZcRxHjSIMQxFMeKEwMJ14zbnFsDCLYCo8S6eUbUoWoQdiw3TMWDLnHkTaYII6lSHuCoVS+8ZuNUUy\/p0DI9dPfbBJFCjEs5kXENYggGebgg7l3sWnyZuUlr4BzbZC3Mhdfz8WpBwoFQ8SK8Tg1XTmbgqCE2bUqUVzPrmaEHD06opo2KMSwIXIWxYwTpf+MAiIPZJtvM2eIKY7UbQgRnJq9j6KKk0IE09MzliuihmarEQToZngYtbNWUwBEbFjtEieJYdqxpzaBAiLQDXPu4v8ikZIhxHrqhUiBVgcEiaz71kmTMC3ffnduAOnMsYYIGxoOhfA\/1QmRkxHk1ZHkjOQi2CYfEEfkjBDsEiKbKkOUSJGWzo0gKLi1t4UwGUrKDKnGyokgYl4fDBTLawQlv+dAI3GaXfpGcX6AiT5CL7mJYMVcPIP1gLPBLEQWyfOOc23ID5u1z0eKI9UqgIneEsQ2AwjwJliIYQYzhhyxIwKhirFKTwA7\/q2JZPrg10fmR3DfCmOc0MyTqfFDHK0MkdeXQgQP4aGSGUIJsQchhJtgfy2Ex+cHe4Wg1Fx\/n\/ZC\/SxBgLgh9K8wBDLWPEMDzMFzU7QjCNL+m5BinU8QMETwaxEiox2N0MiCxRAgYuc8j2UJoArPWqUM1NK9W1PgA5wHEdj1\/D6Eegg+ZSGAh9FqCF\/qwt2xTEn8iu065RIoyp4rAQKaARFJS28pAHrOsoaBpDIufEVvvM0SQofzQyxaqYxFsMsuF8ROhg9t\/IWMttLwAbxGbNfZu4rjAwaTWgh400doJ869Oc\/X4YIfwZGlzmCFn+RPLFSEtrUFBT3AyD2U5+cuS40fIYJH6CO0ORdHDdcAMp8Cgx2e8El68EFNwR6u+ABTC4nIMl3ihg8veSxCY8LXfT89luT40Fe9EmAsD3yS37u5EYS2VPAB+mOILe3cb4HPBQQvds2m4vDY5AwkFjLRK7b6FjCW6ZM2uLEDNAN4rOw\/8Pkt0UNBcCnpUNJqwnZmY4\/\/gZOrl5VVyrJaEbXOli3GWlYx79Oga+6nqPl\/B6uZ\/JcGl+UKI0A7fGyYLme9Ry4anJyDXND4gv8dXC0HrESl\/\/H1NVvY2I\/t69ez8jZWxLusqdUnHxwRtBM3NPJfNkyi7UPrHzpHFy0CKdB4wj2cL2TaAYivAHz51\/9oKatlcNMk2v\/uYx5dZctFH9mmgMvfDRE1uti2WeBLP\/dEI7QVh9HetY07wPQzf39qdmQ4ZRxBidbk97BtKRm\/8LUlL3zrb8gwZXo3bOUVKxy5A5a+950pu5xVv\/dTYtksvu8Hwlu+\/PKvB0wZl214GV6ObEMgzClx7dtvY55kBY0X6I+uU4nlfO2P\/mUCgsR6MABFHyHam\/q5kXH4i+LZYJEVy\/4LBYUlJViY1qdmbgFyM1YA1laG2Inf+iOsNQIs8yJVa1MRBZ1RV7bKC7q4wbEbH\/3gvtNJEGspsz6umneIF9cI8b0IIGdWS7cS+LDrRakANxbu+sg5gFtoLWQZWYk+z3W2SokXh\/w3MGdtXcyMux98X7q3kKxZq5gB1ioA+auWrSP95fZoXfz8OXoLf4p6qqklrWJrcIU5hXM\/NX0AM2JNYYA7NKLzG39tIS\/\/8C8ueod\/PfW\/PictlD88m0SZumF3rT7ocs1HetVcuBICBaa0+Phnnjx\/EU8RWhskCGEC+Cb3+N6XN9585Tew0kYVVsj67OMm4e\/a4SF\/uHSVdMdwzUmvroSqTTKY3vWWB8BccSYTCgMK+Hpb\/qmfstE3\/IXR2RhgfZy6dVAt0fuS+4dRsb\/+SOV5aIsO\/87diwFeMSHJHN55ZOYiyCJ0JuoBqAEk6ae\/IP7uayhfvxFAgAAzXtBSxVpyev66IK9z2CwCnLiyDsxoLv7kE\/cJt3ImEdAAB4D1K2L0I79xmt\/cRHUEloxVsFGXJOQmfHXNHq68RxrCgRtunJmWy2PVczBzQPFfq9f0YfdsWY6tA1CAgRmrsGUDxMZwZS5FJk5f8uHrgeyrWDIiqE+vGrzohvP9rQDgRgRkzszElbuKm80ffM9tOyHl1cYNEATAV3v5gj\/ZEoPffSntInBDZozlQ54l3TZ98f2QKC8+a+XWCGDKtPk3ti9\/9y+ZNn4BQMEMjLF\/KCIz+6HHrjxYkjd68SRA0ap++TeFvuePYMt3Uh8B2ZggVg3g4ZkPXQOk8gKhdFmYwArAOrfyxa\/cKI+f+VbqEZgDxuRRxRJc+Nj7DjSWinIxsUXjXWQB\/PLmYP0\/bRNT22kXa8mciWagxNGHX3\/dKUs\/KBlEdLXvzyxby+MXfqgx0O84nUWAGxiTUBVLcM0FFyyly3gaAWwtFfqC2aXGy7DZfnLkLdM2qhGAG2BMWqXI3HSBCgEx+v6vauKn\/\/ZEqtjEKrR1oy0rqmQmukWZV0Dg\/rIf+q3N9DfjDyLpNCbDjb1jVit+6HXrGLnMexBz2eFPW2XxJ1OLUwMm6H7oKfYzf6EpY5LO0T\/iG7c3mYm6T1zLZTFht7EHaTZpA845E\/iEkf8\/YjiQK8BZzBhvafkC503hIj4R507c5Bhv4Xduyrg1+fV9iTbxwqWp0tbkv3s+hQdrJX3FhlBnrIX\/3Hiz56eLkyZ632zpuYs8SKM56msj2Y39hJr09Z9erTOxHp95XPhPbnDWNKj6tp9KCTYz3XhcGGySJsIEu2XJRHtblon2mPhi8e5jP5p4k2oQZyI+kMvGW14503lTnRPwNkacArmR\/0f+H7HTHbiYGOct7NE3DLhnZzNu7gMT7WEz50Xj7aJtJQasRdp1VnL9lippsidmzNUX6l5+9GtbUWHNeOlvT7iCNVxffaSbYJetNAGfRH1Grq+AzRw+UwZbM4I\/U0GN\/sW\/jmexTt30Y7jBBnAKiffE\/wXXJnINhlvS73\/3CDfyRRnelb\/beLOJO7\/MGzAE8X0l7iJ4F+wlcM2uRbwBXhNHNuCAjNzjcuD+g7jqcOHu\/BfnTXCdeE94CXCAITfy\/8j\/H0nZkMvANZ0KXOgh4KTDkWvIFd4iL+\/jrdnDt\/JmejFwU5q9yHErduWmghsyE\/GB3Mj\/I\/9\/DOIgLgw4s8Kb0tz5ctxY26mgDWxMxAdyI\/+P\/D\/y\/8j\/I\/9\/bP0I4jojbseBHLxtfMgab+oEfARxI\/+P\/D\/y\/8j\/I\/+P\/P\/RyFsQd0Qh7p6lFLQFD60m0Z7442Or0RacuCcHbWK3TO8cI94dgaJ3kmbvlsQ7iFB\/8d2Sd5KuOy5SpS3rW35CmTbp6BNkvCk08v\/I\/yP\/j\/z\/MSOdxM3J2z8v4M3rr9+koA1+YUL2rowf0v2\/rfWI81ur8aaH+wm4wzoBP1xz3spLd+WGm6+e9qYct+7xv8+g1dJSLddcak5btP7P3ZzaIZjk45hWoqVSfvZLIh2CjWmrDTCkfMX5HzI75JKd2PctPn5psfUz1pD1kz9UXIfeskMP\/kwav9T8S3Mu\/EtOTpYOwca0TS9NWED0FKZDcsnHLq5XP\/ErTKCQCfLwTZ\/4BdMBaFWUh9Y++LmzattPTjpkUv23WdWWvqQEZl7KZKmsiPNoemUltRJoiu7pG8KYtJudIp+4NT2MTdzAcyK+Qs6QG0uBm+jMd7dCG33qOAHv68QxEfdD\/4\/8P\/L\/yP8j\/39YYkJunbg4eTnzphUX8Fkj\/49wrkacTcloi\/TsM3LaZDufL402SCbgFcT9v\/9H\/h\/5f+T\/kf8\/Dn0hNwQuLb9SDbfIv6WEG75ZvMvgnXLcwKUivkaOyP3Q\/yP\/j\/w\/8v\/HnRjEpY64lf3AlReusoqblDTy\/8fFGsgV5FbCcGs6fWd22qR1F\/AWpEXXBGnrvBV5\/hwFZQ3v3e8CpcGLFTPx0KIBquneJ0qDDDZSjXwwxHnU5HaLDLNuj1NftYBM0RF5eIpVyGx9hzyuv7BrhCkdvB\/VIu07e16Ehz9zs3Wodk\/enhtgcHsxuqv9+eOp4RV6+oOLqCvythPN+cqX7UpBz5qv+9tuyJaW82f\/KRV6e5w70zlZiuEFf3wiWKFw7aWGc1MKMJ8\/71VLviKIXb1NOYckgRVAyaE58mc3mAUrt\/nXI80FFbUs0fPm9OybPv90CvEc0gYOm8goWvKKGdXZQgzO22UazH4aIBWeW1JHmKhGqQ2onrZWXHwyKQZPnrds4c\/STiCJ5368j08mVIuW3GvdJ+914YfekwU0t9A3OaCG55ekE5MFBWCimqgvuSB8+v1TAZF23e3CRkE1WUvREi9I0\/mCaYwnqxV1JKPv8s0nXLFx5rXrC2Bzi9TNQGa1wgufnhtcY7imllnx8o5hxNSdVwHyk9eywlxT0FbtxRnDu0+lsZgqRQYoee2ItSJdd9fGAijvuDmH0lFRdQcsoiZWT3F6+2liHKVKdKVK9\/VHkmSzbx4IUHpqnk4T4F5rWL2HXFIYK6u0zCvWNTsycfotz+QAn79xRH9LHSqGTKz+AjNinKOaopapzguUpu8bCGRzb5kDYpHOhCHUEZyBhYGPWVQpag1q3cdvmlIMpq8iIO06TP9kqoQ48wcLH8U0HomKTBg47bkTLmQ7zh0UUH7knhz4IvVBR6PWWnPXHMR4QpVABihZpfOSfUNJH949CORzI+pJgNVCHWvTjJPGC1Eqlivd87sGsmZ4\/l0ewC30Nq8pWDOXSA\/fi53VSTXVEvXDi4bso8eSQOv2XJIC2RJVGwgoqog1ebl5iUZnWWqFKpkVPnXFVCA\/euEpl+lhOl0AZpUQa\/5EaRieJSlqCZBRPTnrUPLMa7YUUHrmYXpnMJBF4WxTDO6ao5ydREXIWsrUTyXFuntuMhGDT9\/PClOHWsHZa+HAvZDPJtTULFc6ZbN3h1C+9eocMXz0GFWTtawjOs5+bYry7EJoLSf1czofdIh091UpgBg+eo8HWKE6qJTgbD0KD5T1xdZSUVGHMv0X3zYywI59IAmlI3S70RZgocpZvQZxN2viiFqu9FyaEaClt+wdBLb4GP3drBbBmDFG+4THWqTUrObUnylGDO+73gPQ8PGL6J+sVkxgEmNLT3lJaW2gSkRLKdVoANmj1+QAP\/WhBjR4doFOx1qqBWNTxejKRyk6g4Uq5pXuu0yA3vNIFvKnnqG35Q41jGvlPOHkOIMoKlZTor4UEFM3f24YKB37KCtMFYuK1DHOldE8ctzOAGpqySulorxj7yCIqZ0fFMgPLlJ1WS+pMl4We18\/DWUVUtTc6KuZQqRznkkCYsOtT9F\/UFGhqtp4OjIPlEBaDSTAJIEpWY1FD3\/inAah\/Ph1AXaU7lxR1FQZkxf1vvMeLF5EEbVk9L51waCkD9+6vvjxI\/TOXRGV8XySrrrtGNE0z1ModTW1VDPqy\/tNZdPNl+SC0tHL6J06oqWuMX92+\/gTDLI1K1Lpk2k63GtLSw6RZu41gdINd5rIsyOq7pVQSx2TxXAd+cBlV5DySvo\/OPcjHVxZAPkHDiSIwe6j9LbUMhVVJpoS+9\/3ex\/7p1P9ZPv+fkq1yNct\/GbjlZMXBYAF9VxTtMTYHlZQOCCoaAAAMHsCnQEq9AFlBD49Ho1EoiGho6ORShhwB4lpbsS6eOA55Vm548\/nedbzDbWoD0KOe2k5fYn8VffP06\/LX0Z\/I\/vH97+XHO2iufNfyl+6\/xHJnwGvy3+wf8D15\/m\/+z\/ev895hNwvQR9+\/sP\/B\/y\/7uf6z4PvrP+z6efaL\/xfcZ9gn86\/pH+h\/uH71\/4T2uvI2+2f8f\/e+4J\/I\/7J\/sv8F+5n+H\/\/\/0zf8v+z\/zP\/d\/2HwQ\/Ov9V\/1v9l+Tn2F\/yv+of7b+7\/6f\/2\/5\/\/\/\/\/L7vvZ5+3nsRfqz99ZBsYJPYKF2n\/XP5ONGegPjnUgDFl83jzZ6J1GOg5cKG1xgk9goXaf9azBwkG3QXEazQ+FG1OS9ZFXaf9c\/lBy4UNrjBJ7BPO4korL9Wv1TLIMjS1fXP5QcuFDa4wSewULs+W\/w2V8UIteggt3c52Cxgk9goXaf9c\/lBy4UNMmcbW3I7kmE9lyg\/dIceITXiF2n\/XP5QcuFDa4wSeu9bjfBfXxU0zE65z0vGChdp\/1z+UHLhQ2uL9jULyC9GDXUoqp9Ve02q4KF2n\/XP5QcuFDa4wSeuwS8ZX7\/Fkud9xP52QHT+jYtBJ7BQu0\/65\/KDlwobW5v1+fPCISaY7XVmPs89nW43cyufyg5cKG1xgk9goXadHqhQnVMoOh8uIMFsY5fY6uwULtP+ufyg5cKG1xf0FTVnKYoKA+tK+G57jnkFWIUbnYKF2n\/XP5QcuFDa4v1VtoxLJF94HOea9FO3tQC3NcYJPYKF2n\/XP5QcuFBXwS1TJp54DVafuegsKf7EsrsV7BJ7BQu0\/65\/KDlwoaYrtRXeXj09Ze+IXtpfKDlwobXGCT2Chdp\/zplbMAWUZu4qPQplQrs8XNRffShdp\/1z+UHLhQ2uMEnlTog4zvxjtHlt\/jiq4e2Lx6Ha4wSewULtP+ufyg5cJFf38tP2XEEP8lUh4DjC7RwuA9aewULtP+ufyg5cKG1uSutD\/Px0cCLAZ9HhTVHMl6z1eO8c0NrjBJ7BQu0\/65\/KDh05VURks8BP\/4iuQvErPg\/W8MxtcYJPYKF2n\/XP5Qcr2javQ3iHSv2zf0\/V62G5ILab2mUNp+6F2n\/XP5QcuFDa4wSX\/mlAIs6EhpQYimOUYNVkA+oUVqy6PO0\/65\/KDlwobXGCT2Bufsuwsv2lWmgleWSD6VJwmdpQJrjm5lBy4UNrjBJ7BQu0\/604m7\/yN+XmWjqp7dCWC6qmaYDNyHoT+ufyg5cKG1xgk9goXQ8fUIdudSf9XHE9Y0VkF7BR04PJMMiZ9P+ufyg5cKG1xgk9gdrGZrHmujALheOFlm5QC9\/HgSpa6vrn8oOXChtcYJPYKFzuNiuancc7MCwp71xxf1Aj\/FNKOyOFDa4wSewULtP+ufycXhK69NyyU6nathOWejh\/0QG8GUOxMfhQ2uMEnsFC7T\/rn8oJqlW2yp+1mNXippygrE6FFEsSpHpD\/qcJPYKF2n\/XP5QcuFDaZDKOHH2KTvcZ+G3WnkzjDYPgONk4bfT\/rn8oOXChtcYJPXYQi66SN7fEcowAwmMPUip52wj76f9c\/lBy4UNrjBJ68S+x7kEM7sQ6dc\/6gSIR0Q0WgIRPQbYBfspL\/0b4se058V2uHibhvYuImzT2ChTrKlLIBEDD7+komU14F+8sQibDCq2BQbMJdpZBJMJaWt6\/AIN7lU\/Ho1J0wrVUDHsVjX3LYAjcn\/qSu6mZLT8wuvVnoLKDN8rtySC2cicbJiB+7QjdVQDyObbatxhSo6Y+ACWKQZ86+InsZIsofcg0nVUrkKjSENctfPbsf7AnmZyP55+a8rWKYWD2a0PqrNpmWvz7K6\/TFCpa3GcBchdlLR522GoYVlvprlfKoUgEln\/Xc+BPouG4qta6yNnZVaQOyvff+2o5pABWcCAF1jj3kPhmWb\/+W4QVURs1xqAXYdDW5crAziYFvKj6h9GQsq7yFvN0aiLFsKEvdCsKtSEW6j3Bl\/j7PL2b3owqHlPBiH5uRbR3bdaq1nGWnsvFNURV2dy\/cLwLY38xe6WIRdxRBMiexGnO19i2rOsuo6JX\/\/rYD3UK9mDMiCnEgWmJH3KyZVJxn5UY3tO5v0Vcxf3x0nSjZEB3Qe\/BXOdwyNp65N9EHgF3RfYs2Wz6c0BAdEbp8JSQ4fKNSNe3GLrLc91dJL1cZZCTPJrZ6igLojQiWXDjD1u23uHDzl1\/ng+mWv7apXNDnT6NWcg+lGHXo+CJdjHzM8PieFNrYLFS0LtLZkLmEc+rxIonCN0WXTPouj+WlO+jgzo3IygFF+TuPhWXNjtZBgFb1EPN0XR+Z8nrib8kgvRcPYmytBgUaRxHNp3ycdB6y3yNAkBha8x\/Hp3WpW4EA5js7\/3A1dTd3mrJC7TxGks+rl1+DcqEEA60FdYbG5rDOip2BYTCIt7TKE8ylSJMoFNBGUhy9XlnyXVYBU8lOR9tKf8IdJapolKTcsnJAqCbIvTcxYXAy2wRIh9LbKM6EsKhJjACtWVgBlDkVls5JbXySABC190w5u\/ujLFKaWYByx7HFDsAi3Mp7mJlP7cHrTHjoAzT0f1QQpe3vtZGO+HG8knz4GOrK5aj98eSl6Jtm5uB4GBFW8qwl2a\/W1FjIZV6Qsg25voszrWP8XV8hDVwhSmyYigzrFImUNHoOnTWniysb2fdjoTTMoQ728UpGAUqs8OrPuwXFDv2kiJ1Z4esC400cg63aZwgmrKRiQYAtTG52KJWL4Xo9F\/GCJGpIhM4K6uBlRzK2VuTu\/55JeGi60xwxUe25k9XzTZX0ZPyjp8iHWXBRQoviFlyA\/PTiRS4NJutQF7Ddtf1O1uczk7gJ99qpiVwAFArm9fBFAdh5QKm2BU+ArJKVo+uZ3XEpq6aj18kMX9zYZ324arR\/zFHHl1RyikMB+J0JpVab2ohcHYUhNALYeblr3i9jdaiNbV3iesShp9fDU8jf\/HP9m2nz7WKyQ5Dfvk80OwB2xiTdB91HwxXseeklF5+UsZ6XmlpCv1cs0\/yF\/9wp3\/hBkPFA+gBGfN+lVgZqZTuZEKQd0FbosBlr1ILRTPp8MX+\/idV5gvfGFHe+PqTiXb0SIlzr409eOSYHhI0HLSQnJuyScMAw9blYrutvBgDaPiIFOzyKapeWvjPcb9CNidcz0az0NNGc9l\/LEQ9k4EvmnoNxp3923q1JLy3vAsUAjnQD36wWmAd34dJTesvIKvtJ7BCj+QwGKwMZbDgW8Ap4R0I1KrbKbVzQS10cpzr2\/Zp8ipPAZHT9qI8M7mk0eetHJtMJ4qPZwpo7x\/x06CBAzUJjFGTEc3qgxvSwi0Nmu1rhAbgROBCVsp1\/o3bJT2Z3WlRqdP3aQKq+IoF4QuqJHLZr\/A7tM\/PPRlG+8rSdBTwlj9f1zHqncz86BHPK\/LW9j9rE0Lrp5d8gIAs7kckN0dLsQi3Yso\/lJe343rvxFtNvUrbhIeyx3R+ia\/qfewBC32SpREODVzH107lYMBu6Nt1aEubXgbtd7PzjQa+HS\/0vEgfVOk2QVmxRFTgl83g3yp5bYNnIZaCBl75PkKS47v9Ne6K96MaVS+YjheTY+WSOT4QEwkFX8xAnaQYHnP70Ptk+png2gcvUP4ex9wd3vPkpx9Vm0mfkNJg+3efv0RmicuL4bgrDrEqStKcD+8wrzyL\/DeNeo99tkHpQg97DX5FL1e3vCKEAJ74NBio2jGECE6Qs+a3OP7DUs3AD6PDqiSriIRaC+gGMEkdARFf\/Fef9DGmrwSLIU6mEM+vkUnNuUNAmlP\/5P4cgQIH9R+X19rz0EsawH3QjvIGMJrmO8L6YpOzTgYXqFTTOCrJHuJcT2efJWgPar7c1zDvGs6oLCI1rBgR\/875VZmdMOPjJb7vKXQkUCmb39B+7C9eKLRxT6CXtTGjFr2IgSwdFg91MiS6UMp6Kyc1ZnUhb\/1rlMGJkmpwnw2qfvLaxXiRf4P6Lp\/8p5pQo3p9IEffSGTqiD9\/8m8ITMwalidNjeCR1Fe58ABNJMx7qUS1Xi5lZF7flL7dOXS1W7ZGO9w51vsjVVcKwHijgphaczD9BURTFbf7qUmB11RFaqf21YHj7dpMLROMtO1sGI45w6Shy\/\/Me8r2p8LMp7H8rEe48Y\/5EPxONwZQQK5JbXhFnfIIZYXxCNwL4gpeJkIF361CxHaJCnM0KnoS4yUx8vU0RyArGk6p0snD5S+oC5mRdqULIpjmT2YOH3pnQrFATRouVFBIoQtqbvmW3rgZpn4E4o0lHOf8cC\/37hmxyoDBXkGbdq9Yq2DVwV9FV5pX+K7kTSMqFJRNZ3h76GYENIXsM+UJKsFlETwBGp4+w+JyuHdVXqzQiuomnuQhguKHSUMWJgqAtuxXTSKZWQhYrX8AzoYp6rGmeAbthpf6wrWSA65XSm0xRZSdVCTx5LtbmrD0CfNPMC0r5GjTHryoTQTZEs\/FWkeG\/x7wa60J1KwkL\/vwD0w89WTjkHrt35AsOZrauxTwqFBkOjXfx\/a4G7pJaCCZq6u+QxRwEaPh2yLf07VGkidxE+4fB\/CZ544iv5AUARZpbXVvqDpYltvGfzse8CpUKzR3Wlp8B665MkXBFKVuYuLKafRs9D9nKdL76gCuiMFpEYBS+4iK15zt2hCD27HoASpncBAyGMG3XRbnXwPFC+MZQTNm2uH9cJgLWaCnk0W5ReK4PXWVURhhNwRxOPE2hOih3lykUwICufvMYDOB5QgEW8uSxh\/JUaAjVOFVBNo1DUb1KxlEo7GdNXtB5w1+AGWHIyiPkTFVyyNhDMygitBw+piLpgRrF3gUPY\/LMNtZBBmbcG6XGpTL8Q7X5puJceGSpMNC9Khb01rwxLocN\/SOFxp0IB+RKNfaqbjsFLJsxhlaLJV\/IIpJ8RrQ8HSKarcv5NPcVD3kiyl\/N8hzXCXUIIArr4SXAl7NRtiJy7Au30VyO2ZJtMAlEWD3doUdM0PKDZLkMA+MO8dIdcQONpMI3mWwsTtQc2TnWYzcvAij70vi6162eiBDvE\/PVFXoDNeovw5RSjnO0wzOhk\/66pe99+MxPNMpYS1RotgpoJc\/Xd33w8fYq\/0giYcWkWbb2NSk1Mlg14Gc59I3eeZsY92Voogmk0sJFKxArRYQrMvWDI2JQRusEZVNXh9CUMbgUaXr1ypLFSldtdRWhr75kbi0WYH92eOWNSFgB1hOiWewWnG\/yeliPQmg3PbpZJpaJwsZF6T7V+m99\/Z1JvYPP2RqSHz9rTbvU3WYrH9C1rcNhHe4jyK4krU5pSkqFgHrsajk61\/2MMfTPJR9zINGR99aMk6OKzTSwxIpoTjFKBOgnxy\/o40iAHvWvg0CXESbSK3Z29\/IREn2x7dOfpuMbIbVy4diyFAtk0B6K2afaPl3qn6cSebgkop2iiuHv8HBVooNMnTSCtUZkNubGnlE5RrOOp23S3B8MCnFafi9n42QwL5qNE7jBQu4BJGlnXycqyHBdto\/icMcwjgiwQ4OZrP2rjfrdVNLjggBBhjFbDwZE5TsOcDRRvxyW8CY1zjYHbhQ2uPbhq8rCvP6H3wHyr9VMN4wbVB6vBUM0ed1vMbo04cv2ffTUiam9NCXIa2rznBcg3hz\/0fstxQzv1J3V3JuSdLP99xX26seIuEEONbvaxPM2AxeRR6RhnqLKm\/+2djtr0R3HMLsdaa5VlEaHEgjHIZ\/3cyvOdty1qymiMXAOjpipXjBRyUJDM6\/hir\/FCM5MMWiPIxvIPecO0MnaIEss9Plblw43lWMe\/PEAxQa4vJAxvd8sevaBngTNEJQUgvMP3fz+AbIU52KlTUMr7u9x1vA6AG42pWRBQ1EHLOm0ZXu2iKa\/4CZ1o5TZTk+sl\/j1WRNnTceyqX4zpsaFUYQomy\/u586Of\/ad1ND8lbU8aR1GAVpOkPIandPG7dPu5kjxmaRhtGECMumVacpijn8qsQe3gC4Uw\/9228NXMXJ8TY2qv36fFgIsC7puywgAK6SA+UyEyHZlXOFesbVfwRqJANFSWR3kbbH\/fX+JRKp200otGsgErBn0omBOb+ysPemwGN55\/PdcNCZoHJm3CrjlevtZxmErKyKwKQ6eJHTm3Ic4V8fkiVT8HvBzlrcTLhiwBjCMpao36nDXJ3wDYv8rAu7Qhx5DSsbcaPFh1kkXlNG6b4bRhJhFVamUKUvytvnEWN\/kbNLPedP8T2ei32kPgj7qz8FwE7lTqXAXrO1hvckrGKBRznWsABHRi93jIq9HrJQruBvcug48VI2SCCD\/mrfpQlaDExT35nPPmBGYJNa3xtdGfbeMTKXc4WQCYi4jMSWSinRxMhbNDs\/t8tp5SRB1LSvwG5Xm1n14QnzCyM2rLU6yrXJ4d5fsYXYvCRekb844rsLSCOvIXQBN32UEMtSH73CZ0KFYi7Lf9twC4Q6YX3zNfRc8Y7ZC3exbYQRDt4K0nPASjj8AdBzDZbMWG+fhiAfrOlvpQViCyvlgNQ4ORZ1w4OBIokYpdETFNjjG9NYpqu5bV0LoTn\/FYLBu98yH0lVX\/Xt3Jh1J\/kYQvy83mOSkz84byCXniMwLXM5M4cucW1dfVAUq2IF3z+pVbjeGHzyUTpBAdj2GIGg+Dt43RCmz5Bb5CJmqyOFOSwcQmkGKGuEbsvp5p6ozFTyivAyDHOQ+9fuYDM22JuRe8Cg6\/3FajNumoT8mXAkv4AR80kMUBb9c4VzKHeQHIDnwZY9qT1UGwk1s\/5nEOdT8hnOwCROvo1uq1PzHPyKUBKAmGwULtP+ufxQAA\/vR+AgNCu0OylPfEN5s8E+N52nGWpQmriscesDnCAHQqj0FEXYf8Kpuod+5FJPrgCdTYHeY5ct+G9ieUaewRnNfx2qUFd\/Td7QPfal1oZCRKw\/joLDz+x6C810w8OVv\/mxmJ5cl\/jPBKzbF+2J6+DdQyIBuxURSfRl+n9VCwzzRSB\/DFcUVkPWLzF54nVwmnFHm7EkwooAVPIQABE33ANP9pwFCBW554Pu\/VkDs2Bn2Xwtbi364UuRv3nS2p7zCCEmddGVy6XJX5Fy2nIWUYaY8Pw1zPWZ3075hdvWPIFdsxW+swB94VKJ6ajZXJR7s86B0WkPOcKtHhRlN3SF7mzfr+nIu58WDu5RkjNRihO1em4+C50NnwxNAAQyyB9du+YYoRah4Id0XpjQh6UIGHeSCfROJnGmA9gNm3erdTow4DVn2Rxg4R1wow833GbXgZrKC9iIbGCitag9OuDajH4HOBmqrS\/wuCnaE6pcXWiQKwTc0uwz2Crs6RNdsHHxtQYN6f6ZDdKcbg4CoYqYTha4AiqTTWaB4BraCAWOFFy5UwD8ZNbWegZ7Z\/GbhdzB738\/+03MA9TBA6R4XMs4Zni3xsOWVY7QJmpObI1TNOS\/VuCI5EOalAHTi0+8XyJla21d5F2bgnk5Jl8tI\/z7eAOwKDEbAD6eyADfd+LyJakSjL5I5prtvf63BGcSl8aO3E8SJ++XkZxOBw+G6Dgx8adqiMYwo9vwN\/5LYYCCyoRmxMuJjKbVk5relvaWAgEqRFsu7gtGCUDJnFvFk9dAoUg\/K83GVT9NeFdSiMaHWRiFPQDXQcdF\/lTUNIlDTsiTzpN0JJqndOx+DXSvExQEmiOIP+xQfhMRSwmxKCv6qa7yrLN9tO5aHkkdOpK\/e4rs437v32gcfZ+yuQXv2jt1S8BkXzgcSUlBruAAX0l69ohHN3ME\/HNzxTnu3GrvJgd1THFT2xMAHsUC21rOfyjrOJRd1RmzPCNYk8iS9+9Q2FeaJb6JNdwUJiBcwK\/dWPXlR8KVDt8Slr8kFV6QW86GckjEBrSvVB39cD4O\/agzQLOUdDMbPqLlCqeofH7ESQgcqnO+rctekkPmBb5uOR5xU\/HM\/aJ2KAARtYOglXe4tCEEfWzNn4GqVkqkvckiu4TYmVx3TtF44rsPWv+WV6rnrLLFyaeCardIf+kIlOqBeUdxNf8U37tC4LW3AfoEmz6Z75QJ1jvE1epHdEXsWLM7axLyecYejyG0UupGzu57eoUYdD8QHAwGJ\/xkaTrJoNzRkyrIV+4G+9FruYh0XlPKGqYxzJKOBSSv3EkFgBJeOFv4qqZwkSa4xJGnvysM9KKkajwPd9nC\/xM49Iu0uTNWAhGC\/dVGyDrTbrjhk0Zgylfx\/i+KImgeTCQO62p7YulMdsPSCwd4kyJFr2ofMeKVc\/3ucihHzCnJyc8W\/7uke4qPXL+tmrkO7OaIveSyrM6RZAbE\/25nOR33LZ+Ak0PA02ALvdQkpvgf7dXpAjdSRLMlLgAz\/vAza\/yzfvvmQJhMJqV2beUawg8+t25IUIABv0kElxr617RY3naYFpHc6KCdFS9MFvuZy\/zRV06STuM1fxwlKCYd\/A0KGYlItOXYbhptV\/nOnTaGNiqBQdIGM2qNozGurkxLqpT6D3JtLkMtf8c71DvuPChpYGZl22RfvTzKXidF4HugKT1kzTctshHX1cI297vOy71zVQda0IDFTCjS\/ualq+oAdY6HEo6eIEwfh7oXbqDsmw+sU9VA2DToCSWGN5WRvlALj7YUy424TxNAaBDUWJ4WfSQ0TnFwVy4oGe6Zdl2mFv0lvOFJxjHfy0x8irCScIW+XAy4e9xsOZ4m3Xhi70tiPPgC32l08PzdvwZJnpYib1sgq+f+i14B7jC1BJ4yaCoAaer0doZwCenpSIQSPks+6NxQSTN7UEwOl1U6Abu45cIcd7DfPSzZgAP98Jy1BNHX493wrqpNqu6gSo\/T1Yw\/gbOHRv9bcTY\/Mo+pfqgZYESAnLwSvArKIGbmtWTDMDui3hWIeq4YguDJYzzDPbHIdLMGan3vrqQOCFzmBe9BKKFYz66OaeQuuVyH7A0vqEE2LQdaTl2AOtfHj2jJKDpNj0Qkq1jcuo9EwMnfveNDEaJjR1LPN4SG8Mfw\/5qW8JsANVUrVl3s9p+hUWGMiCIRvXYwMHxdfRyzkTErB4MSc9pCO51f\/R9Xlqo\/tFS\/Z1rLanBnRtWZDf\/3e4RU27I8NHnnmKDbNMtgMM+4z7oeVKyisE2mBQT5YYf8SKiQJyskz+o6AvAPP\/hfQBKhmA7aB2jd72TsTvzhX0Lir+Qk5J1tEMB3gU5zG3lHqH+D016Kw7ZyaIFDj8wk2XzDJ4jfzMS\/aKTcp9Lg0meilO9swDXnvTU6fQmPm5tYhKsgpHo0bWOnwYTZVEUAjfh90ittqlllpkTZZLYj50XbVvmuwGx6h5EYIuYMqwXa+fA0oozSdP0Iaxec2TvxuuEr49wKRpsG3sh16JBm4AAsrLMjEnNl35Wb+8gWP4ZKvUCgIRbTKjWXf7l6\/3dP2pzmfB1zSHE4Q4pRHjz6k4GhJHAy\/P5zcTlzIuNKOf+09H8KMLfRGApeCN\/H9uZqiLlzewtjxoYAE+x92cd5iEy013pQcT3y5w5RdzgWOblWv5wbHL9\/JsLV65nNH\/xoRNvO4naOWsE31Qd4Tp\/zgzrFqMF5RZha5z+h3i9Uq6avdeRRHH+YTFozX7r0L4eER37AC985MdVPd4V+t\/7Bw8EaHLyUrhUQJOS1MnFiGd6QXIqsSo1zhbjd2aBmKXrEDTVp9v0xl11qC0bt7\/ybnoaiqFMdwDRz4pxcYWZDwrQPOC7lBD2Jojrqww6N8J8j9GjxzIc6sXp8aHj4S0vTGnw8e8UErHYO807\/Pfn3lrlzMabeyq1fKipCHzH3fs8qNJ5w+rOcpfbLTArnHOLwkJrFGH\/1N0guBRdcxExswAVBzeoCkSzSSPvtwgmczldfo6GzZWABfKrCsO3vCd\/+Zq98AdfRn7aPF9\/M7Qt\/QCWUqhigERGm5\/n8rCcf42D\/Er6BK9VWjpTVuBYoXYUztWQQoKNwQDWjlx3\/lkuibiP1Oqgb6GzRxK5W94Az+tcuaIEimpAfd12snYR+LAYjhdgdFt2tYoWfH1t0NN0H99CcGltnY1zrsa88ABHO7xwoyK72EF28m2LofCxHb6T8F+14P2xtZ+43\/8fiHxiMX\/7fOniXEBj3SvxvQQftML20GeIahiZ3pnOnf2\/Q0EeiqVBENQ34f1U\/pLIw52I2XoD6ZmtjsMPj8JPLue+KJrQNX7pePbYAqdJfx2GeroS9DGf6R6MFxGh7e9\/IP0dl4VuKxjKYrC9eiuvvjZxtH\/Gv4vYYoE\/bYZVjv2d3WKp6\/en5q2AD3KSaaZEJqh6S8x4vIqRrq3zAKYvLnNMH2bMy8X1i0x75bdniCZnRoIKZBmXCdIqzArnGNWR4ULAvpVl+VPmwiQA99E7wNeJyHpRikRgakl+gpAgAXSW9QPkXi7do72vPMGNKAL6dzHvPbFhfEzn9dmWmC7GBIF7Sq1Lwo9sCXKr+8vqJC2knfrGZkBdMrO5dOS28tgzMJLCAQOJFBBK7yJuITB9k7ZIYfoACZC61\/iiY65aaBtTAYEfng8Z2\/J6HaQph1h+uVo7qdbqaubPWpej3Vbk+dSz88nBzyorxFX4wPKR+Z9s2sNwdj04v72vwpiEPw0iOoMPjeOhyAq+Fma1KRBYNVOKypXD5CChn8nR44gRNXXjDwvvDQ9xKL9IFg2DobOdD+yuBz5+r\/Tmwh+wGad\/FnW0gfjzJu8ebe2EqCZ714UTmfsiZ3MjUPcZTVrC19FVDlOR99zGR16uu6iAPC7th2JsunN5PQ65l\/zG\/crW5OUIsgK+ga98bIexyd5Z3C5kjHJEeAw6NzCOEMuCtOrcLp1KRuc+liS8kCV1YD\/ysHsyljRbx8B01WQp+EnIFiPtcV+tEw7P+w5rs1lmSnw9yNmvlXozTn27t+1pCPiKvmRXTEzvhW6KAlDqHbrV8dHftv8ZWkGKFliUfCFi29P0\/ST8juGiCe\/VoOuP34iJi3KdPuR4etvTqYvsuI\/KmoxyFlQBUJzzjhQll4SgLzcDb8AyXCuuGRxyQFYK0\/ukBdcZERFyvozh75FgpRCr\/MykzRjqb9fYi6OwYWoK6LkF9wEYw8IAeEkTk4fvok8NVfIFBP0OqLCNWNGmDxNw6kZQy+cnVpW1+oIzk1U3pDZ0exUiXWmDK+AGMRRvMBRIBVuKTXMVHVeeN9S8IsReZY1IJiuhUB97GEH4e7NntGwtO7h+ZTIaCzYo1geyCbt6XhQK3sI+LOhw7VLx7LAsFzUp8Uq09FtlaYKGzswTGX0HPsjGzk3WRiCYa5F5IOX1RWytTRZTgNCFigAhTQP9dcSFUQ0SOICwvTB88P5jCtPbdTkJqh4N\/C6SlBlN0sqJj68vsVwy6\/mLiudNGBSoLUuJ4AU0LyB8ior3ta2WJup5Vtkrma9dic4WN+WRCD4qbmKSW9ACATBGH0iQpVd2HVcEwIPxQeEf2CmAE21rjL4Lefu4p9fXwGiWYckHwIbje2+3QAEttmySoq\/WLrtByOHHF4rQ2Ividi7oFclook2vnjOjr\/ykFsiXxNoxgSz\/HYfrdyxCNS5CBPz2dx7Pf23FUeKREme3m9AibX0las3jekAZuEo4EJ\/50+PZk6GctVYmeMJ2kV+7mRWirmCYgMtOmMIgqhzNpk6AMzuDuJxxNw9alf3DwaHv8PgL6d6MFY+wNTMJOmM2PtmOwDLKTd0UCBGWwoEuF5xSZ4FhG\/OjpKhfKJpF9rwhqN9mxb5X1bysGVHHrgXfzoqf7jkAKPNBL2OTs2Z0jyn9I6gFlT\/XSnJ23fOpkdo04txgRfSif1LZ5nG71z0NJfiMfxVFeEAheVkMXfZlvYljv3QFJFLPBZ9i5ypESzAYOF2EhY8JWvISXtqF68xCusiZSnJRmj6z+d\/1PaAnaroHJno4b55ezomcTilh4Vks6rc\/lM2CwgOfBK9ee501zbzg67PaoMw7DWDDbkmGW9wPGoW7VgBhBZxy0c4CD3Fe6A064P4I9rG59+mAyElmLN7DkxT0iL7eONw9IOQmgLBDsIm9GulQ2C7VHdTtIzyQo1c8qptFWWtlR9nTb08yNFoqtJD\/taAate04hvuxaZ\/XQJehNeonbZ9C3+Nid+urf3RkuYl1W44WbN1A8EwedVBm7Tf\/FPupzPJUGMhXXIjoH2+z0BpzR89bG6wzKW038BFGEE05RPCC+8fWAEd+OBNDpGqBWIpYE69zoUH6GlrHAy2igvOCydqgdeQyfdz8hGmOYL+eVGDx64+0XUoSG0SSoEzBDMtcjRN9fhfXyHviftLDJnNQiA9e7uK8\/F+W12M7mnhqmbnJlZptVLCTI1bGUSHZCiKzqIQq3ZmJ1NOd1\/2qzIIxwihtqYLzBpWep3y8WX8y9ddXAWQ+kDABAIv+uKGIpTB\/rr7KIbCBQp2ws2prZX1vfmeNq3wYAMWpG\/nkjqnUSYSC61ySbEmQPejWfgkewbagq\/1N3gFFcEbq\/85W4ZqoN\/Qf5yFxC3QtDUvZa5mcVEZ2GEC2PMa1d\/X4AEIKBryZLFfz66Ttq4\/077DYQgqSBQ2kv7TVeKbFpCAH9X8+qjMH6L7P2qO\/jgr8xxYv0VFo1dMtGX9oP7mCHcxrMXALPDkifHLlAih9QBILpwA4r9YAU0A9MHJJhiqPVTZOXAJYpMYrqRw6dyL12p\/OFEhPMny3zHSrwTpUCUf6zyTlmm\/tLXyeX7JA2mGhlQHF5UrBgW5xKW5uc4W6ZGqghSyiYV8GVAvidBUmqW\/nBhKzgdN4qGg7c3apfrKaUN9twDFKxh+SLHDOxmbPFZVvHu6wydC5zp8un02fCkq510OGgONCcALbyKLSE5YXR3XPAeZ1YA6fMvpcXSCrM9RaOiRunTdN937kroJC57TJfcHLSIeACSPcrZe29ivJY58HtQMu7TvVD5mlICfyjeGueQbjmxG5YTC4NRLou+KJwP7kVJ4MekVm09MThB2NwFR\/5+EPzN2yeM6Y8J2Zk1oQz82sQusmOXxlwycdWprpyel705stjkkaf55zJPCmafPbWSw3GA3vmXq9DboQmUML6WlAwRhAqxlv7MTqVmr6sOjy1019w1nVT10tNv4MUmiAlsxJqJDsFVu+ZbbOfSm4IRpP7ze5ZqZbxzgTmHXECfWtviJObNafrpsZrKxrrJhHOzQ\/92JmUSzTh6abBrpIVGpra8DP3a8U\/jU6\/a5JSIwFmw7B\/17X7Rzc8UMUAVIrCX8RxSrH9mZC+Dr7MLJkImBGl1uUAXGOUav3xZH5fQEFEdI46fUf4RfGQUt5SXCKET2mGx4Cx0Yymdl1v240Zzfwyduis2UuYk4PtH0n2l9D\/X80+TuWm6XSmZaIpPCEu8oDHhY2GxtANd\/NkedQkxfuICUUgl82SRZvfk99PRqMFdBteqOoVqjnmcmSI5wFu8\/vpxLDM98ai0Ly9o5ShKzDYmpjrZ0UWFlYm5gUfH1rnlf0I8KZzmeoM7xYvfeT1BwO9guqO9phUcOcp8C5ALVvbQmoWa29suXCYY64Ln7Fhffuu2eA8DWZ933Lnvr0LtQdP04u+h55KyFA7FdKXOHOtP8llndyszdjP5yQDgu1QhTCNqn4CwOoCf1332hTQw0dcG8TruuMKLLhUA1CB+Begfo4dDTr\/lZ8W0W4YvTlLgwO\/hXn\/A8bMQEBkc6ELYNO6K1N9A7yxwaSSHp41Gsvg5sn1x55ydS0s2Ez2tWA7ffHDwRo30iVm6ZNcZxOV6+IaPZ6Md9A2iBvL5ryfumkWcarsT3Ai\/OXJHW\/4tv\/\/f9xdQR+sl1XMP9H0ru\/DFMqx+w7HvkRH2+ndQ2I2Y\/sAte3J5BIoFg4R1NL9fCBksvyrrEjZ7myMKiXd8s2OnqqU8miiyj\/3f3P+aHE4Rx+1s3lfCNwlLwTogwm4I7mqxv\/9J9rmBfTH\/dDih\/gNjdPjiVcVJJcPXXaixLFQ3vHuvHowt1oQ3XfDEaT5QDw5wnR0OyJXcNiYuRQMch+bAWcbgh7PfoKQzqhTjy3HRWr5WyUAuI15l5+6Ynzs9aj5H8OHtVLZBQbgmrPx6ChOY7cewhNzBClTtEXslMljqA1HgXoPsk1jzx1DSUSm4k+SDSOK+igz6YDmxgyZ3+gCKNNz\/dNrMf81SaJMm\/5vpTMtt0TjCsMQbliymzHXoyXyBOWh\/XNwwSkLCXwIzBl76Tkteo4+34jHhHTyfwbY1D9eVOUuBV4Kb02HUu+1k7R1aPTH1AODk4rPzR88269yQJYQOvdFrkJjKo1Dq9bQvFoCb\/9ytR5JJ3q57paZR3wSPEBIdzL8fHUNWzuEXF1XcjK1QAoD2swf8UGtphx27\/aDypf2vZb1mTvT7vlU3y3dxmFPha3AJRjwHjf8YxnHaB9DgHMmRXLuNpWJHxtJvm2mbJ3Ut1TT9qyZlOuhewUcRu\/yZkfJeFJKW9WcFW18PL6RCT4IRXkukZWEnHgb3b5CsokVF+S3r8sX+xNqAWKQj3XLCG3HfvPAaUtCTnaIKGCtWbG\/B0lDiym+BuvkrCWMKBnzSPOMDxnD\/\/eA6hlwr0t5qc757TiWYCMXEKbiC7QkSTJx2kzMke6zyitCF3P65\/DMLb2Fxs\/9dJvk5fjskjWj1q6WfWS1P7yf8rLhWSoMekLJq26DnjOFWcA3TTaasJ28d8qmkUZv8d6T2YzFlUOxyBQIMWsQWouKVNqbvIFs3J1Ea+xNj5jnwwlrxMX2ymcFpVkbzwqLx2Au4LL8l\/s4kzosKqCVTwTaeym86TG85OPX4N8nufJCXvOHpX9MEGl3URAJJJ6LL2qK1VmI18Yv9kuvR7DseBW\/8KThfvmzrUKR2VSt5N6eQdDFBCylxC0KJf6GXHU1ZN8hVMmMxHhw9qM7zbeveQ14sXIyklLoqYQnwp+B44GiH4424027iL5aeI0tNzi7+O+EzkyKIf87pV8vCaf5OE0lsvXDZ0MsgDzrVxPTewAMovcKPA6SUMz\/ruN25RPEXc9t680xoVOXHei7BG+N\/lEbEeBY2ZNfzr2lNP120De7\/69\/3\/kyA19r+gOXiyroRU+jXyAohXagr8OsugItxX0AjIADwDq8BifFpjxfcNPn9nZfEnvmpn90MmZ4j8pbDT8IHgIVb1wEdC3RAdRYqlOeUbczjMi02nAfAXn\/5FYy\/wQlJWMn+dphDckIJHMIP1vtV6Po8XVZakADZ3ggymKu20u9fHQtD4aishXeQcfGZtakP4jNYcCoOH5xviTKyRhgT9EdHCRqBEUREcNHwMHboMGZrNrjZiejtVoxAT0sW7upqQpkwwDuTHT9dH20ZR4rQlZtt40Rab3CPbOMhQEp47p4DAu5xJKukb4WhEXtPPulw3gH2PV1L3ciY2k7b+XEmuqj54Gu\/nAxI7W+58T9L9fnvb5c9r6WMXErNEO9D\/hoB4kq7287D+NtIdUsQrewMqcnUtoLicQDF\/6v357QZuTJkCScmCQZ1zKM8buWu19hidXRx5wjITgxbEcdU7Jkf\/zT5LmqcGNcWl9DwlW7DLCHwf316wn\/Gx9D\/NKK0iAhSrzAdZt\/8mqlb846Z9vZ8+TC1Jr0dt2YGDOGJP6g8bkpvrYwVmD7FQajZqrB0uqNhzkifbaoyPuaNzMUxzGBqS+CrU7JakFdd\/dz41nYvb4FJvWVkrNlnqQO6hJCdUdeHq8gFgLtxu9xHrCUGJ\/gXMWa1gDYEQlqr6OlWVOFVOdiTWWiPpFG496a0RS7sOeIRbRJf3PbhLhkVWksbJNfn4DqPjU+0GGg9GuzcAp3AeZVHK4MsWlAH5SPhFWvRtoX3rF2bUX7fFbftfAYTpP4leZZFWC+MlcP4iQ4SD0P\/TfPESQcD2r7FGhJS\/kU1ab10558Sa+dgnia8fJWzbhlSLJCPe3hmUdT1Nc9DOGbtQn0Rv1J8vAG2twfxM2C7Z5xbaYagp7ApzfpdlwE5I0pxGhn5LdVEV\/ct4XZC2gDCVR6a\/AntMXlSVmVR6rjcLmS5Kdd9rnbLFcsTn5KGnXPk4cd0m+wofIQdHxaSfgU1NwTFR78qZmRFkQBgDa6F6b25vZS8JvhU+aQoJZixtiZ1zhPekbCPYDTAd96u4qc5Q7lg569bY9DqNt+DW+61fcNXK\/3j4cmAJswrp4fUlBniIvlheQHx9IZezAPZ8sXrbOtQX\/7bmDzw72k8n5xGOAi5sJbsWKAECqmKcbTXuKhP24Debo3im7GoRQohsknDLc47KIGg2jtEna8bQSbB5ognQE0xRVvibQYyWJ7EfJ74I\/4OiwXzq2\/t+\/n88eCgqSpRn6TGLMXamG9koOKUHvwiGjaiSazEqBDjChv3ASwfiBRRi4VyuMlnUR9u4PRU3XMGLIIQqVziw8+e1RDpzAmAPBprKKcX8BO8bZhaY\/5r76cshJFCZTmfRIdIUPS+9nfl9yBVFD\/zCbBl30M\/vwmshtxL3lKcpnA8CMFIaYQ7SdaaFkPInLI6ux88a7JgbrbicLKnGGTCiHAKw7FHsP0GqBT+BrBLeNPsnBWSem6awNxr4WvQboPNUZ2mDrW5Lzt\/NwVnOm58ZLYUv8cjt1ojZLeG0SE98lvyxE4rPD8lbSTN4Osos\/\/Po2tgaNrnbyqYVZ6Y\/VBiRtEZFMvLpYjy6nQh5gTohAh7srvcYZaiyHAtpy\/Nj6wPvEop\/c2+1uBO3WwovxVultaU4FNiRmELBmqSPvNQRDIMg96PGQ8miYB0hM5\/60czyHowWvBWioViPdzYxwDQLP1UD\/hd56EtcdBizjYfL11\/EAC4D4dE9ccYEiYE6JifAz0M2ArsPhGEqLrj2gzXn9x6EAR\/5Z\/RdUJSYb9xdU7ZZhMzybwEZ7yYI2XVAlsTkx598mNIQgRJSXTUsTPD1OZoU70YG3t09dzSEvhPfFSd68sizxz2hasG914QPuRLtVdtj9wE+Rxq49CQhmpGXa43v2SnsTxlTGTlLQdj70Rw7gIrGrEmu3q16\/MT3QGJntxLiFmYOTNDO9RaWzLD1W\/tEtC5x2+WWaFCiNvFt3UOtGlHCFjZc+NLovIC3k4QIPl2RnpL0usLkWLbVnad9qswIZEA6nLgnXpQGjA2EOs\/Psk7BrJMGUQR7VIyA9gI20c67Zcp8ke0evYK7foFGunXuGm8MuHLXkU9dKcEjMvL1vuHltD9MMQNvXzIAqEBXqB6kDShNh\/c9B+3hoBrfFQKZcsGUN2IWhNPoqhgFo3w5WvkjbWNBHbZzbMV85xEzeGy6wJyZG1VdmeyjEEnFDKZb+VlvlPBwn7AwCtnSjfxlF2gTw4lG8JLRtt6tbcflbj+MPeqJJ60iwGq6Xwh9PIdh3qvDoxsa083NiTT6lGXPH9D5SUBF5TPibXltyGI6IGljyrwry1bNLKlchIPyrWdswwtUnbApj+OInNQxvFNicyHflwE9pR9bNHqzz0K8fg+XlQ6xqoQHBX6Hf6XcBmNrHLsZpnNxTmSkBOz5TZ6eLoHUdHkG1C7rdnNe1YaVe91BfIh5U8eluUBMbLb65XtzuNSwb3NDYcCBLBjSS\/rcH1XKe3Usx149o1n1P7DCjjjRHbZ8hg8X6OzSYIllMESeOyjQhwnOO4gT1N9HZzKpm1NP1U5arE1VOSukZhEeSuAzjkFu0sVbUfsr0\/vL2QZksIXqwC4FzBmkgTRMhn6wAt3lbZB5LKhC86qvRBP4DHPo\/7QybgUu0KqGUkyuzmCS\/Wthh91RrT+M\/cqK7e4DWd764uT3vPlCHPEJVmZgOu0xK95ZHvu2Aq9j4wK43kU\/rAcMZ3OQYenNZdor7mrBycpLzlAe5JI7Jrgb6XdA9OgH7JkJlWy1FEQFIVvme0663naTvnaOV0xikDmyXEnrVHkDCs936XX\/6nX2nxxS\/71Exa+L9ZvwSijWQ+HWNB1qNqXf9I+keakLcJGjc+L+cz7PQMd9d2qBgdiv8JB7yXO0bIzjAaR5rz2yS2HZ4Ox83XJ5sDP3gbGk70mdCLjNn62j9HO8xs\/XEvI3NbQJSitzPDkmWcnQWd8Ox2g3hFD9BYshLHSk0LnW8kYKZyXW8I5V3nzZcBpJ4WHQpAu4C8\/3KbMWpYhI+I9YuAKcEAAESnzbRWkoyl\/7xl+vcrO1yS4An\/plDwoxmlyukzv6RYyYrwTO1pFfnSNtTD2FQ\/y5FfeU3dqx9VsCMHTTnW+EQ\/AvmBhFfy0xBkYVLoGXNK7nrxEEjukcnYMBw37\/8eDTqt3IiNrMToslB72NpklrdimlIBRXjSbpQOhS5twH5V9SQv2b3DACuww2raoxMGB1FG1NY4KU9fPvhz7fkKOsG0LbuhskTNd8Io\/dQc9dI80Til1MRju2GfKzYccTNgI7TAlQyFpZ0lVuJ+wqd1BG+HmQaa6t18dm+aB0+xeYjy6e2A6yKzF0RLZRmntq3xO3\/hLulvX4tmr7+iMYbZdFY0iGmprXwjiJrXYsNw2v6fY8WSHHo0lhK3NzECybk+De1mupmg1ZU3gH0wUKI6hehVb0uHF3nqsOwAkVde\/10HV71DXeVw6WaCU7aT7tw1hmKcbLPkUusRnhJAlaxR6AcJMSoOypZ3PMCOSk\/tErkJNYkMNaOr1+gkSt2MCLQKt\/wFuB4DTMHOJoYpBa0NE67jdNNLDqF5d7X573t3YxwK3j76mPFIGgo8j5VbmUBH88AOc7nIARIJnK7fMrdLW4Q89ZGt6wPSpzfLfphnfrXxBFTWPD1uaPPnFT7Ztg48OZaCjX8qlhuVLvZJS7k0KzKXStgLxy3RZPbfzcXtc0a+sYqDZFzCdqBtLtlBqWieqU0s2m\/OGfW0zPMkIvJqOEEY51OUfr0MTKlEpo6fi7vo1XAwEOTpfyp65yp9KTQZCFjRnzuYr88GKmbwzg99saapDaxELJXUyffowNXRaIW7bRyYEa3jU9fBB50L4tnBH8O1khO6AoVRV1L0Hrf1h+H4oVWN13iGJuXSyegb1P7atVzE+GxyxG38hm84rx004TbBNhsSK1N0m\/qqM72mS0uGXEVvVF\/CpSJONxgqi0HKXUUXYslDY9yqNPNSrJWz+xFWz\/zKutXlB+8Bm+oCyeisNkuhkzA0NOEJM6JIHW5VOQKgRxbhY0GRsUC7sSf7oSOSNhXVgiL+eMtkVF5b1j8tut4eFa42NIX2tDsCSH6agIgm41kw9E1MUqXZzYtHgl5PLNpd4pbSc7hp4NBenhFVWBydpButMflwvIbyGDZVM2Q7ECLDwJd9gk2CJZwWDus5ihON9HGyTk\/Nw7ZdhQpLfeSCzOpcTUkIXV3s+kMDTIcX\/XCpDrA\/ZLEP1QdiTsexTwHt5me\/kgDG8IBUfpWO0YJlD4krf6gJ12pLtw8+NjVnoADykasRfe4Ll8eR+fKoMssVsmEKVkK4wgVJbUNZEjImELiKfLUt85qfdJ3mIzuDTBEoTI0iemN0FaN4SteJ3h3WkSJppN4k3Pis6aEsrKs\/whr9jJXiPHRVpfVRBs5hOhr3YRGlYwu8XxXwLW3cOQPTQKtiwxOjtLYd+3S3UiUPkCwu7oHamOwefrb\/xKua4y6HGP6+q8POF6mBQ94Du1Lfycoe1JMN9dkt8OyIr1QkI2gyy1PtiODKrdNPi6liAIDtNGVm+cRtmxTUAv6luTYQs1OBnr9HT1hqGQ1ChHCm5LqVj8SngEszcPpiOvsDzIp833E6kt4rc6E9FfpNkrx1c7mgy8aPLDwgEvq2Dx9DwMMlHLnW96vRoqQX1jkZhDrm1flUjFrxuwxXFjihrrqS66uP0sMuJtZAM48QgXCsdyGqlQ+5lsilH\/zsmm8LU5NcsgMXPrsZU5bhlXLbTHlXADFA6HQbQmtwNP2ZXCG9SNFgTv5zd26Kjzk3XoQpF8f6JAgQBrccOA67snxKaCCxFCNZ7M8pJK1Aw1K472qLBq\/FmRKJRKZLMinv33MJW+5ydSmTScCV5BC\/nD3C64lh6RlZ82SKHcZ75NTCwDGb6jRrPRemO1W\/TryEUte3SYojqL5HFZIwhyQ8vwco3VehsgzVraLqhSDVXBrawCoNdwUhVqFyd\/aV7oGGz1zBKdx8y67VA0jkqJQSS5v7uWOrilUvi9jeyQ+cnf6ce3L2H\/hxZAJUtYhzCu1ngJ0fyOXO\/aXUfjChRM0fipTmo9jRxAem1VhqcfvCktYcXayONCdz8v\/qJLd\/wA3zB1WOMaC7AnCZ0kY4YuP627ZhmzCMnGW1yD8N4ZwO5SU3VTL6eZjUTWjkUpDz4L8YLOrA6qho+BKSfJWQoC8Nxr8+QSUMBgUY\/2e34ceOqfiOJ4yk88HMEMDDJHOzeqZ2VOUsCnnR79tbOpol5ZtswWh2WFYRTK6uV\/\/31EYQMPEI2WCmZx0vHUZeXp9WsxBfij2CG\/nXJbLNqwpDUK+7FtTlfKOzDxzZujFEpKT0qrm+kKnhKgi5WuhIda9\/oNtSyr9o3uA+97mKA1nCE2EI7azaxiiv6GU6xm+qMKn4dAQEh6cVvzeUbQ1tGpArMlGHRZGWs7sNowEEPNLzJzlRib39DSrDpUVDw94nMCIiVqQyL6s9Cfk7FJxz2h7yjEev\/ktrXt4FpvJY1hazxG2ckBcwpYBkRlQmaCQV5MYdeY2Bn6\/QLVQmrVIIeyyDmz26ZLGAULeNQoQuzN0Q0Gq4+EwT58Cv1pceTkhhaD56R95plcYbAGbHsKkYJ2qxQ1lS7YuPWIGfHN54WzxX\/teazYLNv4EDqVO8Op\/4mMrnT2LltqcHeMzHNLtg32PlP5wqtY3dJAcUSekyXnQRRDahkbe97vS1rvdMCTDyC4iV5NNzZ6D4kQj8b8zLY+EotQbjAKWymzJJLs6DGGH7oIrz961kk7wXCpr4JhOCTlHSKFxYqK41D381ZADMYeYzWEYJf\/D\/I8KpJz+twLPmQFrskcjrYCV2T4rSJjaoDt0W8jf+rZMaKQEQPU1PNMn1Ojmb20IXseKS4hxsNjuQI8yGWOIvLhP\/YmL2lqFH1AmOe8e0GnBia+t4UYfSSamrqq+QO0vU6ANchpLFyEtGfqjAbl+FxbzZEmZhYLdnqVlxH35HAEm3C4gEoWYV1m2Y1BzXdteTB6vYoGHG94MxWwp2NduvqrxoIHJSD3zxNyAye+BRe15UxQvw4c4f05WKaSTb0cRHixxj2AZs1O82q4G+3cNwfvfFhHm9hZ8qwcz43bwzkaiaDM49WPPaXfiuNJJOjHLuV8s+fAAlqEAT38Juiw6hWd+Y5ENE7wIYV9miHksE7M3Xyrbcvm5C9dM8ItidHxVDoZLCausdxG\/DggY+XDdX+nlyoShI3k9Nn\/Yzt5kEsjdmiAeyLb4BISQIcoL02GdlEC2\/HPVjxcMaec4hIbI8voEknu7vlISa0i93KCWQUdIRMBWJnQgjGkn+uzYqoGY5gXU10HUvYoeF16Nmfe6JNZ1QrsVo2Sfqt34pfBC\/UPTp0RXmCIs6dOtCZ4E1xiJLq76kSlIlItKc2JdwAmISlhGbyqq+93gEOp1GJIIlXkhOrxZ3aRJCPWH5SZA3a0wv78BPcX9F\/WuXD+ahb4AX+mQf8yI1J71kjUaG\/y42ZYxYfXM24arP8XECI2zQh5\/gKlKisX8ev357JEjU9suMjPMVBLrjZUGy2kDngCwD1RRkmoZ6dORDhpIERbSBroRfFZ3P3Tmco7Wyu2rSgydWp3hUvTyaciohRVJ8+5wKGRV7jwPkNVSiMQVO6ubbeejZr+HCb02zxIm7G\/wDsyT\/bCh9n8Is6pKy5uf6NHB8UseSMQ9PpUL974koqqjFR9QFewXO\/IQVbLTckiniuFwFPgt3AKOB60d+tun0bA44XmKYrqQRZov7dkJZif2+Mcc\/Rolrw78qmw7yilqKNYSXj6V+KTN+Fn26h5OKxBLVUIu5LXTLTuDgkT2mqZlTOdFJKf5pNpTDlUf5nQoptccsVqXkQzu3pgezyGrsqp+qot1t+IjWQLQ+EYWMq1YaaEzBGuPAolRCnvTok96PvQwaA\/a\/evz191zDzy9mweh4zJZ9SWFna9ltFTiuwWeQ38YWUOaoQ1VDC5uzQyPLrlLsOeWi3MKhBwHTN09aQyi\/wDax+Knh3i\/V\/lVNvOUIY1dWPF95+L+t4jlb86LAwybWJFeCqnOU+KUhExxZ8MXIoxpkRtudr+Mdw+YEKRdQ16bCr1OqBgxci7Er0i9ly2MvOCHYEQhvz7eN6OO5L3y89d2X\/NRzcZaQ2hMBcQlD6LZxRjKE1Was0T+NmvRFte6WmA0tpPcbNYyD2ElP4tzpTxRA8zrYtFBbfhcOfr\/Crc0XzyZEPl5kpoBbPCW0MtcOXnqROuIUlqvmtfFAq5lwg8R1BxrzihfEE8lpO7bBsSMdOEG+5caaXaIYjKmFxW1KjkHFWIFu0a9icBxz2CjiHl1U7mXraZTs\/w9Bf+vv5rPLX4SkKLcb+fuB02d\/+0bcm+76g65n3zU+O\/+RgCp6oKORdG7tiW+OuMYRD6OUxCuhXe2iDywSKVQGRpLR1eepnRb4ysOIHTOwtQRlP5YVUFRXab4eXkjXZ6svt47YyLhWaLw\/SC1WqdaInhi\/BYySI7URdHHb1Ts53Q61AgR+DeJrTlmD65SfTMWvVhWH8DvWa\/wkEgySR947AqgSbfLOKUl8HW5t\/5et+cve9wVJj8Rkqizdy\/a0nDkjUd9Zli6NFPj6LoVTG9Ti5cB+ZvN04vG+XbY2BFcT0C5gjEdE5gOkdL8bJBTV1YwD4r6BUUy9X6bPwtehbItMTalvAbZ7694Jh9XzY6SR4O5TypaQ\/qZb2M0ZylWnL3n48Au\/GDZLBVT57AMC3FDb7fL35VDrESsubcqU1FziscZf9cGmQVDZ\/d4aypUnkkLWr6dzxkH5V0881mOlh3b04BgDgNo8FyfBF9VjZIwHXHn4ngSEtVYcZDRogC3sauyoB\/HKIK\/jalcXNoNLO9ZruS8aoaieczu+VF7\/InHwBoHPnAmo26gckkDN\/AHoUNCzya+jP0Ux2RBqKwgablgXCgOXx88M7LegZWUJvx+uctmLC6dzgSG\/Q3qAnBkiWaByJEsDTeJCu9urGc1RW9Lnz\/\/XC43TYZbHldcepeifSK2iHbgOZYs4KtlibjovzqdCf79VbDbbgGZOp744x+Jy8JIsSQEbhAjvpgGwqeQVKtqHWhWrAld8W5WxoomwmTIPqYNo2vSRmuYqHPgWFsSA2imXVaxriGaQKwlK+JbZIMpyo5B6coEFyJreKFQ9xKZvOqfOa25MLZ\/3GxYEW22ez\/3VgAy+05WGuT3cavFTGHYT67E\/B255r+0In7jOlLmNh+pQ1TWKyBaXb1mR\/y\/S9FLAXJeclkpyr7zNpXE4zQ+2PRqFJbklLvcijM7d4rTLclJb2Bfbu3J03UxOoavuFuqNOOnu8CwvDZsjeuPWeds3x0ch10M7uUJ9LnIeAdZD8kjrpeA94UqCSS9XXMv9NuANlHGrOhE95yMHxZDGI50MZbXlDOlJ2xNQG0pC6hMImFmih68HAH8F30yH5GEiNDEWq\/EmAZ2GaYWOmCyZhVK62ZXNjegY+2Gp+tVI8Rtb0JNMl96Xtf0NMzRbvoujfILKnkxdZDodhnxpEIUEnULFiKTj47m3cjmUpFiV4NdAZUEwGyAXoZuAhpwrpjd+9bvFOX1CvHXPKgTIjxh04oc4UZmG5bw3\/PRQ5H0A1swR1vvK9FBAO9QbkdbVRb\/XAhpdMN4ijbGOYlu7xLjNNco8WR8lffa9SAth0IHRwxyqsIdh8RGH+0Kl9WM964udeIPDy8ZK9wiUsztty7NByP7cOxE\/ID1097MPPuL\/spKDgxEQNyFP8wv\/mOiuZZlipvx3clY+aTvbnGtaERh9FOP\/Ej5dP1NBHA+AanI0sYG7rueL6mbrulDUx4UARv38pYToKoJw2bkZGd2esymVyW9lXt8mHHgWcvNZBY9WoqWWhlpon9EuMGu4IbEc4OtNZAzqHVAI+MzZrOf2KEabuoFEBFsNvzgFrYQnyM6luKc4kaI5B0CoykB43mE1tRQMbxsUWN35Xv7GyrXUMWLFxwrvET7DS92R32VP+J3oALwnwdd3eRPm6VVzmwX3td1G1Iy5s\/KyUuGVdraSlBqW8sokCznBSli\/8GItY4gu6oODV8qZMblrSh6H0Lhqu9vqBOSILZiM9IR\/zrc4bCDESvPsd6X5BEShg+hgzIwyxVrRT85xa212QLE90sTpbcv\/gVYLnjYGqa\/27uEcI3scEL745lOed+3x6E+Kk18gicGRz8fd1AVBjMLR+uKw1hW9GWJSmvNDdlM+b1A\/m0aIbV86rnuWTvMlfxFpr6RlDpczGG8xw9ruMVjaf6WucefCJ8Mm7DOqT27xvbWCfQbPW+Jk0QMaVIeyq1S+Bpiz5QbQ74HNqACIb1kpfsq2ajJhahzadcyFYDYL7dMyvJsFA5Rhn1tCJFE41QoKojBTeyXGUXapfBpQk\/bRS006XSSYkrVJnRyS\/K508nNmJVuapyiU6Rblzomvi5eIX9w0JvccHaEif4MytFFinvIjpNwjdipWUmHwCnTaj2KxS+zplD4n0Dkg1Idey88Npjeisf6HKUi6ZB3FRhQUwcJASaq12EcSJQV7GAFKI2zby8Y9w2ON9cnujZEM0AjSAZ+2hZs9k6F8dSy7s7L\/s0HJTkbpr8MKz+ZxXNbHwQlZC5Sh+Pg0z7kG4Ty\/m1hGjqXa1KL4WEXqlutbh31TARPXqdGAtjVr+LLTKNv0f3fClz39zVUqCRgx2Oa66zkTRU4JBET+pwa3mZg2nGhFylUR1ltFt3iYF7GZtRVFE+BsR8lm7VeSUnbVpvtIGECYQyLZzpkV2Q0OPi1\/UldyzCKQ9XzCWGK2Vy0oO3EnwqYbDhpNTtaImK0cAExqCw1xgjgvRONrNKy15RlV3EAH41FfPZlIgZuacHZImcIqvm\/gKqEk84OGhbhP+sMifoG8MhwYHVkJZDAuB7qXIP1tsJ5zdLOhXshpozbWlVctAEuG5LlDJYylFuGHcLY7Zv5CSut6JLXGybYRBwiyrqXKVrJIHorsUJg7\/BXUVOdznd+pKYt7su7pb54AcVyaVv1IdqdEEHc8iDdH9MKHRbBxHPNCmCBnPT\/iK5uq0zHws22HF1kY6XZSMk5onrYTWaHAou2j7spDjrT9qiMsgNuBLZvy2MTzT2g\/NAEwt0N0UonG3F3wmj\/CwSaSZjTz0fOYfh+7m\/nhQf62+grEqxit6GswJWd4ob3FVIbGM5t4YrwawCBau+ehDiWCXWHGQDvNQOC+nG2HSWFKspPkZHZfogvUYIG\/5HpYMaKPo42c2ykkty1dIP\/5FI6UYf0\/TObNhV5RAkkq832W5AhZU24VQ+n2awpy4pIdKg08i1TuSg+tv6cw0BcC+drGcvlH1h98Z105ItFpRkAVn7IgkaQ5VaBjRlupESIaqbrBA+PgdSapOjT8QcxwzNCMjOc28hcyjfNYBEYfCfJ0lj2KfKh8o11k+vrpVoYTPNbIoGKAIr8mGJd136V7s046+Tj3vIAxPMWo91XvUwV+WuMfpsKxs6f3IO2Fy2CqaDtRkaHUoE1bXwT\/Acy8YMTWAU\/jLsT7G9R8UX3pyTOYdrQXsF8FaJlF7+LNqt4akE0ZIBUO8qRzogx6B+6AtKEJZreS+MiAwTJU7fT8csbDB\/8t1WfcdWWJn+7xYUaMe4VGVucARLpmtBYf5M3NfxnLoQ3YIdjWYpWDFYZ6dviqPiZCSMSqqAeWFOoTl8MYpbXMw6caJBOcO6dqzS3Yj2FwoyHCOIh29xeAEIFeLN0W4Do6\/v3wFvZ1yvdK\/ohYTbB4K4tuv1szGnOv\/NNpW1XkKab+dT3w4C1z9OWaWMCUTSNH9XLuXzhUIw2eXT4YMYRlkYRpQEn95RkO03bieIMY+tJWFQwA\/hM5X2o0aP1YQASKMT9jmhOsnGNp9JxLYFrDvaG8Q4WZ2+jYJiKOTgV\/3DNQ1GMtB4sruq0nAH+j7J0+kpLRpym1r5pyygi7lVKn\/Q9NvtE6Of9riXSDGVCpCA45e6V31i0FdIHzcBUAT39fTvSy+2xn3PLoqbzlcrc4wbHNLKg4iFklvEVxhtGeRb9Y2uYHCT6XsEcXNW+1zoNsLbxMPi\/FBMCwajfbiV8mtPQzcoA7QBQAHswhhkAPl08VSVT54syqzNCZHIEu5GBK13jzQawbMtCjkiKZZ8jxpkIWWsjWLioShBm8okNkBJG3esyX+vc0R5XLUFMPcEFjhYjgLpIUaEWD9eHW8fCnjfXfWhnYYGb2eUwk97OVdB4+MFYjj1f04MrCloX5cmvVR22do7n5nDa0+AENNoLbw2M2rKWXHcCow3hv03shNAuaaIJLUNj5WUVWyeOf+SjXWtyE17YKJQj4LoKJZfRaxweb2DIR2I\/AkiDc3dK6ruyAEJekFU6BpsxH\/eu3qvbcaTtU41WQE\/RDI4QGGBjn8SapQ4u8ezhbHPWeHNCqrkNMRa97YNolZ+j409l91GA6xy5w0kZsP4usBjIL4agrWUr9ELdF\/02zuK8KDCV6tmKVYmM\/AKEygkVbrqILGCdQ8aSPb9sysy+kO1BYv1EE4677NxA2e4vB8M5B26U0Ow7bcgCXKmJcA8YgQ4OoKAaRzpQkXDKYgR45G5HXJQckuNJ60XFyGWft101jBS0y8lBLxr3fIlmd9t2S3WcUWrw7k6xCYqhsK0\/x+PJJ3TaypEXQArFpTS7WnUCdxs64ljgKcovcgt\/bsOOLk2a5oJdi0dwwHaKcKgWKw5hG5kGjjiId8+WD6JATuot2q+468RM8efxYxI4IggWlG7LRsx5oecy4\/Hm3Q+WOsohMbfciKXQIWqXOy7UUI1oAKN9Wgu8l+JbKKjDKKxWkGIHThI52PXyRFJ83dn6Nh+g5rsIf3rLZPjWfjnH04oF5HQP7mD5lsa5K+aNTh0IOJOLuvJYIgG18WlbTiSPsXZSbZgCKGWCWiPUiPa6BgEZviilHS7PxkYmSgSnoGnCPAhinI5IOtX5FmHS2Rz8E7B3C5W8TJbJhz4slCbNI4MMoESQGfu+GBR97BzLKytnvXcNRNnp9xmd\/45vWerI4S+Mg424Qe8XFhOPPXTbDefg28GgGGZg2s92D9+1JHAM4NPci3bcDN6Qizc4FEKux5WK6OGvJeeApIy7HuA\/eEA9k1x4Nmb3A0\/9X5Q\/brCFZiunuG5ilQNlWfzoCBHU6jG6uwJU04U+Cr8\/Q9uPjM8SCNA4ZI7SnTWANyaiWSWBxy2niwdhC64B7\/x6wMZ1zudQnSqiky1Pb8XYMO2DTXiRqbs7kpzhdP0\/iDRRAeKQOYBo0XGUwxYaR0co5\/XBsLTqxQ6FFf4o82doJfzz7hltN02o\/U+fsWOdNFgJuTn87fxNoSv9Zg3vZkcSiGl6P9SzwZ3\/cA8ppSSLirvQjux9m0+YJo9E7iPquHxUdSfgz+peSWSYn+AEKziqQbnfF8I7i5WSnvfp\/H2MQ\/\/HscB9BV\/JYCqYURs0nSfBHdPqZQF6BfH6bJgxXrXU9tw15bPLenEFZHDOhDbwC5Q12vXXF9g0ApRNbCCNBkvBjFJv1yEzMzTp2X9MlTD8JX+La7xwsKpHtBbPpeZs4qbXxq39aOhns7kmI3ivuqu4cX+4+3qfelvi7FM0Lz8KA22UW42f3WUoSuituMgym9OQnLZxGqVElbwH7TutSOQR+idvpxNBgVjWjpug94y0lgA3vORTteVLrUokPb\/Cx0JlNsbU5Oq2XuVgGja6NQb\/PbpB8DQRW\/oaPevJ3j12224P3Ee6DouTyg866mEGbC51q5nF2GzYOktJBaDtDLMGhDSbHO2gV\/fk8tls1KeI2EgB9NueUDL2nRYeNJP0QxDl6aCdF1JQJF5SWA8ZfU+SDLKsQP5AazRlz1bsEhqYd4QR9nM6SOldUlcgWrws\/aOmj2GJOJGSmHP+\/PPBsgcOvZgHE9h2+TE1pDV\/PQTe8bUpnax\/Nn4CmL3HxJNNf42l83GXLVAVXDLN+AungKEMAuaRVblDHIcSpD\/mRP+Z9n54F\/zwBV1OTxjCVpWjpG29pe0saL2Uh\/JZmCO2XF291D5IkELXS51N0hvGTalAgIGGqYuua5gT69fi4639nbPd\/f5Q\/vsAccdgpvzmhkexerSZwVOip3I2eBm4mSgXESCX20tF6b9mgVTTpsfXSfBH8YsglYnx1otvCXhGuJSn2OFLNsZILkGiITGoN\/ig1fE0fYQLbm8TD6XbYDaGe+VP3hSqEKAhedr18dYiE4UaOLELXO6UzW6ZJJtiL8BUVIVuVg18+yBs2sSyGwyy0dAsgBkytOZZJ4sORVY47c9nhWWGal1EPnEqjHEJQ2Zfo8b+CoBxAZ\/HBE\/FfcWQnvqEqU1GPhpBXSDsZRhISCUfMjcfQ58cdzClpyZiyv+mUQ8spqu2Yqe85kL3K5amu\/9ogDNhv3SyHZNzVEE173JgBGs6JJMPbIJGRlV1+ew3VVcEs0xVHAoTrO9Zfs4d1R3XIlCM9N6BlymxaZgqihpcEqHrZV+Xw5cJVRCK+Xqam3DS5vChHY\/OYIv05MuIvC12kAUke\/HMtI49KhdXEjx4zsv5wbUoPm9eOJj+SIGGXQKapycya5bWnTS64jGTU3S9pYmfDVa67PM\/jrdcNDQg7vAAbJ9wFV5zu\/CnAbmywKuEMHvdLb\/hiTK0d25EMqhFbPxLhNb0+71FknwIU6iqnn\/gDM5yiA9Bvja3W+QVPybnsKodeP1xoZMa4szQeQ690K6+5+V22h++Oz+qxa8jc0dbF+FTbKGM2YV2fOr9bYQ\/2oU013ruDJ4jIyey0q\/FcsfmjY9uIKYS48MUs6lJWLzpg8j9QVPrvn4trO0v3BIpF2HyUAVFepbeAg8jVRt+2+2wNf84jMqpp8iBu2e7gQSq4jSuzSqmWyiWh+j+Ue3\/nkE77OB86tE7ednrUH7wDyOXJD0jFUHQgMuuypcD2DU12ITfdLK\/DzVJDBxMOZfue4SoAl+DG4Qj4koD\/DwwI6rC59akKmIWq\/nqvFxa0091D\/6ffGa8AFq3P3W44r7PcWuvSYuydHcSJeM2smlp9WGd+bQeTfPm4GDtfD82WZ7DIn3jIUg3NyT4XgRSM8DqdA125G9rGf3PgIPn1OyrenpDYE2ydFQ0\/Q9TjUN5k5nSNlR8uDnIxaPUiISIf8uF0xOzlRUvR4klvbtHaFnmcckMEbJOPUKkRQgdba0ILE3aLij9wl3nKJZ6OIBQQajfa2PvCqCV1GxivWUhpdlZ2JmdubwSqerM6BAuQ2hCQiQXGL4ABljhg0Rcz03qs1JVOJoezG7DbvEFkMRKkypTEzsrzBCwOAhgiEDOYh0rUdMi\/sFvlSS35JmwvkfKq0wd\/ZYGCXG35H+XLnVxcZx0fdbJpftEzB83Box4T\/7QE2lqjedG\/HC++eGJHx4535IRhneL6P+qfd9Gy72shtotu0Ci7xOty8sYfDmY8t7AmIlBcdg1SCHq5YRW9xS7xfNWDkUjhfnSXgjNFJevNPC1y9NWBaIbwO6CnOgNMsKgHybfUKbwPkFPuNRCmkQAMq5iGOYmwB1FEL+GKwGrnyXuMP4Lx746FIIagh283UkW+uxHdQXCj3isW8N\/Df88xoYcOLmL78rPn8Ps2O7X+0Z6vQMIDm9EUiC3qCtFTYn\/uAwW2XtKkGILbPRdZ2o0Un38l4YNkCxCXMjyCyI2UtKEEeaL+a05w6c7W4y+cz1i7NyjP7TLiRFpJ3RztSqMIBt3pCo+iCdfk1rNe5BFbkrb4gJ\/zt0sFmVR753lDwg2nHrQqKRNDqObNCoI8Uvgbvd1\/xKuk8khOC68Z0V79OZPvfnaiS\/4te5A9YGuzKefOIC3E9gnjQ8FU7aVMrHVgVBQTWng2kp83Cz8PEGT7v\/JCluGulxbT14Xf\/ygeG+fUJ6kIMKbJ93l8PuDwFWD\/mcyZ1EmyEyt+cxSrUHNmDW\/8zIztA3950fJ20erEMEb8eJj0RLuA4EzZ0jsBbSPG4mTaLtgBm8D7\/t9\/FWszmnlEm3k8Uaci3OKa2362XR6syfI7I\/xbDky6XWO8y0AzysTbzzhr6RMtOiej6Zv6q+mwBm\/07p+DX8VbXHd1VqQohTXEDKHIBnT1B20mS9iQFOKyCDcf2CB4tw\/vYh8WKkZZ2CBBAi+pwTegB\/5Jo9LJZJhnYAGfPndYNIeZ4FKYDsrnShpvx9sPzZ0aLK8VFss\/ZNyNRHG\/iJC998FcHRNqLfZLolVXwZyGsc4i7xRWFQi\/MTEXixL9b0u1lH18dywH3p53TXr62nQ8n5GKuGVhI3F5CM4442M1M2wjw57w3GJwzg3RS3\/17lO+kNUXjgAtbTcfDsfl9BWrBPCGu5SVkmZnW3di+1cLoMxitE2HdSwU3aFeeCBLCjFnT6Y6O10nNfKr46Y3UFEWRxb4bf9fBkD6pwsGiU9RIRC0npuIjVrzegK1bIbpahdbnxJxgAAHUF\/5zWHoXM1QB8LdI4O2DBxe0+DR6dW0tLdYOxm50xUAeaisdueWpsZyxqp5LmpVi6CVdlSy4krdCMqR8yHDbsEBiz078A3naSrwmcEi4NpUrG\/mVOi6XNBJRKTEiJ9TmVLm7\/BvakI7cE\/6eKQPn7kO55eyPDk2dzMTgJJiGZIbB1i+Bq7hVKuYAe789xqv83iWCu3c4WoCR1in+WpaY5oVaIKRl4vkN2NiJvW16LwSBnkUDHZGqcT47adV2EldVS+YV0HhPvbcIdh07twPIfcAz+qTdPSQkfTnjcTB6BDcydc8MHkKa7s81CMAs7NLVCtjgXAmzv+K4cfeXVPFo5FZuw5l9LfB7bY9DFaI81F\/\/6DsRJSkl6ZRkF38U9UaS3Q\/IAlGceKiOZXZieydglbqDmvodC\/XwA4CtuZ4y7t6eIK5L6LIsjj3O7j5TUWQdds+4l7j6odKdmzj11J9H4dXok6\/tJCLLJwR6TvVmcG2lKC9rCaDbF1JgVK0CckkZS5YbT\/HIF92Hg78oe30FY+QSHvNtGE8leSt1ubDpNEiVmCdTeP+FX4N0qIWGi7POEfzXnLcRA\/L849e5C3L38Lqc9T5cDmlRE1v0VSHesl41UJYhMcPsezolCCFOvoUuCMsEeEiaW\/+1t4JcVyqtoTAMtUFFjVTjfvZrRrCHMwIWcN+nQYOEQsuE9zBMmA2RV7wnR1R034QI7YPTC6nCj45sd5fn6CJoy2dwytj5dbQ7JPw9m\/8fR0pr2lOlsbEW0mTDQh0h3nx5nbZfiM\/MmG0MUb+v+KgGaMwEfE8cV41HufdJfwqdVdW2+e0i4kG7anyG0V4QEN4qwnnHVAfWHgJxiFoIkQRjorAu\/XGx1CGPLohBHjpSvBiE5l7X\/1PHaHaW6mwBDmKeNQWDIX2yxHFKz6GrFn7xo3dAZ2jMo6MCIJM\/SZgPYm8LSdIQewC4dnZbOUj8o4lbatBagSvNmNTjUm3lwCLdDJAsF0710mgp6buY0kSKMT7koclaQRncbo0M4QWYgNxj0r4D0+DEjbtho6imUsYYw1+0uKm3jOhFxOjjQ4QrYNExgTA\/hMS5Z8bkaJRGDjAxCxbs1sfmwVTHPJw1fOyYvF5AJSr1jj7shGJruXyImb\/w4k9v5nQl8qjvYb90v8fCvVF2QhUJRFaHsQEEZNBFnrG02XpE2IJkoTIA\/5GtCYlw1PVJsu+itcuXRYeEuUJe16zA2wXq3Bgt7o6424rqMTi4\/sFV0VpntDcTxHnIXySsVGKFIeDn3LaIL1WVUgICT9rMQIiMc3EXyThZ3wHgn1fSBue\/wxRGMSoQ3izt2gVijry+judwhxW\/Gje631rK8ZisRkN\/O1FWWPWTcQ7Ezd+ltLJphbrFvP4qMEOCOMUbEyx7EV68zWFjlEcyB89rmG\/S4xNYLsnyEeBdD1MHgG\/idpkujktBjWigkX6eQryeRVvtxqZm1SE58D1x6UdyxR4Ez0cEDqUbGGuJ4busjrGVSOcxzcOV3EyEJJZhnz1FubLg\/cv7hgoAGQVQ4SN33HsPLsdY408jsylWWkcM8rnfLMke2diRFXwhXlPhu\/n3sKl9hTGUFQSrbOkmpsvJbknBkMAJrW+QZwe4pxb5IERv14S7Zn5OOuHc4Ym1pF4J38GBXjlpOUKcR3HSS\/E6MiHbCAgKjq+UGFj6J3LkgwS46Jlk+8tCya1ZLbTMK\/j2FhpsgrjOLAMbLz2lrnI+qOhyYTdN1sDZfRoJ1BqmcJDt1ko59DntnSUWCJCsRMlHLMvuPLAQC6utOqsQx3CVutF7fq1OMQFTAjbSwqNSeEpBZrOCnkK3Z4HZZQnMpWaYQZmWJMeanI0K5SpeCY8365v64XhXZqZjSecG7mgxNA1xdGNzoAiLHYLRVONUa3307x0vPK2R5uLRo84QS+kG\/I1vRX+gcDvw6sLMOF4gR0n+wk2vh9ozrssY2VXs5y7+WFUQtG6onr5txsyMUkErbbDEVvM96RQQuekqL5tQLP7k\/hm38Pi3DIihXzml9pwo8L9O3prutN1SPrnLfF45H+Ybbb64RVyIL16FG0IGmfrgRPA1tCGas6i9\/sxjOOQ2+Py7sEHubqpa8t7BAn\/pveiBxSTByb9RqcTdzOyQWjbXeT2tFHPBeRUNZYhfAokDAchfY\/E7ZzkT5IIcoGLNOJ7Dzbbgs+9ESjPTX0fIQQ5sp0cOuohV26fOE9V+EQNlViZrSxi+irlZwHtYRZXbcV5ZlNzbDCqYw9S81N8PdOSPI+fNYJhWbQbMWDFE3pz6UYBqgARYp\/drDXBU\/aBMkJCuGUSsNDmqOE4VXA0\/cpXRXbWTNA0fYZBnNZnNl0rZD6oRI8n\/roZ\/\/\/qv2qKPBTmDESRvqnRENQzhJQoH4qcpHycd\/Gbxd6X8x\/2QIoaKtxXfrfLogPxsZ\/1Sjg+VJigsut4fvXlYwdt2zcfwBajpBeui8jML3MSilzZclLAvmMxC7Eq2\/DxeWL4Po4vQwaDCdLZ4U1Qscz1H0DE5OfO8JswAjrotMmXgUtrcKPXrKCBhc2YbvnriUuakGKaSYCn3zwVIOeGdIMYaQ3DOznm6NrHOdGeal7haiDJNW1ZmPYb6zSSP8uBXzyzsftTZzPU4GCfOhX7Tg0Vx2Vl8crYCdQJqplnrozXCbg+IrukDYLfBc87Hg55sV0DEzQNjnSBtG1TqfMfv+IMfMe9dUowOu2pQbJkPfS4OsDlziLAQWoY6Z7K0UQRdmOs1gyPO48H0Ga55jFs7AfTEBDSy\/kw76oE97d4wR8ycPWJRPDaSBSiBIyaBnOddK6mgcR1cYXf9JgJe3Iz4EjOr6BqRBgvNlIr\/Jb\/NYPT6Kvhju12uZQU1xTi\/cprJA0OmaF8YoX603E3H\/OylwGUIs9v7o6VlujbZLf4pD6UnGLEl\/CmylXMKco1g28UAFBVLPmnE5+pFxkEcIaC6iYvz+DtME322OoQbqd4a7SrIc05uittTUpBx9gz8UM60xevlYIvHxwgMaMT6YDT5Bl+RiT21KCEOpLSJoBsv0WN8J4h0OlNjatIvnYutfqJZV6lw8oxwH6cgH8dpTrYfGxHhCK2HnAa6WupX0pxCuwpqm67pauPDTb4zQkj7eG\/k4O0Tn0sbgwIU3NDZvUP+7WF15tWwaN0ywowcGYU\/MRCZOhDTXi7E3f9h7qqDo8sAiTySZgM53oShUfohHp7V2tcFyt\/1Pjs+ON2CQfk0Q4dK\/kyUDiO34jpxnFURYX\/K44JUhKEbiwrRo2dsdYEHc5uSw913SjQgCHCQwfybmPER8GQCf5\/T64W21gIQBqeVmgI0iJDlymxNQ2VeE9hudIF9qoo3C7290ID52vwbavA3msXluBesgADm3NXiqn2AmVy3CoW+HMyX9d\/WNLXH3Ti7b1dtd14RLxLRnpXHE7NH9uOj9CTaEs42b64Oh1EjjW4E8eDNd0q0nASDcw1Y7\/XepEv2po2b51\/h4pR2Mb9FeesaM0veNA+v5fBf58wXo9nGE8V4xKtG4TNWHVA3kKNiFOtR50sn6I+e+R1sV\/7zINK21A7HQLOy2J0jSxT2A7bzNPBVSZ8Y06U0xLR73WXJzNJZmw5x\/VGp4DOD4dUn89NPOxZ8PZZRTHpCyXQ8NOg\/NDYD2Pa7Q5p8JKjTDVtyR1jJkfSQ\/WDbvA2G7R2\/LN3amHVMqiHGuSLfYAQJnbimrDSbssPCaB6buyHVCjpsSlj+k91ExGmd1\/n6yKhvXT1oVlL7N71Sdp81PzEIA5e4bI\/yt\/qWpaU+G3nN6ErK259OSzGI9GHIPVwmNGuvDLXzkHBp5vOY30RODAggL02SJnMSm1EfIZVhbwl5vQL+iV\/\/E4c\/vIbMeoSePHnU8\/UWul3hjMIdS6\/PIAFtrnqZ7\/hZSP1TvAVGjz4fKAgLiddn+paEHM++ybGjDyfJhVzDMMQGpzoAf4Jo8B6RChrenHBzbJzk9hiYPvBWhg2vxLINu7RUbBml7vn8QUbyd80MCtuZoduJlx4n9F5shYuiCW+uTfCXnD49Clob8Y3zxZ0EL0twJE2VYd2+7S9aJCKcNOMn7hbviXKlPseVxfyirTycfdaFAojx+OiT3OnFeKzSirIDTLugN5plu8XtvqoKfWqrYvSLxzVfWO8XFuZ0N\/28bQRvBORir4HLf1rjIHZuO+OO8YocQ0gv8WDkNbpA8K6RIp+vyWZBGu1mBKXrH\/MSf3VTwbDGbtbr4EFuqf1jwpt9ONuFkoessDbhC+Uem49ZwnPXhLGfqZs9spnZKCfU6fd3KM1Py8yOUoWmhsuNnDnb6\/Wu5y9YCZ3q\/5H1tio1\/LYeW\/aNtlG2DooZehdLd3X6T\/fjw9Q4EBxznuewE+K70wm5LlGPpggXkrS7DyB\/wOotrg34OjqKiUOVJeLjo8JyvuTCs6ZjfjKPOF69Rrwm4Mv8geTavhP47rR5iaWgQiJDn3\/4l0EBuqg8UHG5aIpmf8shq+BfJUEKwSoicf7Rry4ZRk3MOqUEJDHcdmI8TVn0jDzXkbrRNavHkqyP5IzQxuRg02EDEvNqjfmg4XzhPpE16wSMAWPTPV+gBI1YEspMmKyhr8p4gjv7O+YFNsNUryirDkrGBe+JRpCNlLDxh5hsXJjH8TlecDiXAtPicau\/GbDYNlWeYcq5h0bCjCpbTkz7A+WGAgbgNf0W5Ct\/Cm5ebYzVpl12VH9lpMq5vMRsxVkmhlgA27YzntV+0f8wzFTY6YJujV17QOkWPLbl50mUQN87WCfvk2pXpCfluyF58l6F6t\/auBuuAA1oaf4bjUBM9IIdjSU\/krxRfa40iSiLT51AXmtE0ZoizDTIWpmtSIv+vO72XB6jsKVKX7i\/Y\/9gNUklFvySw128nxYW9Utw6dzQZ86Zj56\/SCkn2A+gYAAAAtSAAkinSNSzU2lviZm89TxYPzVycFb4Z2UL3XfceBI5Owm3+z+BSfjnyJzgU\/GC6Sef3nbbPKMGEC0kMAjfLN43Wtk+HNp2gADbfgNsL4na9fc4AnZl39a4HbUmy3IDvPVCY4o9YVe\/PHwi7vkf6H8P3Yb2CbOOpGJtHonL1po36maLtyn\/D3Pv+Vo5Yr+s7vBFjJNQex92ZJWwse+3JB1ZO8WqNLyclx3IPm4vsL8DwiBEktvyMlQeVOxzXHjIugHK8W+eVQfY39Dx0kKTUV8uk+xVxMeC6dfDYM\/psCWDzP+M9HNcAfZISTtXkQmsgAAAAAAA=\"\u003e\n            \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n            \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-info\"\u003e\n          \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'rose', label:'Rose Sauvage \u0026 Mauve', latin:'Rosa canina + Malva sylvestris', family:'botanic',\n          desc:\"Macérat floral hautement concentré en bioflavonoïdes, provitamine A (caroténoïdes) et acides gras polyinsaturés (oméga-3, oméga-6). Reconnu pour son action anti-inflammatoire et restructurante.\",\n          targets: [\n            { anchor:'epiderme', action:\"Action anti-inflammatoire\", benefit:\"Apaise les rougeurs, calme les démangeaisons et restaure le confort cutané dès les premières applications.\" },\n            { anchor:'tige_poil', action:\"Révèle l'éclat naturel\", benefit:\"Les acides gras essentiels gainent la fibre et restaurent sa réflectance lumineuse.\" }\n          ]\n        },\n        {\n          id:'flav', label:'Flavonoïdes \u0026 Vitamine C', latin:'Polyphénols actifs', family:'botanic',\n          desc:\"Antioxydants végétaux puissants qui neutralisent les radicaux libres et activent les fibroblastes pour la production de collagène et d'élastine.\",\n          targets: [\n            { anchor:'derme', action:\"Stimule le collagène\", benefit:\"Renforce la matrice dermique et améliore la tonicité de la peau dès l'application.\" },\n            { anchor:'epiderme', action:\"Bouclier anti-radicaux libres\", benefit:\"Protège les kératinocytes du stress oxydatif lié à la pollution et aux UV.\" }\n          ]\n        },\n        {\n          id:'chlor', label:'Chlorella', latin:'Chlorella vulgaris', family:'botanic',\n          desc:\"Micro-algue d'eau douce parmi les plus riches en chlorophylle, contenant 60% de protéines complètes, vitamines B et C, fer et magnésium chélatés.\",\n          targets: [\n            { anchor:'epiderme', action:\"Détoxifie en profondeur\", benefit:\"La chlorophylle capte les métaux lourds et résidus chimiques accumulés sur l'épiderme.\" },\n            { anchor:'tige_poil', action:\"Hydratation cellulaire\", benefit:\"Restaure le taux d'humidité optimal de la fibre (12-15%) pour une souplesse durable.\" }\n          ]\n        },\n        {\n          id:'mer', label:'Eau de Mer', latin:'Complexe minéral marin', family:'aqua',\n          desc:\"Eau de mer pure micronisée, source naturelle de 92 oligo-éléments et minéraux biodisponibles dont magnésium, calcium, zinc, cuivre et sélénium.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Régule la séborrhée\", benefit:\"Le zinc équilibre l'activité des glandes sébacées et limite l'excès de sébum sans dessécher.\" },\n            { anchor:'cuticule', action:\"Reminéralise la fibre\", benefit:\"Les oligo-éléments comblent les déficits minéraux du poil et renforcent les ponts disulfures.\" }\n          ]\n        },\n        {\n          id:'aa', label:'Acides Aminés Naturels', latin:'Précurseurs de kératine', family:'bio',\n          desc:\"Cocktail d'acides aminés essentiels (cystéine, méthionine, arginine, lysine) constituant 95% de la kératine du poil. Pénétration intra-cellulaire prouvée.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Reconstruit la kératine\", benefit:\"Comble les zones de la fibre où les chaînes peptidiques sont rompues. Effet structurel durable.\" },\n            { anchor:'cuticule', action:\"Resserre les écailles\", benefit:\"La cuticule lissée réfléchit la lumière uniformément : brillance maximale et toucher soyeux.\" }\n          ]\n        },\n        {\n          id:'vit', label:'Complexe Vitaminé', latin:'Matrice B-C-E-F', family:'bio',\n          desc:\"Synergie de vitamines B5 (panthénol), B7 (biotine), C (ascorbate) et E (tocophérol) pour une nutrition complète du follicule jusqu'à la pointe.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Préserve la barrière cutanée\", benefit:\"La vitamine E protège les lipides du film hydrolipidique de l'oxydation et du lessivage.\" },\n            { anchor:'bulbe', action:\"Active la matrice germinative\", benefit:\"La biotine et la B5 stimulent les cellules souches du bulbe responsables de la croissance du poil.\" }\n          ]\n        },\n        {\n          id:'gly', label:'Glycérine \u0026 Urée', latin:'Humectants naturels', family:'cond',\n          desc:\"Couple humectant captant l'humidité atmosphérique pour la fixer durablement dans la fibre capillaire et la couche cornée de la peau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Retient l'humidité\", benefit:\"L'urée à 2% maintient le taux d'eau de la fibre, la rendant souple, élastique et anti-casse.\" },\n            { anchor:'derme', action:\"Restaure le NMF cutané\", benefit:\"Reconstitue le Facteur Naturel d'Hydratation, garant de l'élasticité et de la souplesse cutanée.\" }\n          ]\n        },\n        {\n          id:'cond', label:'Complexe Conditionneur', latin:'Smoothing complex', family:'cond',\n          desc:\"Agents lissants cationiques de dernière génération qui se déposent sélectivement sur les zones endommagées de la fibre par attraction électrostatique.\",\n          targets: [\n            { anchor:'cuticule', action:\"Démêle instantanément\", benefit:\"Réduit le coefficient de friction inter-fibres de 65% pour un peigne sans résistance.\" },\n            { anchor:'tige_poil', action:\"Effet anti-nœuds prolongé\", benefit:\"Le film protecteur persiste après rinçage et limite le retour rapide des feutrages.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      });\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      function start() { setTimeout(function() { focusIngredient(0); }, 200); }\n      if (schemaImg.complete) start();\n      else schemaImg.addEventListener('load', start);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n    \u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n    \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n      \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\n      \u003cdiv class=\"aqr-dilution-grid\"\u003e\n\n        \u003c!-- CARTE 1 : Ratio --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part de shampoing\u003cbr\u003epour 20 parts d'eau\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 2 : Rendement --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 3 : Équivalences animées --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e500 mL\u003c\/span\u003e de produit fini\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e25\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e25\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e1,5\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillère à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e1\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epression de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 500 mL \/ 1 L \/ 2 L\n      var cycles = [\n        { target: '500 mL', ml: '25',  g: '25',  spoon: '1,5', pump: '1' },\n        { target: '1 L',    ml: '50',  g: '50',  spoon: '3',   pump: '2' },\n        { target: '2 L',    ml: '100', g: '100', spoon: '6',   pump: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n      \u003cdetails class=\"aqr-proto-acc\" open\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eToilettage rapide, économique \u0026amp; efficace\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eLe bain de base — usage régulier en salon\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003ePremier passage\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDémarrez le bain directement avec l'Aquarosa Pro dilué, sur le poil préalablement mouillé. Rincez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoing\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez un second shampoing, rincez de nouveau.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSoin final\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinissez avec l'après-shampoing adapté au besoin : \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e, \u003cstrong\u003eBombastic\u003c\/strong\u003e ou \u003cstrong\u003eAqua Dolce\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eAction ultra intense — Salon, Urgence ou Expo\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003ePour démêler, rattraper une fourrure abîmée ou amplifier un toilettage d'exposition\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAttaquez par un \u003cstrong\u003emasque pré-bain\u003c\/strong\u003e à base de \u003cstrong\u003eBio Energy\u003c\/strong\u003e ou \u003cstrong\u003eBombastic\u003c\/strong\u003e. Ajoutez-y des \u003cstrong\u003eHuiles 4 Elements\u003c\/strong\u003e ou de l'\u003cstrong\u003eHydrating Cream\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eAquarosa sur masque\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez l'\u003cstrong\u003eAquarosa Pro directement après le masque, sans rinçage intermédiaire\u003c\/strong\u003e. Pour une efficacité accrue, concentrez davantage et couplez au \u003cstrong\u003eBombastic\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003ePose et double shampoing\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eLaissez poser quelques instants et massez si possible. \u003cstrong\u003eDeux shampoings recommandés.\u003c\/strong\u003e\n\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinalisation\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec un conditionneur ou un masque selon le besoin.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eBoosters d'intégration — Nutrition \u0026amp; Volume\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eDeux variations pour amplifier l'effet selon le besoin\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eA\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eBoost nutrition\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003ePour un effet encore plus nourrissant, ajoutez directement \u003cstrong\u003eune cuillère d'Aqua Dolce\u003c\/strong\u003e dans votre mélange d'Aquarosa Pro. Appliquez, laissez poser quelques instants et rincez abondamment à l'eau tiède.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eBoost volume\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eMélangez l'Aquarosa Pro avec la mousse \u003cstrong\u003eAqua Vita\u003c\/strong\u003e. Son effet effervescent apporte du volume et renforce la détergence. Idéal pour les fourrures qui manquent de légèreté après le bain.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSéchage parfait\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDans les deux cas, finalisez le séchage en brossant avec \u003cstrong\u003eAqua Beauty\u003c\/strong\u003e ou \u003cstrong\u003eMix Pink\u003c\/strong\u003e pour un manteau encore plus doux et brillant.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n    \n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n    \u003c!-- Aquarosa au cœur + compléments modulaires Si... → Alors --\u003e\n    \u003cdiv class=\"aqr-assoc\"\u003e\n      \u003cp class=\"aqr-assoc-intro\"\u003eToute la gamme Special One est compatible. \u003cstrong\u003eÀ combiner librement\u003c\/strong\u003e selon le besoin du moment :\u003c\/p\u003e\n\n      \u003cdiv class=\"aqr-assoc-rules\"\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003evous couplez avec un autre shampoing…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e4Poodle · Bain Pro · Aquapure Pro\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque final est nécessaire…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune touche de finition s'impose…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Races en pilules arrondies --\u003e\n    \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eParfaitement calibré pour les textures exigeantes :\u003c\/h3\u003e\n    \u003cdiv class=\"aqr-races-mosaic\"\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐾 Tous les chiens en salon \u003cspan\u003e(limite le retour des nœuds)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures Frisées \u003cspan\u003e(Caniches, Bichons, Kerry Blue...)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🇬🇧 Cockers \u0026amp; Épagneuls \u003cspan\u003e(Anglais, Américains, Cavaliers...)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Manteaux Tibétains \u003cspan\u003e(Shih-Tzu, Lhassa Apso...)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e✨ Textures Soyeuses \u003cspan\u003e(Yorkshire, Lévriers Afghans...)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐕 Terriers \u003cspan\u003e(Scottish, Westie, Welsh...)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les Chats\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe non exhaustive — Aquarosa Pro convient à toutes les fourrures nécessitant nutrition intense.\u003c\/p\u003e\n\n    \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLS, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819444494515,"sku":"WAQ-AQRO250 (96)","price":19.9,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819444461747,"sku":"WAQ-AQRO5000 (98)","price":127.5,"currency_code":"EUR","in_stock":true},{"title":"10 Litres","offer_id":57582899233113,"sku":"WAQ-AQRO10000 (250)","price":218.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Aquarosa_b416a6e2-3b73-4c01-b49a-928e3e6e9050.png?v=1680188855"},{"product_id":"knot-knot-outil-special-crepage","title":"Knot-Knot : outil spécial crêpage","description":"\u003cp\u003eL'outil qui a tout d'une paire de ciseaux... mais qui ne coupe pas ! Spécial crêpage et top knots !\u003c\/p\u003e\u003cbr\u003e\u003cp\u003e\u003c\/p\u003e\u003ch1 style=\"text-align:center;\"\u003e\u003cstrong\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eKnot-Knot\u003c\/em\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h1\u003e\u003ch1 style=\"text-align:center;\"\u003e\u003cstrong\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eCiseaux pour Top-Knot\u003c\/em\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h1\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eGamme Pro pour Toiletteurs\u003c\/em\u003e\u003c\/span\u003e\u003c\/h2\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003e(toilettage chiens et chats)\u003c\/em\u003e\u003c\/span\u003e\u003c\/h2\u003e\u003ch3 style=\"text-align:center;\"\u003e\u003c\/h3\u003e\u003ch3 style=\"text-align:center;\"\u003e\u003c\/h3\u003e\u003ccenter\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/t\/3\/assets\/description_image_special_2.png?v=1608721015\" alt=\"\" width=\"192\" height=\"84\"\u003e\u003ccenter\u003e\u003c\/center\u003e\n\u003c\/center\u003e\u003cp style=\"text-align:center;\"\u003e\u003c\/p\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ctable width=\"316\" style=\"height:45px;margin-left:auto;margin-right:auto;\"\u003e\u003ctbody\u003e\u003ctr bgcolor=\"#923a6c\"\u003e\u003ctd\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003eDescription\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003c\/td\u003e\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp style=\"text-align:justify;\"\u003e\u003c\/p\u003e\u003cp\u003eSérie limitée ! Gamme pro, spécial crêpage\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819456618675,"sku":null,"price":73.1,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/436.jpg?v=1614083022"},{"product_id":"laque-brillance-final-fix-soft-ecologique","title":"Laque Brillance FINAL FIX SOFT Ecologique","description":"\u003cp\u003eLaque fixation légère pour donner tenue et texture sans aucun effet \"cartonné\". Sans résidu, sans danger pour le poil.\u003c\/p\u003e\n\u003cbr\u003e\n\u003cdiv\u003eFINAL FIX SOFT ECOLOGIC est une laque écologique, sans gaz, qui va vous permettre de donner brillance, tenue et texture au poil, sans jamais avoir le désagréable effet \"collant\" de certaines laques.\u003c\/div\u003e\n\u003cp\u003eTrès apprécié des chiens d'expos et de concours.\u003c\/p\u003e\n\u003cp\u003eS'enlève avec seulement quelques coups de brosses, ne laisse pas de résidus. Dernière génération de laque sans aucun danger pour le pelage.\u003c\/p\u003e\n\u003cp\u003eCette laque de toilettage aide à conditionner des textures fines et avec peu de structure, en particulier lors des coupures de ciseaux dans les races de chiens suivantes: Caniche, Bichon Frisé, Kerry blue terrier, Bedlington terrier. \u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003ePulvériser le produit à une distance d'environ 20-30 cm directement sur le pelage propre et peigné, finalisez la mise en forme avec un peigne.\u003cbr\u003eSeulement pour usage professionnel. Eviter le contact avec les yeux de l'animal.\u003cbr\u003eEn cas d'obstruction du distributeur, nettoyez-le en utilisant uniquement de l'eau chaude.\u003cbr\u003eContient la dernière génération de résines non endommageantes pour les poils  d'animaux.\u003cbr\u003e \u003cbr\u003e \u003cspan style=\"background-color: #ffffff;\"\u003e\u003c\/span\u003eFinalise parfaitement les toilettes des races à volume. Idéal après Platynum Pro, Extra Body Cream et Multifix par exemple.\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"200 mL","offer_id":37819466350771,"sku":"WEX-FSOE200 (13)","price":27.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/laquebrillantFinalFixSoft.png?v=1675852089"},{"product_id":"laque-final-fix-strong-ecologique","title":"Laque FINAL FIX STRONG Ecologique","description":"\u003cp\u003eLaque fixation FORTE pour figer la fourrure. Sans résidu, sans danger pour le poil.\u003c\/p\u003e\n\u003cbr\u003e\n\u003cdiv\u003eFINAL FIX STRONG ECOLOGIC : Fixation forte et rapide, sèche rapidement, facile à enlever à l'aide d'une brosse, ne laisse aucun résidu. Idéal pour la mise en place de tous les Top en Shih Tzu, Maltais, Yorkshire Terrier, Caniche et pour les créations artistiques Asian Style par exemple.\u003cbr\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cp\u003ePulvériser le produit sur la pointe du peigne et façonner le Top en fixant les poils pour un résultat final parfait.\u003c\/p\u003e\n\u003cdiv\u003ePuis vaporiser directement sur la fourrure à une distance d'environ 20-30 cm.\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003eSeulement pour usage professionnel. Eviter le contact avec les yeux de l'animal.\u003cbr\u003eSi le distributeur est bloqué, nettoyez-le avec de l'eau chaude.\u003cbr\u003eContient des résines naturelles non endommageantes pour les fourrures d'animaux.\u003cbr\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003eFinalise parfaitement les toilettes des races à volume. Idéal après Platynum Pro, Extra Body Cream et Multifix par exemple. \u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"200 mL","offer_id":37819466383539,"sku":"WEX-FSTE200 (120)","price":30.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/laquefinalFixStrong.png?v=1675852213"},{"product_id":"laque-final-fix-strong-gaz","title":"Laque FINAL FIX STRONG Gaz","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\u003c!-- INTRO --\u003e\n\u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n\u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n\u003cstrong\u003eLAQUE AÉROSOL\u003c\/strong\u003e est la laque professionnelle Special One à \u003cstrong\u003efixation forte\u003c\/strong\u003e et diffusion micro-fine pour un résultat invisible. Volume maximum, tenue maximale — sans alourdir, sans résidu. L'indispensable pour figer et modéliser la fourrure en concours.\u003c\/div\u003e\n\u003cdiv style=\"background: #fffbe6; border: 1px solid #f0e040; padding: 14px 18px; margin-bottom: 20px; font-size: 13px; border-radius: 2px;\"\u003e⚠️ \u003cstrong\u003eProduit réservé à un usage professionnel uniquement.\u003c\/strong\u003e Éviter le contact avec les yeux de l'animal.\u003c\/div\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n\u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eLe produit de finition de référence pour les professionnels et les compétiteurs.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Eleveurs\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n\u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- EXPERTISE \u0026 RÉSULTATS --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\u003cp style=\"font-size: 14px;\"\u003eGrâce à sa technologie de \u003cstrong\u003ediffusion micro-fine\u003c\/strong\u003e et à ses \u003cstrong\u003erésines naturelles non endommageantes\u003c\/strong\u003e, la Laque Aérosol Special One se dépose de manière invisible sur le poil, fixant la structure du manteau sans l'alourdir. Elle sèche rapidement et s'élimine facilement à la brosse, sans laisser aucun résidu.\u003c\/p\u003e\n\u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n\u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eFixation Forte :\u003c\/strong\u003e Fige la fourrure et maintient le volume dans la durée.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDiffusion Micro-Fine :\u003c\/strong\u003e Résultat invisible, sans effet collant ni dépôt visible.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eSéchage Rapide :\u003c\/strong\u003e Prise immédiate pour un travail fluide en exposition.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eFacile à Retirer :\u003c\/strong\u003e S'enlève simplement à la brosse, sans relavage obligatoire.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eRésines Naturelles :\u003c\/strong\u003e Formule non endommageante pour tous les types de fourrure.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- COMPOSITION --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eComposition : Focus sur du Naturel\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation professionnelle alliant tenue maximale et respect du poil.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n\u003cstrong\u003e🍀 Résines Naturelles\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAgents fixants d'origine naturelle, non endommageants pour la fibre du poil — offrent tenue forte et finition invisible.\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n\u003cstrong\u003e🍀 Technologie Micro-Fine\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eDiffusion ultra-fine pour un dépôt homogène et léger — volume maximal sans effet lourd ni résidu.\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- PROTOCOLES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'Utilisations\u003c\/span\u003e\n\u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n\u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 1 🔥 Fixation \u0026amp; Volume — Application Classique\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eSur poil propre et peigné :\u003cbr\u003e\u003cbr\u003e1. Vaporiser la laque à une distance d'environ \u003cstrong\u003e20 à 30 cm\u003c\/strong\u003e du pelage.\u003cbr\u003e2. Travailler \u003cstrong\u003esection par section\u003c\/strong\u003e pour un dépôt homogène.\u003cbr\u003e3. Modeler à l'aide de peignes et de brosses pour obtenir le résultat final souhaité.\u003cbr\u003e4. Laisser sécher quelques instants — la prise est rapide.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n\u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExemple 2 🔥 Modélisation du Top-Knot (Caniche, races à volume)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eApplication ciblée sur la touffe et les zones de volume :\u003cbr\u003e\u003cbr\u003e1. Après préparation du top-knot (brushing, mise en volume), vaporiser à \u003cstrong\u003e20-30 cm\u003c\/strong\u003e.\u003cbr\u003e2. Figer la structure en maintenant légèrement le poil avec les doigts ou un peigne fin pendant la prise.\u003cbr\u003e3. Retravailler si nécessaire à la brosse — la laque se repositionne facilement avant séchage complet.\u003cbr\u003e4. ⚠️ En cas de buse obstruée : nettoyer le diffuseur à l'\u003cstrong\u003eeau chaude\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdiv style=\"margin-top: 20px; padding: 20px; background: #fff; border: 1px dashed #1a1a1a;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: bold; text-transform: uppercase; display: block; margin-bottom: 10px;\"\u003e🛠️ BIEN UTILISER LA LAQUE AÉROSOL :\u003c\/span\u003e\n\u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e1️⃣ Toujours appliquer sur poil \u003cstrong\u003epropre, sec et peigné\u003c\/strong\u003e.\u003cbr\u003e2️⃣ Maintenir le spray à \u003cstrong\u003e20-30 cm\u003c\/strong\u003e du pelage pour une diffusion micro-fine homogène.\u003cbr\u003e3️⃣ Travailler par zones et modeler \u003cstrong\u003eavant séchage complet\u003c\/strong\u003e pour ajuster.\u003cbr\u003e4️⃣ Retirer à la brosse en fin de séance — \u003cstrong\u003eaucun relavage requis\u003c\/strong\u003e.\u003cbr\u003e5️⃣ En cas de buse bouchée : nettoyer à l'\u003cstrong\u003eeau chaude\u003c\/strong\u003e.\u003cbr\u003e6️⃣ \u003cstrong\u003eUsage professionnel uniquement\u003c\/strong\u003e — éviter le contact avec les yeux de l'animal.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ASSOCIATIONS \u0026 RACES --\u003e\n\u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n\u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Finalise parfaitement les toilettes des races à volume. Idéal en étape finale après \u003cstrong\u003ePlatynum Pro\u003c\/strong\u003e, \u003cstrong\u003eExtra Body Cream\u003c\/strong\u003e et \u003cstrong\u003eMultifix\u003c\/strong\u003e.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Caniches — modélisation et tenue du top-knot en show et grooming competition.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Bichons, Maltais — volume et maintien de la structure du manteau, top knot\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Terriers à poil dur (West Highland, Scottish, Welsh…) — fixation de la silhouette taillée et\/ou montage de la tête\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Shih-Tzu, Yorkshire — top knot en exposition.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Toutes races à volume présentées en concours — finition professionnelle invisible.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n\u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eRésines Naturelles | Usage Professionnel | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"500 mL","offer_id":37819478212787,"sku":"WEX-FESTG500 (121)","price":25.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-43.png?v=1651841359"},{"product_id":"icepet-serviette-rafraichissante-sechage-pour-chien-special-one","title":"IcePet Serviette rafraîchissante \u0026 séchage RAPIDE pour chien SPECIAL ONE","description":"\u003ch2 data-section-id=\"2vd47b\" data-start=\"66\" data-end=\"157\"\u003eServiette rafraîchissante pour chien ICEPET par Special One – Refroidissement rapide et séchage accéléré\u003c\/h2\u003e\n\u003ch3 data-section-id=\"80teps\" data-start=\"159\" data-end=\"225\"\u003eDouble utilité : fraîcheur immédiate et séchage ultra rapide\u003c\/h3\u003e\n\u003cp data-start=\"226\" data-end=\"404\"\u003eLa serviette rafraîchissante ICEPET est conçue pour aider votre chien à mieux supporter la chaleur tout en offrant un séchage rapide après le bain ou les activités extérieures.\u003c\/p\u003e\n\u003cp data-start=\"406\" data-end=\"575\"\u003eFabriquée en matériau PVA hautement absorbant, elle assure un refroidissement efficace par simple immersion dans l’eau. Son activation est rapide, facile et sans effort.\u003c\/p\u003e\n\u003chr data-start=\"577\" data-end=\"580\"\u003e\n\u003ch2 data-section-id=\"1hevikx\" data-start=\"582\" data-end=\"641\"\u003eLes avantages de la serviette rafraîchissante pour chien\u003c\/h2\u003e\n\u003cul data-start=\"643\" data-end=\"944\"\u003e\n\u003cli data-section-id=\"fqetun\" data-start=\"643\" data-end=\"699\"\u003eRefroidissement instantané en cas de fortes chaleurs\u003c\/li\u003e\n\u003cli data-section-id=\"16y44wr\" data-start=\"700\" data-end=\"746\"\u003eSéchage rapide après baignade ou promenade\u003c\/li\u003e\n\u003cli data-section-id=\"1uzi3kr\" data-start=\"747\" data-end=\"779\"\u003eMatériau PVA ultra absorbant\u003c\/li\u003e\n\u003cli data-section-id=\"11avmue\" data-start=\"780\" data-end=\"815\"\u003eActivation simple avec de l’eau\u003c\/li\u003e\n\u003cli data-section-id=\"fisjmg\" data-start=\"816\" data-end=\"853\"\u003eEffet rafraîchissant longue durée\u003c\/li\u003e\n\u003cli data-section-id=\"t9oyl4\" data-start=\"854\" data-end=\"896\"\u003eRéutilisable et facilement réactivable\u003c\/li\u003e\n\u003cli data-section-id=\"aabm6w\" data-start=\"897\" data-end=\"944\"\u003eUtilisation en intérieur comme en extérieur\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003chr data-start=\"946\" data-end=\"949\"\u003e\n\u003ch2 data-section-id=\"1ilt2zm\" data-start=\"951\" data-end=\"981\"\u003eCaractéristiques techniques\u003c\/h2\u003e\n\u003cul data-start=\"983\" data-end=\"1132\"\u003e\n\u003cli data-section-id=\"4bbc3k\" data-start=\"983\" data-end=\"1010\"\u003eDimensions : 66 x 43 cm\u003c\/li\u003e\n\u003cli data-section-id=\"19r3rym\" data-start=\"1011\" data-end=\"1046\"\u003eMatière : PVA haute performance\u003c\/li\u003e\n\u003cli data-section-id=\"yf09cj\" data-start=\"1047\" data-end=\"1096\"\u003eTechnologie : refroidissement par évaporation\u003c\/li\u003e\n\u003cli data-section-id=\"1k7rkvb\" data-start=\"1097\" data-end=\"1132\"\u003eConvient à tous types de chiens\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003chr data-start=\"1134\" data-end=\"1137\"\u003e\n\u003ch2 data-section-id=\"yqp94\" data-start=\"1139\" data-end=\"1203\"\u003ePourquoi choisir cette serviette rafraîchissante pour chien ?\u003c\/h2\u003e\n\u003cp data-start=\"1205\" data-end=\"1288\"\u003eCette serviette est idéale en été ou lors de températures élevées. Elle permet de :\u003c\/p\u003e\n\u003cul data-start=\"1290\" data-end=\"1466\"\u003e\n\u003cli data-section-id=\"22zjwc\" data-start=\"1290\" data-end=\"1336\"\u003eRéguler la température corporelle du chien\u003c\/li\u003e\n\u003cli data-section-id=\"18xldz0\" data-start=\"1337\" data-end=\"1378\"\u003eLimiter les risques liés à la chaleur\u003c\/li\u003e\n\u003cli data-section-id=\"gb5w8h\" data-start=\"1379\" data-end=\"1428\"\u003eApporter une sensation de fraîcheur immédiate\u003c\/li\u003e\n\u003cli data-section-id=\"17oam2q\" data-start=\"1429\" data-end=\"1466\"\u003eAméliorer le confort au quotidien\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-start=\"1468\" data-end=\"1547\"\u003eC’est une solution simple et efficace pour protéger votre animal de la chaleur.\u003c\/p\u003e\n\u003chr data-start=\"1549\" data-end=\"1552\"\u003e\n\u003ch2 data-section-id=\"1azcm7d\" data-start=\"1554\" data-end=\"1570\"\u003eMode d’emploi\u003c\/h2\u003e\n\u003ch3 data-section-id=\"z14ncp\" data-start=\"1572\" data-end=\"1598\"\u003ePremière utilisation\u003c\/h3\u003e\n\u003cp data-start=\"1599\" data-end=\"1712\"\u003ePlonger la serviette dans l’eau pendant environ une minute, puis presser délicatement pour enlever l’excès d’eau.\u003c\/p\u003e\n\u003ch3 data-section-id=\"16aaxmt\" data-start=\"1714\" data-end=\"1731\"\u003eUtilisation\u003c\/h3\u003e\n\u003cul data-start=\"1732\" data-end=\"1912\"\u003e\n\u003cli data-section-id=\"wg8cir\" data-start=\"1732\" data-end=\"1773\"\u003eEnvelopper le chien avec la serviette\u003c\/li\u003e\n\u003cli data-section-id=\"z08fyv\" data-start=\"1774\" data-end=\"1816\"\u003eOu la placer directement sur son corps\u003c\/li\u003e\n\u003cli data-section-id=\"zsgd9d\" data-start=\"1817\" data-end=\"1912\"\u003ePeut également être positionnée sous les pattes pour une diffusion optimale de la fraîcheur\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-start=\"1914\" data-end=\"2009\"\u003eLorsque la serviette commence à sécher, il suffit de la replonger dans l’eau pour la réactiver.\u003c\/p\u003e\n\u003chr data-start=\"2011\" data-end=\"2014\"\u003e\n\u003ch2 data-section-id=\"yat78p\" data-start=\"2016\" data-end=\"2042\"\u003eUtilisation alternative\u003c\/h2\u003e\n\u003cul data-start=\"2044\" data-end=\"2117\"\u003e\n\u003cli data-section-id=\"nzjtmy\" data-start=\"2044\" data-end=\"2117\"\u003ePeut également être utilisée comme serviette de séchage pour le chien\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003chr data-start=\"2119\" data-end=\"2122\"\u003e\n\u003ch2 data-section-id=\"atfm13\" data-start=\"2124\" data-end=\"2152\"\u003eEntretien et conservation\u003c\/h2\u003e\n\u003ch3 data-section-id=\"1hwmkvs\" data-start=\"2154\" data-end=\"2169\"\u003eNettoyage\u003c\/h3\u003e\n\u003cp data-start=\"2170\" data-end=\"2226\"\u003eLavable en machine ou à la main avec un détergent doux\u003c\/p\u003e\n\u003ch3 data-section-id=\"zumylh\" data-start=\"2228\" data-end=\"2242\"\u003eStockage\u003c\/h3\u003e\n\u003cp data-start=\"2243\" data-end=\"2305\"\u003eConserver dans le tube fourni ou maintenir légèrement humide\u003c\/p\u003e\n\u003ch3 data-section-id=\"fnklz4\" data-start=\"2307\" data-end=\"2322\"\u003eImportant\u003c\/h3\u003e\n\u003cp data-start=\"2323\" data-end=\"2492\"\u003eLa serviette peut devenir rigide en séchant.\u003cbr data-start=\"2367\" data-end=\"2370\"\u003eNe pas plier lorsqu’elle est sèche.\u003cbr data-start=\"2405\" data-end=\"2408\"\u003ePour la réutiliser, il suffit de la réhydrater pour qu’elle retrouve sa souplesse.\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819478245555,"sku":"(T403)","price":9.5,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/570.jpg?v=1614083154"},{"product_id":"drycoat-chien-pour-toilettage-expositions-1","title":"Dry Coat special Cavalier King Charles Toilettage Expositions","description":"\u003cp\u003e\u003cspan\u003eLe dry coat vous permet de finaliser votre brushing en plaquant parfaitement le poil de votre chien.\u003c\/span\u003e\u003c\/p\u003e\u003cbr\u003e\u003ch1 style=\"text-align:center;\"\u003e\u003cstrong\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eDry Dog Coat \u003c\/em\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h1\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003eSpecial Cavalier King Charles\u003c\/span\u003e\u003c\/h2\u003e\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003eMade in United Kingdom\u003c\/span\u003e\u003c\/h3\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ctable width=\"316\" style=\"height:45px;margin-left:auto;margin-right:auto;\"\u003e\u003ctbody\u003e\u003ctr bgcolor=\"#923a6c\"\u003e\u003ctd\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003eComment fonctionne ce manteau révolutionnaire ?\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003c\/td\u003e\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp style=\"text-align:justify;\"\u003e\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e\u003cbr\u003eCette marque de Dry Dog Coat est particulièrement prisée en expositions canins pour ses nombreuses qualités.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eLes poils de vos chiens resteront droits, brillants, et parfaitement conditionnés pour le show ! Ce DryDogCoat vous permettra une mise en forme qu'aucun brushing ne pourra égaler.\u003c\/strong\u003e Vous pourrez ainsi :\u003c\/p\u003e\u003cp\u003e• maîtriser le volume de l'encolure, ce qui augmentera l'élégance de l'animal et améliorera son épaule\u003c\/p\u003e\u003cp\u003e• figer le pelage sur toute la ligne de dos, sans épis disgracieux qui renvoit une mauvaise image, et pénalise le chien\u003c\/p\u003e\u003cp\u003e• plaquer à merveille tous les poils rebelles, les mèches qui rebiquent, ou encore les touffes qui frisent\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cdiv\u003e\u003cstrong\u003eQuand l'utiliser ?\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cstrong\u003eUne seule et unique manière : le DryCoat s'utilise après une séance de toilettage classique. Vous commencez ainsi par un bon bain + démêlage. Pensez à utiliser d'\u003ca href=\"https:\/\/www.google.fr\/url?sa=t\u0026amp;rct=j\u0026amp;q=\u0026amp;esrc=s\u0026amp;source=web\u0026amp;cd=\u0026amp;cad=rja\u0026amp;uact=8\u0026amp;ved=0ahUKEwi_utyJ2-LRAhUC2hoKHeSIClYQFggnMAE\u0026amp;url=https%3A%2F%2Fwww.petdesign.fr%2F13_special-one\u0026amp;usg=AFQjCNHHkio6uXfnisdjxKODQdyc7gAoUg\u0026amp;sig2=OfUqaZNf8ztf-hrIr0mYSg\u0026amp;bvm=bv.145063293,d.d2s\"\u003eexcellents produits cosmétiques lorsque vous toilettez\u003c\/a\u003e vos animaux, le résultat n'en sera que meilleur et plus durable.\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003eAprès le bain, soignez au maximum l'application du conditionner, et soyez méticuleux lors de votre \u003ca href=\"https:\/\/www.google.fr\/url?sa=t\u0026amp;rct=j\u0026amp;q=\u0026amp;esrc=s\u0026amp;source=web\u0026amp;cd=\u0026amp;cad=rja\u0026amp;uact=8\u0026amp;ved=0ahUKEwjQ-MKd2-LRAhXMXhoKHTODChIQFggaMAA\u0026amp;url=https%3A%2F%2Fwamiz.com%2Fchiens%2Fguide%2Fle-sechage-du-chien-apres-son-bain-0313.html\u0026amp;usg=AFQjCNGyoY1_TEuXtjWtuMBHwGT8_OkiNA\u0026amp;sig2=wnxxF9GR5RwyhQKAJKpbyg\u0026amp;bvm=bv.145063293,d.d2s\"\u003ebrushing\u003c\/a\u003e. Une fois le chien sec, vous enfilez de manière attentive et soignée le dry dog coat sur un pelage bien conditionné. Faites attention à ce que le position qui va être figée corresponde bien à vos attente... N'espérez pas avoir un résultat satisfaisant si votre poil est désordonné et ébouriffé... Plus la fourrure de votre chien d'exposition est difficile à coiffer, plus vous laisserez le manteau en place. Cela pourra aller de 30mn jusqu'à une nuit entière selon l'intensité souhaitée.\u003c\/div\u003e\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\n\u003ctd\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/t\/3\/assets\/description_image_COUP_DE_COEUR.png?v=1608720534\" alt=\"\" width=\"90%\" height=\"90%\"\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003ch2\u003e\u003cstrong\u003e\u003cspan\u003eCe qui nous a plu :\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\n\u003ch6\u003e☑ Son efficacité redoutable\u003c\/h6\u003e\n\u003ch6\u003e☑ La facilité d'utilisation\u003c\/h6\u003e\n\u003ch6\u003e☑ Fait-man\u003c\/h6\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp\u003e\u003c\/p\u003e\u003cdiv style=\"height:10px;\"\u003e\u003c\/div\u003e\u003cdiv style=\"height:40px;\"\u003e\u003c\/div\u003e\u003ctable width=\"316\" style=\"margin-left:auto;margin-right:auto;\"\u003e\u003ctbody\u003e\u003ctr bgcolor=\"#923a6c\"\u003e\u003ctd\u003e\n\u003cp\u003e\u003c\/p\u003e\n\u003ch3 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003eGuide des tailles\u003c\/span\u003e\u003c\/h3\u003e\n\u003c\/td\u003e\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003e\u003cbr\u003eTrois tailles disponibles :\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003eSmall : 22\"\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003eMedium : 23\"\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003eLarge : 24\"\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003e22\" correspondent à une longueur totale (de l'attache de queue jusqu'aux yeux) de 55cm en suivant bien le dos, l'encolure et le crâne\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003e23\" correspondent à une longueur totale de 58cm\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003e24\" à 61cm\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/t\/3\/assets\/description_image_measure_LRG.jpg?v=1608721436\" alt=\"\" width=\"455\" height=\"468\"\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"Small - 22\"","offer_id":37819478409395,"sku":"2804","price":27.5,"currency_code":"EUR","in_stock":false},{"title":"Medium - 23\"","offer_id":37819478442163,"sku":"-205","price":27.5,"currency_code":"EUR","in_stock":false},{"title":"Large - 24\"","offer_id":37819478474931,"sku":null,"price":27.5,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/588.jpg?v=1612799576"},{"product_id":"eponge-bambou-toilettage","title":"Eponge en Bambou - Application optimale des produits","description":"\u003cp\u003eSpray idéal pour vaporiser vos produits de finition\u003c\/p\u003e\u003cbr\u003e\u003cdiv class=\"bloc_logo_marque\"\u003e\n\u003ch1\u003eEponge en Bambou - Made in Italy\u003c\/h1\u003e\n\u003ch2\u003eUne éponge douce enrichie en extrait de bambou, sa texture spécifique est idéale pour l'application de cosmétiques professionnels sur les animaux.\u003c\/h2\u003e\n\u003cp\u003eLes ingrédients actifs qui la composent contribuent à créer un effet hydratant, tonifiant et anti-irritant sur la peau.\u003c\/p\u003e\n\u003cp\u003eNe contient pas de latex. Ce produit est fabriqué en Italie et testé dermatologiquement.\u003c\/p\u003e\n\u003c\/div\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eAprès dilution des produits, utiliser cette éponge pour une application parfaite et agréable des cosmétiques.\u003c\/p\u003e\u003cp\u003eQue ce soit pour les masques pré bains, les shampoings et même les masque après-shampoing, nous n'utilisons que ces éponges. Efficacité prouvée.\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819484504243,"sku":"EPB1 (85)","price":5.5,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/IMG_2993.jpg?v=1612948973"},{"product_id":"snood-de-sechage-cache-oreilles-anti-bruits","title":"Snood de séchage - cache oreilles anti bruits","description":"\u003cp\u003eIdéal pour éviter au chien le stress du séchage. Anti bruit, il calmera fortement n'importe quel animal agité ou apeuré par le bruit du pulseur.\u003c\/p\u003e\u003cbr\u003e\u003cdiv class=\"bloc_logo_marque\"\u003e\n\u003ch1\u003e\u003cspan\u003eCe snood de séchage a été conçu pour calmer les chiens et pour diminuer le stress dans un salon de toilettage, à la maison, par mauvais temps ou même lors des feux d'artifice. \u003c\/span\u003e\u003c\/h1\u003e\n\u003cp\u003e\u003cspan\u003eLe cache oreilles a été créé dans une matière confortable, douce, en tissu extensible qui calme le chien par compression autour de la tête et des oreilles... ce qui l'isole du son. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ePeut aussi être utiliser pour tenir les oreilles pendant le toilettage ou dans d’autres situations de stress comme par exemple en coupant les ongles. Disponible en 4 tailles qui conviennent à toutes les races. \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"Small (S)","offer_id":37819484635315,"sku":"2877","price":9.1,"currency_code":"EUR","in_stock":false},{"title":"Medium (M)","offer_id":37819484668083,"sku":"2878","price":10.1,"currency_code":"EUR","in_stock":false},{"title":"Large (L)","offer_id":37819484700851,"sku":"2879","price":11.0,"currency_code":"EUR","in_stock":false},{"title":"Extra Large (XL)","offer_id":37819484733619,"sku":"2880","price":12.1,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/599.jpg?v=1614083199"},{"product_id":"masque-toilettage-argile-verte","title":"DETOX THERAPY masque pré-bain à l'argile verte","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eDetox Therapy – Special One | Fiche Produit\u003c\/title\u003e\n\n\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eDETOX THERAPY\u003c\/strong\u003e est le masque pré-bain professionnel Special One formulé à l'argile verte — \u003cem\u003ela \"terre qui guérit mille maux\"\u003c\/em\u003e — pour agir contre les principales anomalies de la peau du chien et du chat. \u003cstrong\u003ePurifiante, antiseptique, régénérante\u003c\/strong\u003e : un remède naturel et efficace dès le premier traitement.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — en curatif sur les animaux présentant des anomalies cutanées, et en préventif sur les races prédisposées.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eFormulé à base d'\u003cstrong\u003eargile verte à charge bactérienne contrôlée\u003c\/strong\u003e, riche en oligo-éléments et sels minéraux, Detox Therapy possède d'extraordinaires propriétés purifiantes, tonifiantes et anti-âge. Il traite les anomalies cutanées \u003cstrong\u003etout en préservant le film hydrolipidique\u003c\/strong\u003e — sans agresser la peau, même sur les animaux les plus sensibles.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePeau saine :\u003c\/strong\u003e Traite les problèmes cutanés en préservant le film hydrolipidique, sans agresser.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-odeur :\u003c\/strong\u003e Lutte contre les mauvaises odeurs liées aux dérèglements épidermiques et à la mauvaise gestion du sébum.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePolyvalent :\u003c\/strong\u003e Aide à lutter contre toutes les formes d'alopécie, prurit, irritation et hot spots.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAssainissement profond :\u003c\/strong\u003e Purifie et régénère les cellules dès le premier traitement.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRééquilibrage :\u003c\/strong\u003e Régule le sébum en excès et rééquilibre aussi bien les peaux grasses que déshydratées.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eOxygénation des tissus :\u003c\/strong\u003e Tonifie et stimule la microcirculation cutanée, améliorant l'oxygénation et la vitalité de la peau.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-pellicules :\u003c\/strong\u003e Régule le cuir chevelu et réduit les squames.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eApaisant :\u003c\/strong\u003e Soulage les peaux irritées ou réactives — idéal après épilation ou brossage énergique.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDétoxifiant \u0026amp; rafraîchissant :\u003c\/strong\u003e Nettoie en profondeur tout en apportant une sensation de fraîcheur immédiate.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eUniversel :\u003c\/strong\u003e Convient aux chiens et chats de tous âges, du bébé au sénior.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 3 : ACTIFS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation 100 % naturelle, axée sur l'assainissement, la protection et la régénération cutanée — sans parabens, sans silicone.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Argile Verte (Fuller's Earth)\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eÀ charge bactérienne contrôlée : absorbante, antiseptique et antibactérienne. Capte sébum et impuretés, assainit et régénère la peau en profondeur.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Allantoïne\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eLénitive et régénérante — protège la peau des rougeurs et irritations, favorise la cicatrisation des zones sensibles.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Extrait d'Algue Fucus Vesiculosus\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en minéraux marins — améliore l'élasticité cutanée, donne force et brillance naturelle au manteau.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Collagène Hydrolysé\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eHydrate et renforce la structure de la peau — améliore l'élasticité et la santé globale du manteau.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Potassium\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRégule l'hydratation cellulaire et maintient l'élasticité de la peau pour un manteau souple et résistant.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Calcium\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRenforce les défenses naturelles de la peau — aide à mieux se protéger contre les agressions extérieures et les irritations.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Purifying Complex\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eComplexe d'actifs rééquilibrants qui maintient la peau propre et fraîche durablement — lutte contre les mauvaises odeurs et la forfora.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdiv style=\"margin-bottom: 10px; padding: 12px 15px; background: #fff; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n      💡 \u003cstrong\u003eToujours appliquer sur poil sec et encore sale.\u003c\/strong\u003e Ne pas rincer avant de passer au shampoing — le premier shampoing s'applique directement sur le masque en pose.\n    \u003c\/div\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Application standard — assainissement \u0026amp; purification\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        1. Diluez Detox Therapy avec de l'eau (\u003cstrong\u003e1\/10 à 1\/20\u003c\/strong\u003e selon l'intensité souhaitée) ou appliquez \u003cstrong\u003epur sur les zones à traitement localisé et intensif\u003c\/strong\u003e.\u003cbr\u003e\n        2. Appliquez sur le poil sec et sale. Massez doucement pour faire pénétrer le masque.\u003cbr\u003e\n        3. Laissez poser \u003cstrong\u003e5 à 10 minutes\u003c\/strong\u003e.\u003cbr\u003e\n        4. Sans rincer, appliquez directement le shampoing \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e sur le masque en pose.\u003cbr\u003e\n        5. Finalisez avec un après-shampoing : \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e et\/ou \u003cstrong\u003eBombastic\u003c\/strong\u003e.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Traitement curatif — alopécie, prurit, hot spots, irritations\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Sur les animaux présentant des anomalies cutanées déclarées :\u003cbr\u003e\n        1. Appliquez le masque \u003cstrong\u003epur sur les zones affectées\u003c\/strong\u003e (hot spots, zones de prurit, plaques d'alopécie).\u003cbr\u003e\n        2. Diluez à \u003cstrong\u003e1\/10\u003c\/strong\u003e pour l'application sur le reste du corps.\u003cbr\u003e\n        3. Massez doucement et laissez agir \u003cstrong\u003e10 minutes\u003c\/strong\u003e minimum pour une action thérapeutique maximale.\u003cbr\u003e\n        4. Passez directement à l'\u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e sans rincer au préalable.\u003cbr\u003e\n        Ce protocole peut être répété à chaque bain jusqu'à amélioration visible de l'état cutané.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Post-épilation — traitement \u0026amp; repousse saine\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Detox Therapy est particulièrement recommandé \u003cstrong\u003eimmédiatement après l'épilation\u003c\/strong\u003e :\u003cbr\u003e\n        1. Appliquez le masque pur ou légèrement dilué sur les zones épilées encore sèches.\u003cbr\u003e\n        2. Massez doucement — l'argile verte apaise instantanément les peaux réactives post-épilation.\u003cbr\u003e\n        3. Laissez poser 5 à 10 minutes, puis passez à l'\u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e sans rincer.\u003cbr\u003e\n        L'action purifiante et régénérante de l'argile prépare les follicules pour \u003cstrong\u003eune repousse saine et de qualité\u003c\/strong\u003e.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eToute la gamme Special One est compatible avec Detox Therapy. Nos alliances préférées :\u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n      🤝 \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e en shampoing (association recommandée systématiquement) ·\n      🤝 \u003cstrong\u003eHydrating Cream, Bombastic, Aqua Dolce\u003c\/strong\u003e en masque final\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tous les chats et tous les chiens présentant les anomalies cutanées évoquées — usage curatif.\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Toutes les races qu'on épile — traitement immédiat post-épilation pour une belle repousse.\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee; font-weight: 600; font-size: 12px; color: #555; text-transform: uppercase; letter-spacing: 0.05em;\"\u003eRaces à utilisation préventive recommandée\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Bouledogue Français \u0026amp; Carlins — peaux à plis, séborrhée et irritations fréquentes.\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Chien Chinois à Crête — peau nue particulièrement exposée aux agressions.\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Golden Retriever — tendance aux irritations et à l'excès de sébum.\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"padding: 10px 0;\"\u003e✔️ Shar-Pei — peaux à plis profonds, prédisposées aux infections et aux déséquilibres cutanés.\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben, DEA, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"5 Litres","offer_id":37819484995763,"sku":"WAQ-GRCL5000 (127)","price":152.9,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":57210676511065,"sku":"(80)","price":52.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/eleven_9.png?v=1771968021"},{"product_id":"aquaterme-argile-verte","title":"AQUA TERME PRO, shampoing soin à l'argile","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 14px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eAQUA TERME PRO\u003c\/strong\u003e est le shampoing professionnel Special One formulé à l’\u003cstrong\u003eargile verte et à la menthe\u003c\/strong\u003e, dédié aux peaux nécessitant une action traitante. Il \u003cstrong\u003epurifie et nettoie en profondeur\u003c\/strong\u003e tout en respectant le film hydrolipidique — sans aucune concession sur le résultat : visuel superbe et brushing parfait.\n    \u003c\/div\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      C’est aussi \u003cstrong\u003ele shampoing idéal des chiens à problèmes d’odeur\u003c\/strong\u003e : grâce à l’Aqua Terme, tous terminent le toilettage avec une odeur merveilleusement fraîche.\n    \u003c\/div\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — en \u003cstrong\u003ecuratif\u003c\/strong\u003e sur les animaux présentant des anomalies cutanées, et en \u003cstrong\u003epréventif\u003c\/strong\u003e sur les races prédisposées.\u003c\/p\u003e\n\n    \u003cdiv class=\"aqr-audience\"\u003e\n      \u003cdiv class=\"aqr-audience-grid\"\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eGrâce à sa teneur en \u003cstrong\u003eargile verte et extrait de menthe\u003c\/strong\u003e, l’Aqua Terme Pro purifie en profondeur, apaise les peaux déshydratées ou réactives et redonne éclat et fraîcheur aux manteaux ternes. Sa formule traitante n’a aucune incidence sur la qualité du toilettage : \u003cstrong\u003eaction thérapeutique et résultat visuel impeccable vont de pair\u003c\/strong\u003e.\u003c\/p\u003e\n    \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n      \u003cdiv class=\"aqr-benefits-grid\"\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePeau saine\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eTraite les problèmes cutanés en préservant le film hydrolipidique, sans agresser.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 8h9a2 2 0 1 0-2-2\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 12h13a2 2 0 1 1-2 2\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 16h7a2 2 0 1 1-2 2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-odeur\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eLutte contre les mauvaises odeurs liées aux dérèglements épidermiques et au sébum.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l9 5-9 5-9-5z\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 13l9 5 9-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePolyvalent\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAide à lutter contre alopécie, prurit, irritations et hot spots.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAssainissement \u0026amp; purification\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eNettoie et régénère les cellules en profondeur dès le premier usage.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-pellicules\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eRégule le cuir chevelu et réduit nettement les squames.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eApaisant\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eSoulage les peaux irritées ou réactives — idéal après épilation ou brossage énergique.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 19C5 11 11 5 19 5c0 8-6 14-14 14z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 19c4-4 7-6 11-7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eDouceur \u0026amp; fraîcheur\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAjoute éclat et fraîcheur aux manteaux ternes et sans vie.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 7;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 15l6-6 6 6\"\u003e\u003c\/path\u003e\u003cpath d=\"M6 9l6-6 6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eTenue des fourrures fines\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eDonne de la tenue aux poils très fins qui manquent de volume (ex. Caniches gris, roux).\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 8;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eDétoxifiant \u0026amp; rafraîchissant\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eÉlimine toxines et impuretés cutanées avec une sensation de fraîcheur immédiate.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 9;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"4\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"1.2\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAlopécie X du Spitz\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eRecommandé en bain hebdomadaire dans le protocole de suivi et de repousse.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 10;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"9\" cy=\"13\" r=\"4\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"16\" cy=\"9\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17.5\" cy=\"15\" r=\"1.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eMousse exceptionnelle\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eMousse à merveille en salon : application aisée et bonne dépose des actifs.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 11;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"9\" r=\"5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M9 13.5L7.5 21 12 18.5 16.5 21 15 13.5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eRésultat professionnel\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAction traitante sans compromis — visuel superbe et brushing parfait.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de l'Aqua Terme Pro\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e\n        \n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Soin peau\", value: 5 }, { label: \"Volume\", value: 4 }, { label: \"Moussant\", value: 4 }, { label: \"Texture\", value: 3 }, { label: \"Hydratation\", value: 3 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Aqua Terme Pro - fiabilisee) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de l'Aqua Terme Pro : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn complexe minéral et végétal entièrement naturel — \u003cstrong\u003eargile verte, menthe et plantes purifiantes\u003c\/strong\u003e, sans SLS, sans parabens, sans silicone. Voici, zone par zone, comment chaque actif agit sur la peau et le poil.\u003c\/p\u003e\n\n    \u003c!-- CARTOGRAPHIE --\u003e\n    \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e\n      \u003cdiv class=\"aqr-grid\"\u003e\n\n        \u003cdiv class=\"aqr-col-list\"\u003e\n          \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-schema\"\u003e\n          \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n            \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l'Aqua Terme Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e\n            \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n            \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-info\"\u003e\n          \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'argile', label:'Argile Verte', latin:'Fuller’s Earth', family:'aqua',\n          desc:\"Argile minérale antibactérienne et absorbante : elle purifie la peau en profondeur, capte le sébum en excès et régénère les cellules cutanées.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Capture du sébum\", benefit:\"Absorbe l'excès de sébum et assainit les glandes sébacées.\" },\n            { anchor:'epiderme', action:\"Purification profonde\", benefit:\"Capte impuretés et toxines, puis régénère les cellules de surface.\" }\n          ]\n        },\n        {\n          id:'mineral', label:'Complexe Minéral', latin:'Fer · Calcium · Silicium · Magnésium · Potassium', family:'aqua',\n          desc:\"Oligo-éléments essentiels qui reminéralisent la peau, renforcent le manteau et lui restituent force et brillance naturelle.\",\n          targets: [\n            { anchor:'derme', action:\"Reminéralisation\", benefit:\"Apporte les oligo-éléments qui renforcent la structure cutanée en profondeur.\" },\n            { anchor:'tige_poil', action:\"Force \u0026 brillance\", benefit:\"Restitue résistance et brillance naturelle au manteau.\" }\n          ]\n        },\n        {\n          id:'menthe', label:'Menthol \u0026 Huile de Tea Tree', latin:'Mentha \u0026 Melaleuca', family:'botanic',\n          desc:\"Duo rafraîchissant, lénitif et purifiant : effet immédiat de bien-être qui apaise les irritations cutanées.\",\n          targets: [\n            { anchor:'epiderme', action:\"Fraîcheur \u0026 lénifiant\", benefit:\"Sensation de fraîcheur immédiate qui apaise les irritations.\" },\n            { anchor:'film_hydro', action:\"Purifiant doux\", benefit:\"Assainit la surface tout en respectant le film protecteur.\" }\n          ]\n        },\n        {\n          id:'romarin', label:'Romarin', latin:'Rosmarinus officinalis', family:'botanic',\n          desc:\"Tonique végétal qui fortifie le poil et améliore la microcirculation cutanée : il favorise un manteau plus résistant et lumineux.\",\n          targets: [\n            { anchor:'follicule', action:\"Stimulation de la pousse\", benefit:\"Active la microcirculation autour du follicule et favorise une repousse vigoureuse.\" },\n            { anchor:'tige_poil', action:\"Fortifie le poil\", benefit:\"Renforce la fibre pour un manteau résistant et lumineux.\" }\n          ]\n        },\n        {\n          id:'ortie', label:\"Extrait d'Ortie\", latin:'Urtica dioica', family:'bio',\n          desc:\"Plante séborégulatrice et anti-pelliculaire : elle régule la production de sébum et stimule la régénération cutanée.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Séborégulation\", benefit:\"Régule la production de sébum à la source.\" },\n            { anchor:'epiderme', action:\"Anti-pelliculaire\", benefit:\"Stimule la régénération cutanée et réduit les squames.\" }\n          ]\n        },\n        {\n          id:'biotine', label:'Biotine \u0026 Niacinamide', latin:'Vitamines B7 \u0026 B3', family:'bio',\n          desc:\"Duo réparateur essentiel : renforce la structure du poil, stimule la croissance et réduit les pellicules.\",\n          targets: [\n            { anchor:'bulbe', action:\"Croissance du poil\", benefit:\"Nourrissent le bulbe et stimulent la pousse d'un poil plus fort.\" },\n            { anchor:'tige_poil', action:\"Renfort structural\", benefit:\"Renforcent la structure de la fibre de l'intérieur.\" }\n          ]\n        },\n        {\n          id:'citron', label:'Citron \u0026 Piroctone Olamine', latin:'Citrus limon \u0026 actif assainissant', family:'cond',\n          desc:\"Action déodorante, antibactérienne et protectrice : neutralise les mauvaises odeurs et protège la peau des agents externes.\",\n          targets: [\n            { anchor:'glande_sud', action:\"Action déodorante\", benefit:\"Neutralise les mauvaises odeurs liées aux déséquilibres cutanés.\" },\n            { anchor:'epiderme', action:\"Protection antibactérienne\", benefit:\"Protège la peau des agents externes et limite la prolifération bactérienne.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n    \u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n    \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n      \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\n      \u003cdiv class=\"aqr-dilution-grid\"\u003e\n\n        \u003c!-- CARTE 1 : Ratio --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part pour 20 parts d'eau\u003cbr\u003e— ou pur\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 2 : Rendement --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 3 : Équivalences animées --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillères à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epressions de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n                  \u003cdetails class=\"aqr-proto-acc\" open\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eToilettage rapide \u0026amp; peau à apaiser\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003ePour un bain efficace et apaisant au quotidien\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003ePremier shampoing\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDémarrez le bain directement avec l’\u003cstrong\u003eAqua Terme Pro dilué\u003c\/strong\u003e sur le poil mouillé. Rincez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoing\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez un \u003cstrong\u003esecond shampoing\u003c\/strong\u003e, puis rincez de nouveau.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec l’après-shampoing adapté au besoin : \u003cstrong\u003eHydrating Cream, Bombastic ou Aqua Dolce\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eBain \u0026amp; soin profond — peau nécessitant une action intense\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003ePour les peaux présentant des anomalies cutanées marquées\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain Detox\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez le masque pré-bain \u003cstrong\u003eDetox Therapy pendant 10 minutes\u003c\/strong\u003e sur le poil sec.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eEnchaînement sans rinçage\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eEnchaînez directement avec l’\u003cstrong\u003eAqua Terme Pro sans rincer\u003c\/strong\u003e entre les deux phases.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eDouble shampoing \u0026amp; pose\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eRincez, puis renouvelez le shampoing. \u003cstrong\u003eLaissez poser 5 minutes\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition réparatrice\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec \u003cstrong\u003eHydrating Cream + Huiles 4 Éléments\u003c\/strong\u003e, puis rincez l’après-shampoing.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n    \n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n    \u003c!-- Aqua Terme Pro au cœur + compléments modulaires Si... → Alors --\u003e\n    \u003cdiv class=\"aqr-assoc\"\u003e\n      \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToute la gamme Special One\u003c\/strong\u003e est compatible avec l’Aqua Terme Pro. Nos alliances préférées :\u003c\/p\u003e\n\n      \u003cdiv class=\"aqr-assoc-rules\"\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain s’impose…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eDetox Therapy\u003c\/strong\u003e (recommandé systématiquement)\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun soin final est nécessaire…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAqua Dolce · Bombastic · Hydrating Cream\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003ela peau est très réactive…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream + Huiles 4 Éléments\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Races en pilules arrondies --\u003e\n    \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où l'Aqua Terme Pro fait la différence :\u003c\/h3\u003e\n    \u003cdiv class=\"aqr-races-mosaic\"\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🦊 Spitz · Alopécie X \u003cspan\u003e(bain hebdo : tenue, pousse \u0026amp; densité)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐩 Caniches gris, roux \u0026amp; fauves \u003cspan\u003e(poils fins : tenue \u0026amp; repousse)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐱 Chats \u0026amp; chiens à anomalies cutanées \u003cspan\u003e(usage curatif)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e✂️ Races qu’on épile \u003cspan\u003e(repousse post-épilation)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐶 Bouledogue Français \u0026amp; Carlins \u003cspan\u003e(plis, séborrhée, irritations)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐕 Chien Chinois à Crête \u003cspan\u003e(peau nue exposée)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🦮 Golden Retriever \u003cspan\u003e(irritations \u0026amp; excès de sébum)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐺 Shar-Peï \u003cspan\u003e(plis profonds, déséquilibres cutanés)\u003c\/span\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe non exhaustive — en curatif comme en préventif sur les peaux sensibles et prédisposées.\u003c\/p\u003e\n\n    \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLS, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":57191767540057,"sku":"(77)","price":51.5,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819485028531,"sku":"WAQ-AQTE5000 (153)","price":144.2,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/eleven_7.png?v=1771967768"},{"product_id":"aquadolce-apres-shampoing-chien","title":"AQUA DOLCE","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eAQUA DOLCE\u003c\/strong\u003e est un \u003cstrong\u003emasque après-shampoing revitalisant et adoucissant d’exception\u003c\/strong\u003e. Formulé pour sublimer tous les pelages, il offre une action intense pour \u003cstrong\u003erestaurer la vitalité et le gainage des fourrures stressées\u003c\/strong\u003e.\n    \u003c\/div\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt ! C’est le \u003cstrong\u003esoin polyvalent par excellence\u003c\/strong\u003e pour les \u003cem\u003emanti crespi\u003c\/em\u003e (crépus) et fatigués par le brossage ou le climat.\u003c\/p\u003e\n\n    \u003cdiv class=\"aqr-audience\"\u003e\n      \u003cdiv class=\"aqr-audience-grid\"\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eGrâce à sa gestion de la \u003cstrong\u003eperméabilité du poil\u003c\/strong\u003e, Aqua Dolce fait disparaître les \u003cstrong\u003efrisottis\u003c\/strong\u003e et la fatigue de la fibre \u003cstrong\u003esans jamais graisser\u003c\/strong\u003e. Il restructure le poil après l’été ou un brossage intensif.\u003c\/p\u003e\n    \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n      \u003cdiv class=\"aqr-benefits-grid\"\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 12h18M12 3v18M5 8l14 0M5 16l14 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eGainage \u0026amp; Tenue\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eAugmente la brillance et assure une \u003cstrong\u003emeilleure tenue du toilettage\u003c\/strong\u003e.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 12c2-3 4-3 6 0s4 3 6 0 4-3 6 0\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 16c2-3 4-3 6 0s4 3 6 0 4-3 6 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-Frisottis\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003e\n\u003cstrong\u003eÉlimine instantanément les frisottis\u003c\/strong\u003e et discipline le poil.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 4h16v6M4 4v3M8 4v3M12 4v3M16 4v3M20 4v3M4 10h16l-2 10H6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eDémêlage\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eFacilite le passage du peigne et \u003cstrong\u003eprévient le retour des nœuds\u003c\/strong\u003e.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eRéparation\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eRestaure la vitalité et \u003cstrong\u003etraite les pointes fourchues\u003c\/strong\u003e.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eProtection\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003e\n\u003cstrong\u003eBouclier\u003c\/strong\u003e contre les agents chimiques et environnementaux.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de l’Aqua Dolce\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e\n        \n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Démêlant\", value: 4 }, { label: \"Hydratation\", value: 5 }, { label: \"Brillance\", value: 3 }, { label: \"Volume\", value: 1 }, { label: \"Soin peau\", value: 3 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Aqua Dolce - fiabilisee) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de l’Aqua Dolce : 4 duos d’actifs synergiques\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne \u003cstrong\u003eformulation enrichie en protéines nobles et extraits botaniques adoucissants\u003c\/strong\u003e — quatre duos d’actifs aux propriétés complémentaires.\u003c\/p\u003e\n\n    \u003c!-- CARTOGRAPHIE --\u003e\n    \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e\n      \u003cdiv class=\"aqr-grid\"\u003e\n\n        \u003cdiv class=\"aqr-col-list\"\u003e\n          \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-schema\"\u003e\n          \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n            \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l’Aqua Dolce\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e\n            \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n            \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-info\"\u003e\n          \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'soie', label:'Soie \u0026amp; Lait', latin:'Protéines nobles', family:'aqua',\n          desc:\"Duo de protéines structurantes : la \u003cstrong\u003esoie\u003c\/strong\u003e lisse et apporte une brillance immédiate ; le \u003cstrong\u003elait\u003c\/strong\u003e nourrit et offre une action \u003cstrong\u003eanti-fatigue instantanée\u003c\/strong\u003e.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition profonde\", benefit:\"Nourrit la fibre et restaure la vitalité des longueurs fatiguées.\" },\n            { anchor:'cuticule', action:\"Lissage anti-fatigue\", benefit:\"Lisse la cuticule — le poil retrouve sa cohésion immédiatement.\" }\n          ]\n        },\n        {\n          id:'canneberge', label:'Canneberge \u0026amp; Aloe Vera', latin:'Antioxydants \u0026amp; hydratant', family:'botanic',\n          desc:\"Duo régénérant : la \u003cstrong\u003ecanneberge\u003c\/strong\u003e antioxydante purifie ; l’\u003cstrong\u003ealoe vera\u003c\/strong\u003e hydrate et apporte une hydratation régénérante.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation régénérante\", benefit:\"Restaure l’hydratation profonde du film hydrolipidique.\" },\n            { anchor:'epiderme', action:\"Purification antioxydante\", benefit:\"Purifie le terrain cutané et le protège du stress oxydatif.\" }\n          ]\n        },\n        {\n          id:'ginseng', label:'Ginseng \u0026amp; Bouleau', latin:'Plantes toniques', family:'bio',\n          desc:\"Duo dynamisant : le \u003cstrong\u003eginseng\u003c\/strong\u003e tonifie le pelage ; le \u003cstrong\u003ebouleau\u003c\/strong\u003e stimule la croissance et soutient un poil fort et vital.\",\n          targets: [\n            { anchor:'derme', action:\"Tonification cutanée\", benefit:\"Tonifie le derme et soutient une croissance forte du poil.\" },\n            { anchor:'epiderme', action:\"Stimulation racinaire\", benefit:\"Active la microcirculation et apporte vigueur au pelage.\" }\n          ]\n        },\n        {\n          id:'camomille', label:'Camomille \u0026amp; Genévrier', latin:'Apaisants \u0026amp; détoxifiants', family:'cond',\n          desc:\"Duo apaisant : la \u003cstrong\u003ecamomille\u003c\/strong\u003e apaise et adoucit ; le \u003cstrong\u003egenévrier\u003c\/strong\u003e détoxifie et apporte une fraîcheur immédiate.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisement cutané\", benefit:\"Apaise les zones réactives et apporte un confort durable.\" },\n            { anchor:'glande_sud', action:\"Détoxification\", benefit:\"Soutient le drainage cutané et apporte une fraîcheur ressentie.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\n\n  \n    \u003c!-- ENCART STORYTELLING : signature permeabilite du poil --\u003e\n    \u003cdiv style=\"margin-top: 25px; padding: 22px 24px; background: #fff; border-left: 3px solid #1d1d1f;\"\u003e\n      \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin-bottom: 12px; display: block;\"\u003e💧 La signature Aqua Dolce\u003c\/span\u003e\n      \u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eLa gestion de la perméabilité du poil\u003c\/p\u003e\n      \u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eUn poil sain a une \u003cstrong\u003eperméabilité équilibrée\u003c\/strong\u003e : ni trop fermé (cassant, mat) ni trop ouvert (sec, frisotté, fatigué). Quand l’été, le climat sec ou un brossage intensif déstabilisent cet équilibre, le poil \u003cem\u003eboit\u003c\/em\u003e trop et perd sa cohésion. Aqua Dolce \u003cstrong\u003erétablit cette perméabilité optimale\u003c\/strong\u003e grâce à son duo Soie \u0026amp; Lait — le poil retrouve son élasticité, ses frisottis disparaissent, \u003cstrong\u003esans jamais graisser\u003c\/strong\u003e.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n    \u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n    \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n      \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\n      \u003cdiv class=\"aqr-dilution-grid\"\u003e\n\n        \u003c!-- CARTE 1 : Ratio --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e60\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003e1 c. à café à 1 c. à soupe\u003cbr\u003epar litre — ou pur\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 2 : Rendement --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e150 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 9 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e500 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 30 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e3 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 180 L\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 3 : Équivalences animées --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e de produit fini\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e17\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e17\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e1\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillère à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '17', g: '17', spoon: '1' },\n        { target: '2 L', ml: '33', g: '33', spoon: '2' },\n        { target: '4 L', ml: '67', g: '67', spoon: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n\n            \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"aqr-proto-title\"\u003eToilettage rapide ou Volume gainé\u003c\/span\u003e\n            \u003cp class=\"aqr-proto-subtitle\"\u003eDeux modes selon le rendu voulu\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-body\"\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eA\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSoin classique — gainage\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDiluez \u003cstrong\u003e1 c. à soupe \/ L d’eau tiède\u003c\/strong\u003e. Appliquez sur les longueurs, massez et peignez. \u003cstrong\u003eNe pas rincer\u003c\/strong\u003e pour un gainage maximum (utilisation possible jusqu’au produit pur).\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eVolume gainé\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDiluez \u003cstrong\u003e1 c. à café\u003c\/strong\u003e dans le volume d’eau nécessaire. Laissez poser \u003cstrong\u003e2 minutes\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRinçage selon le mode\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eMode A : pas de rinçage. Mode B : \u003cstrong\u003erincez totalement\u003c\/strong\u003e.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"aqr-proto-title\"\u003eAction plombante ou réparatrice\u003c\/span\u003e\n            \u003cp class=\"aqr-proto-subtitle\"\u003ePour les zones abîmées et les pointes fourchues\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-body\"\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eA\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eZones abîmées\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez le produit \u003cstrong\u003epur directement sur la zone\u003c\/strong\u003e. Laissez poser \u003cstrong\u003e5 minutes\u003c\/strong\u003e puis rincez rapidement.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003ePointes fourchues\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eSur poil essoré, appliquez \u003cstrong\u003eune petite touche de produit pur uniquement sur les pointes avant le séchage\u003c\/strong\u003e. \u003cstrong\u003eSans rinçage.\u003c\/strong\u003e\n\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"aqr-proto-title\"\u003eMulti-usages — Brossage \u0026amp; Papillotes\u003c\/span\u003e\n            \u003cp class=\"aqr-proto-subtitle\"\u003eLa polyvalence d’Aqua Dolce\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-body\"\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eA\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSpray de brossage\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eUtilisez Aqua Dolce \u003cstrong\u003edilué en spray de brossage\u003c\/strong\u003e pour entretenir le poil entre les bains.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003ePapillotes\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eUtilisez-le \u003cstrong\u003epur dans les papillotes\u003c\/strong\u003e pour protéger la fourrure en croissance.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n    \u003cdiv style=\"margin-top: 18px; padding: 14px 18px; background: #f0f7ff; border-left: 3px solid #4a90d9; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e\n      💡 \u003cstrong\u003eCONSEIL PRO :\u003c\/strong\u003e pour un résultat \u003cstrong\u003e« Show » ultime\u003c\/strong\u003e, mixez Aqua Dolce avec \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e ou \u003cstrong\u003eBombastic\u003c\/strong\u003e.\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n    \n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n    \u003c!-- Villanelle au cœur + compléments modulaires Si.. → Alors --\u003e\n    \u003cdiv class=\"aqr-assoc\"\u003e\n      \u003cp class=\"aqr-assoc-intro\"\u003e🤝 \u003cstrong\u003eAlliances favorites\u003c\/strong\u003e : \u003cstrong\u003eBain Pro \/ Aquarosa Pro\u003c\/strong\u003e (shampoings), \u003cstrong\u003eBio Energy\u003c\/strong\u003e (pré-bain), \u003cstrong\u003eMix Pink \/ Aqua Beauty\u003c\/strong\u003e (finition).\u003c\/p\u003e\n\n      \u003cdiv class=\"aqr-assoc-rules\"\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003egainage maximum souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e1 c. à soupe \/ L — pas de rinçage\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003evolume gainé recherché…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003e1 c. à café \/ L — rinçage total\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003ezones abîmées localisées…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eProduit pur, pose 5 min, rinçage rapide\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003erésultat « Show » ultime…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eMixer avec Hydrating Cream ou Bombastic\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eentretien quotidien entre 2 bains…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eSpray de brossage dilué\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003epapillotes pour pelage en croissance…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAqua Dolce pur dans les papillotes\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Races en pilules arrondies --\u003e\n    \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où l’Aqua Dolce fait la différence :\u003c\/h3\u003e\n    \u003cdiv class=\"aqr-races-mosaic\"\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐱 Tous les Chats \u003cspan\u003e(action dégraissante et lissante)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées \u003cspan\u003e(Caniches, Bichons, Kerry Blue)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐶 Fourrures longues \u0026amp; soyeuses \u003cspan\u003e(Yorkshire, Shih-Tzu, Afghans)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐕 Double-coat \u0026amp; Primitifs \u003cspan\u003e(Spitz, Bergers, Samoyèdes, Colleys)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐺 Terriers \u003cspan\u003e(Scottish, Westie, Welsh)\u003c\/span\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eLe soin polyvalent par excellence — du chat de salon au champion d’exposition.\u003c\/p\u003e\n\n    \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLES, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"150 mL","offer_id":37819485061299,"sku":"WAQ-AQDO150 (52)","price":32.9,"currency_code":"EUR","in_stock":true},{"title":"500 mL","offer_id":37819485094067,"sku":"WAQ-AQDO500 (50)","price":61.9,"currency_code":"EUR","in_stock":true},{"title":"3 Litres","offer_id":37819485126835,"sku":"WAQ-AQDO3000 (53)","price":236.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Aquadolce_277ac638-ccea-49be-b87b-7ea4375c936b.png?v=1680188686"},{"product_id":"heiniger-saphir-cord-hair-tondeuse","title":"Heiniger Saphir (filaire)","description":"Heiniger Saphir Cord (avec câble)\u003cbr\u003eTondeuse professionnelle à fil pour le toilettage des chiens et des chats.\u003cbr\u003e\u003cbr\u003eRobuste et durable.\u003cbr\u003eErgonomique, léger et à poids compensé pour éviter la fatigue.\u003cbr\u003eConvertible en machine à piles (pile HE0012 et station de charge HE0011 non incluses).\u003cbr\u003e \u003cbr\u003eDONNÉES TECHNIQUES\u003cbr\u003e- 1 vitesse : 3 200 tr\/min.\u003cbr\u003e- Poids : 330 g.\u003cbr\u003e- Dimensions : 20,4 x 5 x 4,1 cm.\u003cbr\u003e- Longueur du câble : 3 m.\u003cbr\u003e- Utilise des têtes universelles (Ibanez, Wahl, Moser, Andis, Oster).\u003cbr\u003e \u003cbr\u003e\u003cbr\u003e\u003cbr\u003eINCLUDE :\u003cbr\u003e- 1 tête Heiniger Nº10 (1,5 mm).\u003cbr\u003e- Brosse de nettoyage et huile.\u003cbr\u003e\u003cbr\u003eGarantie professionnelle Ibanez 1 an.","brand":"Setter Bakio S.L.","offers":[{"title":"Tondeuse","offer_id":37819728920755,"sku":"HE0001","price":228.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/6362.jpg?v=1616492623"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/collections\/8cab81dd2d3dfd1e874de110b1c64147_c75e61a6-adc8-4db0-be20-c39b95a2fd1b.png?v=1690399506","url":"https:\/\/petdesign.fr\/collections\/toilettage.oembed?page=17","provider":"Petdesign.fr","version":"1.0","type":"link"}