{"title":"Grooming","description":"\u003ch1 style=\"text-align:center;\"\u003e We sell everything so that you have the best at home: grooming table, dog scissors, professional clippers, etc. \u003c\/h1\u003e\n\u003ch2 style=\"text-align:center;\"\u003e Grooming is an art we cultivate! \u003c\/h2\u003e\n\u003ch3 style=\"text-align:center;\"\u003e Do you know that? Grooming equipment has become \u003cstrong\u003e a real headache for professionals \u003c\/strong\u003e \u003cstrong\u003e! The quality material makes the difference in terms of both results and fatigue and working pleasure! \u003c\/strong\u003e\n\u003c\/h3\u003e\n\u003ch3 style=\"text-align:center;\"\u003e Combs or clippers that don't stand up to anything, scissors that go awry from your first movements: \u003cstrong\u003e all of this, you will find full catalogs of them, but not here! \u003c\/strong\u003e\n\u003c\/h3\u003e\n\u003cp style=\"text-align:center;\"\u003e With the exception of the handcrafted \u003cstrong\u003e Special One \u003c\/strong\u003e scissors in Italy, there are hardly any manufacturers in Europe any more. \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e A bad worker never has a good tool. And it is true that with the best gestures in the world, without the correct and suitable tool, you will not achieve anything! \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e This is why we have chosen to bring together equipment, \u003cstrong\u003e whose professional quality we guarantee \u003c\/strong\u003e. \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e We know their manufacturers, we test their products, and we make sure they maintain or improve their quality and performance. \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e Now all you have to do is \u003cstrong\u003e make your choice \u003c\/strong\u003e! \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e We have compiled here a whole collection of tools and accessories that will allow everyone to groom easily. Point of discount, the cheap does not rhyme with good grooming. On the other hand, we assure you an optimal level of performance in all the fields of activity offered: \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e \u003cspan\u003e • \u003c\/span\u003e \u003cspan\u003e \u003ca href=\"https:\/\/www.petdesign.fr\/139-tondeuses\"\u003e professional dog clipper \u003c\/a\u003e: used by groomers as a last resort, when the situation is irremediable ... Very often it is with great regret that they use animal clippers, ultimately used primarily to free animals from their tangled knots ... (we advise you to try the use of our high-performance Special One cosmetics!). \u003c\/span\u003e \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e \u003cspan\u003e • \u003cstrong\u003e dog grooming scissors \u003c\/strong\u003e: whether straight or curved, thinners or notches, you must have the choice of material. Very often, the pros have dozens of pairs of dog scissors available to deal with all everyday situations. You can imagine that the bowls of an American cocker spaniel are not cut with the same material as the silky coat of a Yorkie or even the beard of a schnauzer! \u003c\/span\u003e \u003c\/p\u003e\n\u003cp style=\"text-align:center;\"\u003e \u003cspan\u003e \u003cspan\u003e • \u003c\/span\u003e \u003cspan\u003e \u003ca href=\"https:\/\/www.petdesign.fr\/58-couteaux-a-epiler-toilettage-chien\"\u003e dog trimmer \u003c\/a\u003e: also called a dog waxing knife, this barbaric grooming tool is specifically designed for a job. as neat and quick as possible. You probably know that the hair of many breeds of dogs does not fall out on its own ... Yes, the telogen phase does not allow the expulsion of dead hair. A mechanical action is therefore required to restore the dog to a normal look, that is to say showing only healthy, living hairs. This practice of \u003ca href=\"http:\/\/www.grandissilva.com\/leacutepilation-dun-jack-russell.html\"\u003e hair removal with a trimmer \u003c\/a\u003e for cats also exists. The tweezer is another way of working, while other groomers will prefer manual or plastic finger cradle depilation. \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 \u003ca href=\"https:\/\/www.petdesign.fr\/138-baignoires\"\u003e dog bathtub \u003c\/a\u003e: What would animal grooming be without a bathtub? Any professional will pay particular attention to the bathing stage. Indispensable for the evacuation of dirt and impurities, the shampoo and the masks applied must allow gentle washing, without ever endangering the skin sebum, so precious ...For this step to be perfectly mastered, choosing a good grooming tub is a crucial step: take into account the height of it (often adjustable by hydraulic or electric jack), its depth, the size of its edges In the same Logically, take into account the material in which the dog bathtub that you buy was created: plastic or metal, each material has its specificities. Take a look at all of our product sheets to find out more. \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\u003e accessories and \u003ca href=\"https:\/\/www.petdesign.fr\/136-materiel\"\u003e grooming equipment \u003c\/a\u003e \u003c\/strong\u003e various: a complex and constantly evolving field, grooming requires more and more sophisticated tools allowing a complete control of the morphology of the animal. The hair is a living substance which tames and stands up ... your needs. Train yourself, train yourself, and we will accompany you to excel ;. \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, gentle shampoo for all coats","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 is Special One’s highly concentrated professional shampoo that enhances coats while being \u003cstrong\u003eas gentle as possible, without ever being harsh\u003c\/strong\u003e. It reveals the coat’s best version — without amplifying either its volume or texture — simply allowing its true nature to shine through. It is also a \u003cstrong\u003esupplementary natural antiparasitic\u003c\/strong\u003e: its abundant foam and acidic pH mechanically neutralize fleas, without chemical insecticides. One shampoo, dozens of benefits.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find real value in it — a direct competitor to Aquarosa Pro (the most nourishing), \u003cstrong\u003eBain Pro is the ultimate gentle choice\u003c\/strong\u003e for all coats, from puppies to seniors.\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003ePet owners\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\"\u003eCompetitors\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; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnriched with a blend of \u003cstrong\u003esurfactants of natural origin\u003c\/strong\u003e and moisturizing ingredients, Bain Pro restores shine and elasticity to the coat from the very first treatments. Its \u003cstrong\u003enatural antiparasitic action\u003c\/strong\u003e — through mechanical suffocation via its abundant foam and an acidic pH that weakens fleas — makes it an ideal supplementary cleanser for puppies, kittens, and sensitive animals, \u003cstrong\u003ewithout chemical insecticides\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\u003eGentleness limit:\u003c\/strong\u003e due to its very gentle formula, Bain Pro may not be sufficient if the animal is very dirty. In that case, start with a more cleansing shampoo — \u003cstrong\u003eAquapure Pro, Blue Sky Pro or 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\"\u003eUniversal gentleness: baby, adult, senior\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eA gentle bath for dogs and cats of all ages, from babies to seniors.\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\"\u003eDeep cleansing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eCleans, sanitizes, and adds radiance to all coat types.\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-tangle\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNever amplifies the natural volume — prevents knots from quickly returning after bathing.\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\"\u003eNatural antiparasitic\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eMechanically neutralizes fleas by suffocation through the foam and acidic pH — without chemical insecticides.\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\"\u003eKeratin protection\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eBoosts the natural defenses to protect the hair structure.\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\"\u003eOily coats\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eTreats excess sebum while preserving the hydrolipidic film.\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\"\u003eFrequent bathing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNo risk to the skin or coat, even with intensive use.\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\"\u003eWeighted\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eHelps weigh down silky coats without making them excessively heavy.\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\"\u003eGrowth \u0026amp; showing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003ePerfect for growing the coat of show dogs of all breeds.\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\"\u003eDetangling \u0026amp; blow-drying\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eFacilitates detangling, makes blow-drying smoother and reduces working time.\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;\"\u003eBetter understanding Bain Pro's effects\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eDetails of its cosmetic performance, note by 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;\"\u003eBain Pro composition: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eNaturally derived surfactants, premium proteins and bio-based active ingredients — \u003cstrong\u003eparaben-free, silicone-free\u003c\/strong\u003e. Here is how each active ingredient acts on the skin and coat, zone by zone.\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=\"Diagram of the anatomy of the skin and coat illustrating the targeted action of 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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part shampoo\u003cbr\u003efor 20 parts water\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump presses\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\"\u003eGentle washing — all coat types, all ages\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\"\u003eThe basic protocol, suitable for all common situations\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\"\u003eFirst shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eThoroughly wet the coat. Apply diluted Bain Pro at \u003cstrong\u003e1\/20\u003c\/strong\u003e, then rinse.\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 shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply a \u003cstrong\u003esecond shampoo\u003c\/strong\u003e, then rinse again.\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\"\u003eFinal care\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with the appropriate conditioner: \u003cstrong\u003eHydrating Cream, Bombastic or 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\"\u003eFinishing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eComplete the grooming with \u003cstrong\u003eAbsolute 4Poodle, Mix Pink or Style 360\u003c\/strong\u003e as needed.\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\"\u003eAnti-mat \u0026amp; sebum-regulating protocol\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\"\u003eFor dogs that mat easily or have skin imbalances (sebum, dandruff, odors)\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\"\u003ePre-bath mask\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eStart with the pre-bath mask \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e to prepare the coat and enhance the shampoo’s action.\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 without rinsing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Bain Pro diluted 1\/20, \u003cstrong\u003ewithout rinsing the mask\u003c\/strong\u003e beforehand.\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\"\u003eApplication \u0026amp; rinsing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eLeave on for a few moments, rinse, then repeat if necessary.\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\"\u003eAnti-tangle finish\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream + Aqua Dolce\u003c\/strong\u003e for a conditioned coat that delays the return of tangles.\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\"\u003eChoose Bain Pro if you need to…\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\"\u003eSituations where Bain Pro makes all the difference\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\"\u003eWash gently\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAny dog or cat, regardless of age or coat type.\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\"\u003eGrow the coat\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eIdeal for show dogs of all breeds (Group 9, terriers, Group 8…).\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\"\u003eEstablish an anti-tangle routine\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFor a dog whose coat mats easily.\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\"\u003eRegulate sebum\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eWhether in excess or deficiency, with dandruff or unpleasant odors — without irritating the skin.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Bain Pro. Our favorite combinations:\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003emore powerful cleansing is required…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is desired…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea final treatment is needed…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea show finish is desired…\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;\"\u003eWhere Bain Pro makes the difference:\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐶 All salon dogs \u003cspan\u003e(limits the return of tangles)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🏆 Show dogs with long \u0026amp; fringed coats \u003cspan\u003e(fringes, topknot, beard)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly coats \u003cspan\u003e(Poodles, Bichons, Kerry Blue, Soft Coated, Bedlington)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 All Cockers \u003cspan\u003e(American, English)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Tibetan breeds \u003cspan\u003e(Shih-Tzu, Lhasa, Tibetan Terrier)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e👑 English Toy Spaniels \u003cspan\u003e(Cavalier \u0026amp; King Charles)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✨ Long \u0026amp; silky coats \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;\"\u003eA long, non-exhaustive list — absolute gentleness for all coats, from puppy to senior.\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | 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, volumizing shampoo","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 is Special One's professional shampoo whose main focus is \u003cstrong\u003eVOLUME\u003c\/strong\u003e. Ideal for shows and scissor cuts, it reveals the coat's full natural volume, \u003cstrong\u003eprovides long-lasting straightening\u003c\/strong\u003e, and prepares the coat for exceptional finishes.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eThis product is intended primarily for \u003cstrong\u003eprofessionals and owners of show dogs\u003c\/strong\u003e. The pursuit of volume and texture means mats return more quickly: for everyday use, individuals will be better served by Bain Pro, Aquarosa Pro, or 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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003eCompetitors\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; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnriched with \u003cstrong\u003eorganic marine derivatives and actives\u003c\/strong\u003e, Allantoin, Chitosan, and Cocoa Butter, Platinum Pro combines \u003cstrong\u003evolumizing power with skin care\u003c\/strong\u003e. It enhances natural colors, restructures coats, and prepares the coat for high-quality scissor cuts — with a long-lasting finish after blow-drying.\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\u003eSpecialty product:\u003c\/strong\u003e the pursuit of volume and texture encourages mats to return quickly. Reserve for show, competition, or scissor-cutting days — not for everyday grooming.\u003cbr\u003e\u003cspan style=\"font-size: 12px; color: #888; margin-top: 4px; display: block;\"\u003e❌ For everyday use, choose Bain Pro, Aquarosa Pro, or 4Poodle with a good conditioner.\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\"\u003eMaximum volume\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eReveals the coat's full natural volume — spectacular results from the first use.\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\"\u003eEnhanced texture\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eEnhances and strengthens the coat's natural texture for a professional result.\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\"\u003eStrong \u0026amp; long-lasting straightening\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eStrongly and durably straightens the coat after blow-drying.\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\"\u003eHigh-quality scissor cut\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003ePrepares the coat for exceptional scissor cuts on competition and show days.\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;\"\u003eBetter understanding Platinum Pro's effects\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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;\"\u003ePlatinum Pro composition: natural actives \u0026amp; targeted action\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eOrganic marine derivatives and actives combined with noble ingredients — \u003cstrong\u003eparaben-free, silicone-free\u003c\/strong\u003e. Here is how each active works on the skin and coat, zone by zone.\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=\"Diagram of the anatomy of the skin and coat illustrating the targeted action of 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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part shampoo\u003cbr\u003efor 20 parts water\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump presses\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\"\u003eShow bath — volume \u0026amp; scissor cut\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\"\u003eFor competition, exhibition, or high-quality scissor-cut days\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\"\u003ePre-bath mask\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePrepare with \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (optionally combined with \u003cstrong\u003eBombastic\u003c\/strong\u003e) to hydrate and enhance the shampoo's action.\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 on the mask\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply diluted Platinum Pro at \u003cstrong\u003e1\/20\u003c\/strong\u003e directly onto the mask, without rinsing. Rinse, then repeat if necessary.\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\"\u003eFinal treatment \u0026amp; leave-in time\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream, Bombastic, or Aqua Dolce\u003c\/strong\u003e. Leave on for \u003cstrong\u003ea few minutes\u003c\/strong\u003e before rinsing thoroughly.\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\"\u003eDrying \u0026amp; finishing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDry and brush — the volume builds and the straightening sets in durably. Finish with \u003cstrong\u003eAbsolute 4Poodle or 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\"\u003eChoose Platinum Pro if you need…\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\"\u003eSituations where Platinum Pro makes all the difference\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\"\u003eHigh-quality scissor cut\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFor a special event — show, exhibition, or ring presentation.\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\"\u003eReveal natural volume\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eThe coat, with powerful washing and cleansing action.\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\"\u003eEnhance texture\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eThe coat, for an impeccable, structured visual result.\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\"\u003eStrong, long-lasting straightening\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAfter blow-drying, on curly or wavy coats.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Platinum Pro. Our favorite combinations:\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea second shampoo is desired…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is desired…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea final treatment is needed…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea show finish is desired…\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;\"\u003eWhere Platinum Pro makes the difference:\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly coats \u003cspan\u003e(Poodles, Bichons, Kerry Blues, Soft Coateds, Bedlingtons)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🧸 Double coats \u0026amp; complex coats \u003cspan\u003e(primitive breeds, shepherds, water dogs)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eSpectacular volume and straightening — a long, non-exhaustive list, reserved for show days.\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | 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, texture shampoo +++","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\u003eKÉRATINE PRO\u003c\/strong\u003e is Special One's \u003cstrong\u003etexturizing and hardening\u003c\/strong\u003e shampoo, to be used in \u003cstrong\u003especific situations\u003c\/strong\u003e: post-bath stripping, revealing natural volume, and enhancing coat texture. A precision tool — not an everyday shampoo.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eThis product is primarily intended for \u003cstrong\u003eprofessionals and owners of show dogs\u003c\/strong\u003e. The pursuit of texture and hold means tangles return more quickly: for everyday use, individuals will be better served by Bain Pro, Aquarosa Pro, or 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\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003eCompetitors\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 \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 \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; Results\u003c\/h2\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnriched with \u003cstrong\u003ehydrolyzed keratin, chitosan, and sugar cane extract\u003c\/strong\u003e, Kératine Pro nourishes and restructures the fiber while giving it body and grip. Its \u003cstrong\u003edye-free\u003c\/strong\u003e formula avoids the classic softening effect of shampoos: the coat remains coarse, textured, and ready to work.\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\u003eSpecialty product:\u003c\/strong\u003e the coat stimulation induced by this shampoo promotes a rapid return of tangles. Reserve it for stripping, show, or grooming days requiring maximum texture — not for daily maintenance.\u003cbr\u003e\u003cspan style=\"font-size: 12px; color: #888; margin-top: 4px; display: block;\"\u003e❌ For daily use, choose Bain Pro, Aquarosa Pro, or 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\"\u003eHardening \u0026amp; texturizing\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eHardens, texturizes, and prepares the coat for stripping after bathing.\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\"\u003eGoat-hair feel\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eOptimizes the coarse feel and grip, ideal for hand-stripping or stripping with a knife.\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\"\u003eNatural volume revealed\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eReveals the coat's natural volume with powerful washing and cleansing action.\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\"\u003eDeep cleansing\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eCleanses and purifies deeply — ideal for Terriers' oily skin.\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; renewal\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eSugar cane extract exfoliates, acts against impurities (blackheads), and promotes cell renewal.\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 \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;\"\u003eUnderstanding Kératine Pro's actions\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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\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 \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 \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 \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;\"\u003eKératine Pro composition: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eFormula \u003cstrong\u003ewithout dyes\u003c\/strong\u003e — the deliberate choice to avoid any softening effect in order to maximize coat texture and grip. Paraben-free, silicone-free. Here is how each active ingredient acts on the skin and coat, area by area.\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=\"Diagram of the anatomy of the skin and coat illustrating the targeted action of 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 \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 \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 \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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part shampoo\u003cbr\u003efor 20 parts water\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump presses\u003c\/span\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 \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\"\u003ePost-bath stripping — maximum grip \u0026amp; texture\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\"\u003eTo prepare the coat for hand-stripping or knife-stripping after bathing\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\"\u003ePre-bath mask (optional)\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eOptionally prepare with a \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e mask to hydrate the skin before working.\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\"\u003eApply diluted Kératine Pro at \u003cstrong\u003e1\/20\u003c\/strong\u003e on the wet coat. Massage, then leave on for a few moments.\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\"\u003eRinsing\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse, then repeat the shampoo if necessary.\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\"\u003eResult\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eDry: the coat is \u003cstrong\u003erough, textured, with optimal grip\u003c\/strong\u003e — ideal for hand-stripping or knife-stripping.\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💡 If you strip \u003cstrong\u003ebefore\u003c\/strong\u003e bathing, use \u003cstrong\u003eAqua Terme, Bain Pro, or Aquapure Pro\u003c\/strong\u003e for the next shampoo instead.\u003c\/div\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\"\u003eChoose Kératine Pro if you need to…\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\"\u003eSituations where Kératine Pro makes all the difference\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\"\u003eStrip after bathing\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eThe coat’s grip and texture are maximized.\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\"\u003eReveal natural volume\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eThe coat, with strong washing and cleansing power.\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\"\u003eAmplify texture\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFor show or ring presentation days.\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\"\u003eTreat oily skin\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eTerriers or stripping breeds, with deep cleansing and skin purification.\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\"\u003eThe ultimate Terrier protocol — texture, elasticity \u0026amp; stripping without drying out\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\"\u003eA concentrated, one-step protocol, universal for all 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\"\u003eEqual-parts mixture\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eMix \u003cstrong\u003ein equal parts: 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\"\u003eLather the mixture, apply to the wet coat, and massage thoroughly.\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\"\u003eRinsing \u0026amp; results\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse. The coat is \u003cstrong\u003etexturized and hardened\u003c\/strong\u003e for stripping, its \u003cstrong\u003eelasticity preserved\u003c\/strong\u003e thanks to Bio Energy, and the coat \u003cstrong\u003enot dried out\u003c\/strong\u003e thanks to Super Keeper — all in a single 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\u003eA must-try for all Terriers\u003c\/strong\u003e — this 3-in-1 protocol is a real game changer for anyone who regularly strips coats.\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 \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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Kératine Pro. Our favorite combinations:\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea second shampoo is desired…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is desired…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003eadditional texturizing products are wanted…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea show finish is desired…\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 \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 \u003c!-- Races en pilules arrondies --\u003e\n \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Kératine Pro makes the difference:\u003c\/h3\u003e\n \u003cdiv class=\"aqr-races-mosaic\"\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐾 All Terriers \u0026amp; stripping breeds \u003cspan\u003e(texture, grip, oily skin)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly coats lacking hold \u003cspan\u003e(gray and red Poodles — show use only)\u003c\/span\u003e\u003c\/span\u003e\n \u003c\/div\u003e\n \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eA long, non-exhaustive list — a precision tool for stripping and texturizing, reserved for working days.\u003c\/p\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=\"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;\"\u003e90%+ biodegradable | Paraben- and silicone-free | Not tested on animals | 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":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, treatment shampoo","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\u003eSKINCARE PRO\u003c\/strong\u003e is Special One's \u003cstrong\u003eoil-based\u003c\/strong\u003e dermo-cleansing shampoo, formulated for \u003cstrong\u003eproblematic or sensitive skin\u003c\/strong\u003e. It restores the balance of the dermis and coat, restores natural sebum production, and, with regular use, creates a \u003cstrong\u003enatural protective barrier\u003c\/strong\u003e against parasitic aggressors.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it genuinely beneficial — \u003cstrong\u003eparticularly valuable for animals suffering from chronic or recurring skin problems\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\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003ePet owners\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\"\u003eCompetitors\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 \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 \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; Results\u003c\/h2\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts \u003cstrong\u003eoil-based composition\u003c\/strong\u003e gives it a deep treatment action without damaging tissues. It does not act like a simple cleansing shampoo, but rather as a \u003cstrong\u003etrue gentle dermatological treatment\u003c\/strong\u003e that restores, protects, and rebalances the skin over the long term.\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\u003eFoam limitation:\u003c\/strong\u003e Skincare Pro does not produce much lather and has difficulty penetrating dense or thick coats. In these cases, use \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e instead.\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\"\u003eAnti-skin-abnormality action\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eActs against the main skin abnormalities — atopy, dermatitis, and epidermal imbalances.\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-itch\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eReduces and relieves itching and skin irritation.\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-dandruff\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eRegulates flaking and significantly reduces dandruff.\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\"\u003eDeep hydration\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eDeeply moisturizes dry or weakened coats.\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\"\u003eOily skin \u0026amp; odors\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eHelps oily, malodorous skin by restoring natural sebum production.\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\"\u003eProtective barrier\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eWith regular use, creates a natural protective barrier against parasitic aggressors.\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\"\u003eUniversal \u0026amp; gentle\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eSuitable for dogs and cats of all ages, from babies to seniors.\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 \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;\"\u003eUnderstanding the actions of Skincare Pro\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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\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 \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 \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 \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 of Skincare Pro: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eAn oil-based formula with \u003cstrong\u003e91% naturally derived ingredients\u003c\/strong\u003e — free from SLES, SLS, parabens, and silicone. Here is how each active ingredient acts on the skin and coat, area by area.\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=\"Diagram of the anatomy of the skin and coat illustrating the targeted action of 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 \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 \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 \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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eUndiluted or up to 1\/20\u003cbr\u003edepending on the severity of the problem\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump presses\u003c\/span\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 \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❗️ Always apply \u003cstrong\u003eimmediately after the Bio Energy Plus mask\u003c\/strong\u003e, without rinsing in between — leave the Bio Energy Plus on for \u003cstrong\u003eat least 20 minutes\u003c\/strong\u003e, ideally combined with \u003cstrong\u003eHygro Fluid\u003c\/strong\u003e. \u003cstrong\u003eTwo shampoos\u003c\/strong\u003e recommended for each bath.\u003c\/div\u003e\n \u003cdetails class=\"aqr-proto-acc\" open\u003e\n \u003csummary class=\"aqr-proto-summary\"\u003e\n \u003cspan class=\"aqr-proto-title\"\u003eTreatment protocol — beginning of treatment\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\"\u003eAt the beginning of treatment, for markedly unbalanced skin\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\"\u003eExtended pre-bath mask\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply \u003cstrong\u003eBio Energy Plus + Hygro Fluid\u003c\/strong\u003e to dry hair. Leave on for \u003cstrong\u003eat least 20 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\"\u003e02\u003c\/span\u003e\n \u003cdiv class=\"aqr-proto-step-body\"\u003e\n \u003cdiv class=\"aqr-proto-step-title\"\u003eLeave-on application\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eWithout rinsing out the mask, apply Skincare Pro \u003cstrong\u003eneat or slightly diluted\u003c\/strong\u003e. Massage gently, then rinse.\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 shampoo\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eShampoo a second time, then rinse thoroughly.\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\"\u003eRepairing finish\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream and\/or Beauty Rinse\u003c\/strong\u003e. \u003cstrong\u003eFrequency:\u003c\/strong\u003e twice a week at the beginning of the treatment, then space out applications according to the skin’s progress.\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\"\u003eMaintenance protocol — regular follow-up\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\"\u003eOnce the skin has stabilized, to maintain skin balance\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\"\u003ePre-bath mask\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003ePrepare with \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (leave on for 20 minutes), optionally on its own if Hygro Fluid is not needed.\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 shampoo\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply diluted Skincare Pro at \u003cstrong\u003e1\/20\u003c\/strong\u003e without rinsing out the mask. Shampoo twice, then rinse.\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\"\u003eProtective finish\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e to preserve the hydrolipidic barrier. Regular use gradually strengthens the coat’s \u003cstrong\u003enatural protective barrier\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 \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 \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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Skincare Pro. Our preferred combinations:\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is required (essential)…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea final treatment is needed…\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 and\/or 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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ethe coat is dense or thick…\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 (better penetration)\u003c\/strong\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 \u003c!-- Races en pilules arrondies --\u003e\n \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Skincare Pro makes the difference:\u003c\/h3\u003e\n \u003cdiv class=\"aqr-races-mosaic\"\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🩹 Dogs with skin abnormalities \u003cspan\u003e(atopy, dermatitis, irritation, itching)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly coats \u003cspan\u003e(Poodles, Bichons, Kerry Blue, Soft Coated, Bedlington)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐕 All Cockers \u003cspan\u003e(American, English)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Tibetan breeds \u003cspan\u003e(Shih Tzu, Lhasa Apso, Tibetan Terrier)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e👑 English Toy Spaniels \u003cspan\u003e(Cavalier \u0026amp; King Charles)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e✨ Long \u0026amp; silky coats \u003cspan\u003e(Yorkshire, Afghan Hounds)\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;\"\u003eLong, non-exhaustive list — a gentle dermatological treatment for problem skin.\u003c\/p\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=\"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;\"\u003e91%+ biodegradable | Free from SLES, SLS, parabens, and silicones | Not tested on animals | 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":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, green caviar mask","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\u003eBIO ENERGY PLUS\u003c\/strong\u003e is Special One’s ultra-concentrated pre-bath mask, with a dual \u003cstrong\u003e\"Beauty\" and \"Health\"\u003c\/strong\u003e action. It works instantly on dry, dirty, tangled hair — even before shampooing. An essential part of the Special One hydration program, it transforms the grooming routine and delivers visibly improved results from the very first use.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find real value in it — including those who have never used a pre-bath mask and are discovering an innovation that will transform their grooming routine.\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✅ Groomers\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✅ Breeders\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✅ Pet owners\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✅ Competitors\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!-- 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;\"\u003eCosmetological diagram of 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 \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 \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 \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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts highly advanced formula immediately provides profound benefits to the animal’s coat and skin. \u003cstrong\u003eApply to dry, dirty, tangled hair — no rinsing before shampooing.\u003c\/strong\u003e Although this is an additional step compared with the traditional bathing routine, it is crucial to the quality of the final result.\u003c\/p\u003e\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 Beauty \u0026amp; Health action:\u003c\/strong\u003e Improves texture while treating the skin and coat in depth.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eIntense hydration:\u003c\/strong\u003e Hydrates, nourishes, treats, and restores the coat and skin from the very first application.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRevives colors:\u003c\/strong\u003e Stimulates melanin production — the coat’s natural colors become more intense and vibrant.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eSkin microcirculation:\u003c\/strong\u003e Activates circulation in the hair roots, promoting coat growth and renewal.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRepair:\u003c\/strong\u003e Helps repair damaged, weakened, or overworked coats.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePreparation for trimming:\u003c\/strong\u003e Ideal for preparing coats before scissor trimming or professional grooming.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eShedding control \u0026amp; detangling:\u003c\/strong\u003e Facilitates the removal of dead hair and helps prevent or speed up shedding.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from puppies and kittens to seniors.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\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;\"\u003eSynergy of Natural Ingredients\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eAn ultra-advanced formula combining marine and plant-based active ingredients with structural agents — paraben-free and silicone-free.\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🍀 Hydrolyzed Collagen\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAnti-inflammatory action — strengthens the internal structure of the hair and improves fiber elasticity.\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🍀 Green Caviar (Caulerpa Lentillifera)\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eJapanese anti-aging algae, rich in minerals (iron, calcium, zinc, and potassium), vitamins A \u0026amp; C, and amino acids. Stimulates collagen and elastin production.\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🍀 Spirulina\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eA powerful antioxidant that restores vitality and shine to damaged coats. Reduces sebum, combats dandruff, prevents hair loss, and promotes hair growth.\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 (Bladderwrack)\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eRich in iodine, polyphenols, and vitamins. Polyphenols support cellular regeneration; iodine activates metabolism and improves circulation in the hair roots.\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;\"\u003eNatural detoxification thanks to alginic acid — it forms a gel upon contact with water that captures and removes substances harmful to the skin.\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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\u003c\/span\u003e\n \u003cdiv style=\"margin-bottom: 10px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n 💡 \u003cstrong\u003eAs a pre-bath treatment, apply to dry, dirty, untangled hair.\u003c\/strong\u003e Do not rinse before shampooing — this is the fundamental principle of the pre-bath mask.\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 ⚠️ Do not leave on for more than \u003cstrong\u003e30 minutes\u003c\/strong\u003e. Do not rinse the product before shampooing.\n \u003c\/div\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\u003eExample 1 🔥 Beauty Goal — radiance, texture \u0026amp; colors\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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. Dilute Bio Energy Plus to \u003cstrong\u003e1:20\u003c\/strong\u003e.\u003cbr\u003e\n 2. Apply to dry, dirty, untangled hair, covering the entire coat thoroughly.\u003cbr\u003e\n 3. Leave on for \u003cstrong\u003e5 to 30 minutes\u003c\/strong\u003e, depending on the desired intensity.\u003cbr\u003e\n 4. Proceed directly to shampooing \u003cstrong\u003ewithout rinsing\u003c\/strong\u003e beforehand.\u003cbr\u003e\n Result: improved texture, revitalized colors, and renewed shine straight out of the bath.\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\u003eExample 2 🔥 Health Goal — damaged skin \u0026amp; coat\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 For sensitive or irritated skin, or severely damaged coats:\u003cbr\u003e\n 1. Apply the product \u003cstrong\u003eundiluted to the most critical areas\u003c\/strong\u003e (dry, irritated areas and brittle hair).\u003cbr\u003e\n 2. Dilute to \u003cstrong\u003e1:15\u003c\/strong\u003e for application to the rest of the coat.\u003cbr\u003e\n 3. \u003cstrong\u003eCover the animal with a towel\u003c\/strong\u003e and leave it on for \u003cstrong\u003e20 to 30 minutes\u003c\/strong\u003e for maximum absorption of the repairing active ingredients.\u003cbr\u003e\n 4. Proceed to shampooing without rinsing first — apply the first shampoo directly to the product while it is soaking in.\u003cbr\u003e\u003cbr\u003e\n \u003cdiv style=\"background: #f0f7ff; border-left: 3px solid #4a90d9; padding: 10px 12px; font-size: 12px;\"\u003e\n 💧 \u003cstrong\u003eIn case of persistent skin abnormalities:\u003c\/strong\u003e it is recommended to carry out the following bath with \u003cstrong\u003eSkincare Pro\u003c\/strong\u003e shampoo to enhance the mask's therapeutic action.\n \u003c\/div\u003e\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\u003eExample 3 🔥 Detangling \u0026amp; Anti-Shedding Goal\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 To treat, accelerate, or prevent shedding and make detangling easier:\u003cbr\u003e\n 1. Dilute at \u003cstrong\u003e1\/20\u003c\/strong\u003e, then add a conditioner cream and an oil-based product from the range (4 Elements Oils or Aqua Dolce).\u003cbr\u003e\n 2. Apply to dry fur. \u003cstrong\u003eWork it through with your usual grooming tools\u003c\/strong\u003e (brush, comb) — the product helps remove dead hair and gently detangle the coat.\u003cbr\u003e\n 3. After about ten minutes, proceed directly to shampooing \u003cstrong\u003ewithout rinsing\u003c\/strong\u003e.\n \u003c\/div\u003e\n \u003c\/details\u003e\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🛠️ BOOSTER COMBINATIONS:\u003c\/span\u003e\n \u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e\n For optimal efficacy, mix Bio Energy Plus with one or more \u003cstrong\u003eoil-based boosters\u003c\/strong\u003e:\u003cbr\u003e\n ✨ \u003cstrong\u003eAqua Dolce\u003c\/strong\u003e and\/or \u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e and\/or \u003cstrong\u003eBombastic\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003e\n Continue the bath afterward with any shampoo + mask + conditioner from the Special One range.\n \u003c\/div\u003e\n \u003c\/div\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eCompatible with the entire Special One range that follows. Bio Energy Plus is the \u003cstrong\u003efirst step\u003c\/strong\u003e — everything else in the bathing protocol comes afterward.\u003c\/p\u003e\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✔️ All cats — especially for degreasing without stripping the coat.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ All dogs groomed in a salon — to help prevent knots from quickly returning.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Curly coats: Poodles, Bichons, Kerry Blue Terriers, Soft Coated Wheaten Terriers, Bedlingtons…\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ All Cockers (American, English)\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tibetan breeds: Shih Tzu, Lhasa Apso, Tibetan Terrier…\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ English Toy Spaniels (Cavalier King Charles Spaniels)\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Long, silky coats: Yorkshire Terriers, Afghan Hounds…\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Terriers: Scottish, Westie, Welsh… — long and non-exhaustive list!\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | 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":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 * Glitter *","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 was created for true enthusiasts. \u003cstrong\u003e95% identical to Aquarosa Pro\u003c\/strong\u003e — the same multivitamin formula, the same effectiveness — with the added benefits of a \u003cstrong\u003erich, silky creamy texture\u003c\/strong\u003e, a delicate enveloping fragrance and \u003cstrong\u003eglitter\u003c\/strong\u003e to add a little magic to your grooming routine.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it genuinely useful — from the professional grooming salon to pet owners who want to \u003cstrong\u003eenhance their pet’s 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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003ePet owners\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\"\u003eCompetitors\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; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eAquarosa Passion shares the formula of \u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e — the Special One shampoo designed for coats in great need of nourishment: intense hydration and nourishment, built-in conditioner and natural active ingredients. The difference? A distinctive colour, an \u003cstrong\u003eenveloping signature fragrance\u003c\/strong\u003e and \u003cstrong\u003eglitter that makes grooming 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\"\u003eGentle bathing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eSuitable for dogs and cats of all ages, from babies to seniors.\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\"\u003eDeep cleansing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eCleans, purifies and brightens all coat types.\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\"\u003eImmediate nourishment\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eActive moisturising and nourishing action, visible from the first shampoo.\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-tangle\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eMakes detangling and brushing easier, reducing the return of knots.\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\"\u003eKeratin protection\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eBoosts the coat’s natural defences to protect its structure.\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\"\u003eFrequent bathing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNo risk to the skin or coat, even with intensive use.\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\"\u003ePearlescent shimmer \u0026amp; glitter\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003ePearlescent texture with pearly and neon reflections: a multisensory spa ritual, enveloping fragrance and unique luminous effect.\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;\"\u003eBetter understand the effects of Aquarosa Passion\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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;\"\u003eAquarosa Passion formula: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eAquarosa Passion shares the natural multivitamin formula of \u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e — free from SLES, DEA and parabens. Here is how each active ingredient works on the skin and coat, area by area.\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=\"Diagram of the skin and coat anatomy illustrating the targeted action of 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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part to 20 parts water\u003cbr\u003e— or undiluted\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan class=\"aqr-dilution-cycle-target\" id=\"aqrCycleTarget\"\u003e1 L\u003c\/span\u003e of ready-to-use product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump presses\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\"\u003eQuick, economical \u0026amp; effective grooming\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\"\u003eThe basic protocol for a gentle bath\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\"\u003eFirst shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eStart the bath directly with diluted Aquarosa Passion on wet hair. Rinse.\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 shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply a \u003cstrong\u003esecond shampoo\u003c\/strong\u003e, then rinse again.\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\"\u003eFinal treatment\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with the appropriate conditioner: \u003cstrong\u003eHydrating Cream, Bombastic, or 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\"\u003eUltra-intensive action — salon, emergency, or show\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\"\u003eFor detangling in the salon, restoring severely damaged fur, or enhancing show grooming\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\"\u003ePre-bath mask\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eBegin the bath with a \u003cstrong\u003epre-bath mask\u003c\/strong\u003e of Bio Energy or Bombastic, enriched with 4 Elements Oils or 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 without rinsing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Aquarosa Passion \u003cstrong\u003edirectly after the mask, without rinsing in between\u003c\/strong\u003e. Use a higher concentration and combine with Bombastic for greater effectiveness.\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\"\u003eLeave-on time \u0026amp; double shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eLeave on for a few moments and massage if possible. \u003cstrong\u003eTwo shampoos recommended.\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\"\u003eFinish\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with a conditioner or mask as needed.\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\"\u003eIntegration boosters — nourishment \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\"\u003eTwo options to customize the action of 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\"\u003eNourishment boost\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAdd \u003cstrong\u003eone spoonful of Aqua Dolce\u003c\/strong\u003e to your Aquarosa Passion mixture. Apply, leave on, then rinse with lukewarm water.\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\"\u003eVolume boost\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMix Aquarosa Passion with \u003cstrong\u003eAqua Vita\u003c\/strong\u003e foam: its effervescent effect adds volume and boosts cleansing power.\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💡 With either option, finish drying while brushing with \u003cstrong\u003eAqua Beauty or Mix Pink\u003c\/strong\u003e for an even softer, shinier coat.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\"\u003eThe same combinations as \u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e — the entire Special One range is compatible. Our favorite combinations:\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea second shampoo is preferred…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is desired…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea final treatment is needed…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea show finish is desired…\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;\"\u003eWhere Aquarosa Passion makes the difference:\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱🐶 All dog \u0026amp; cat breeds \u003cspan\u003e(same uses as Aquarosa Pro)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✨ Enthusiasts \u003cspan\u003e(performance \u0026amp; originality in the grooming routine)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eA long, non-exhaustive list — all the performance of Aquarosa Pro, with a little extra magic.\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;\"\u003eOver 90% biodegradable | Free from SLES, DEA, parabens, and silicone | Not tested on animals | 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 is the Special One professional shampoo with \u003cstrong\u003emarine bio-derivatives and reflective blue pigments\u003c\/strong\u003e, designed to \u003cstrong\u003eneutralize yellowing and intensify the luminosity of natural colors\u003c\/strong\u003e. Ideal for white coats, it also enhances black, fawn and two-tone coats. Its ultra-gentle formula is suitable for sensitive skin and frequent use.\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\u003eDo not use\u003c\/strong\u003e if the aim is not to remove yellowing or revive a coat’s radiance: the reflective blue pigment is a targeted active ingredient, with no benefit for uniformly dark coats without unwanted highlights.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it genuinely useful — from professional salons to private owners — \u003cstrong\u003ewhenever the animal has white, glossy black or golden areas\u003c\/strong\u003e in its coat.\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003eIndividuals\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\"\u003eCompetitors\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; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts \u003cstrong\u003ereflective blue pigments\u003c\/strong\u003e optically neutralize yellow and orange tones — caused by the sun, sebum, urine or saliva — to restore a pure, radiant white. Its advanced formula does more than just cleanse: it hydrates, protects and strengthens the coat without ever stripping it of its natural oils.\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\"\u003ePerfect white\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNeutralizes yellowing caused by sun, sebum, urine or saliva — a radiant result from the first bath.\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\"\u003eColor radiance\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eEnhances natural luminosity — even more beautiful whites, glossy blacks and fawns.\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\"\u003eDeep \u0026amp; gentle cleansing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eCleans and sanitizes without stripping or depriving the coat of its natural oils.\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-tangle\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNever amplifies natural volume — limits the return of tangles between baths.\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\"\u003eKeratin protection\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eStrengthens natural defenses to protect the structure of the coat.\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\"\u003eSensitive skin\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAn ultra-gentle formula, perfect for reactive skin — suitable for all ages.\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\"\u003eFrequent baths\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003ePerfectly suited to regular use to maintain an impeccable coat.\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;\"\u003eUnderstanding the effects of Aquablu Pro\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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 of Aquablu Pro: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA precise formula combining \u003cstrong\u003ereflective optical action, hydration and skin protection\u003c\/strong\u003e — without parabens or silicone. Here is how each active ingredient works on the skin and coat, area by area.\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=\"Diagram of the skin and coat anatomy illustrating the targeted action of 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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eUndiluted on yellowed areas\u003cbr\u003eor 1\/20 for a gentle bath\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump presses\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\"\u003eMaintenance bath — maintaining whiteness every day\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\"\u003eFor regular maintenance of the white coat\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\"\u003eDiluted application\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply diluted Aquablu Pro at \u003cstrong\u003e1\/20\u003c\/strong\u003e on wet hair. Massage to create a soft lather, leave on for a few 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 shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse thoroughly, then shampoo again. \u003cstrong\u003eTwo shampoos recommended.\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\"\u003eFinal treatment\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream or 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\"\u003eFinishing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eMix Pink or Style 360\u003c\/strong\u003e. Suitable for frequent bathing to maintain a perfectly white coat between shows.\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\"\u003eIntense yellowing-neutralising action — before a show or competition\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\"\u003eFor maximum radiance before entering the 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\"\u003ePre-bath mask\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003ePrepare with \u003cstrong\u003eBio Energy Plus + boosters\u003c\/strong\u003e (Hygro Fluid, 4 Elements Oils) as a pre-bath mask.\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\"\u003eNeat application without rinsing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Aquablu Pro \u003cstrong\u003eneat, directly onto the mask without rinsing\u003c\/strong\u003e. Leave on for a few 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 shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse, then shampoo again. \u003cstrong\u003eTwo shampoos recommended.\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\"\u003eFinishing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream or Extra Body Cream\u003c\/strong\u003e, then Mix Pink or Style 360 as a finishing product.\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\"\u003ePigment boost — mix with 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\"\u003eTo further intensify the blue pigment’s action\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\"\u003eMixing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMix \u003cstrong\u003eAquablu Pro directly with Aqua Vita mousse\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\"\u003eEnhanced penetration\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAqua Vita’s effervescent effect promotes the \u003cstrong\u003epenetration of the blue pigment into the hair structure\u003c\/strong\u003e, intensifying its yellowing-neutralising action.\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\"\u003eLeave-on \u0026amp; rinsing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply, leave on for a few minutes, then rinse thoroughly. Regular use of this duo keeps the coat white, pure and shiny over time.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Aquablu Pro. Our favourite combinations:\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is desired…\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 + boosters\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea final treatment is needed…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea yellowing-neutralising boost is wanted…\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 (effervescent mousse)\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea show finish is desired…\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;\"\u003eWhere Aquablu Pro makes the difference:\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🤍 White or bi-\/tricolour coats \u003cspan\u003e(cats \u0026amp; dogs with white)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🖤 Glossy black \u0026amp; fawn coats \u003cspan\u003e(enhanced colours)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 White curly coats \u003cspan\u003e(Poodles, Bichons, Havanese, Coton de Tulear, Bedlington)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Light-coloured Tibetan breeds \u003cspan\u003e(Shih Tzu, Lhasa, Tibetan Terrier)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 White or bicolour Cockers \u003cspan\u003e(American, English)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e👑 Light-coloured English Toy Spaniels \u003cspan\u003e(Cavalier \u0026amp; King Charles)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✨ Long, silky white coats \u003cspan\u003e(Maltese, Afghan Hounds, bicolour Yorkshire Terriers)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐾 White terriers \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;\"\u003eA long, non-exhaustive list — anywhere there is white, glossy black, or golden areas to revive.\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | 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":"4 ELEMENTS OILS","description":"\u003cbody\u003e\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\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;\"\u003e\n \u003cstrong\u003e4 ELEMENT OILS\u003c\/strong\u003e is the Special One oil blend designed to \u003cstrong\u003estrengthen and rebuild the coat\u003c\/strong\u003e. A true all-rounder that enhances every coat of every breed — as a finishing product, detangler, pre-bath treatment, wrap treatment, or poultice.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find real value in it — this product will enhance every coat without exception.\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✅ Groomers\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✅ Breeders\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✅ Pet owners\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✅ Competitors\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!-- 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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThis complex of \u003cstrong\u003efour precious vegetable oils\u003c\/strong\u003e — formulated with \u003cstrong\u003eunsaponifiable\u003c\/strong\u003e fractions, the most valuable part of each oil, concentrating fat-soluble vitamins, antioxidants, polyphenols, and squalene — fits into every stage of grooming. Its versatility and gentleness make it an essential in every grooming kit. \u003cstrong\u003eNon-greasy, non-occlusive\u003c\/strong\u003e: thanks to its affinity with sebum and its sebum-restoring properties, it is easily absorbed by the skin and hair, nourishing them deeply and durably without ever weighing them down.\u003c\/p\u003e\n \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n ⚠️ \u003cstrong\u003eDo not use large amounts in leave-in conditioner:\u003c\/strong\u003e too much oil + the heat of the hair dryer = a “cooking” effect — the hair comes out dry and distressed. Prefer applying the oil \u003cstrong\u003ebefore the bath\u003c\/strong\u003e, not right before blow-drying.\n \u003c\/div\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\u003eRevitalizing \u0026amp; restructuring action:\u003c\/strong\u003e Strengthens and rebuilds the coat in depth.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRadiance \u0026amp; velvety feel:\u003c\/strong\u003e Adds shine and softness to the coat from the very first application.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDetangling:\u003c\/strong\u003e Makes detangling and brushing easier — effective even on dry knots.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-matting:\u003c\/strong\u003e Prevents knots and mats from returning between baths.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRepair:\u003c\/strong\u003e Repairs broken and damaged hair and strengthens the fiber over the long term.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eEnhanced growth:\u003c\/strong\u003e Used in wraps and poultices, it improves coat growth and quality.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from babies to seniors.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\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;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eFour precious plant oils with complementary properties — paraben-free, silicone-free.\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🍀 Argan Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eFrom Argania Spinosa from Morocco. Antioxidant, moisturizing, elasticity-boosting, and healing — easily absorbed thanks to its sebum-restoring anti-aging properties. Rich in unsaturated fatty acids (linoleic, oleic), carotene, vitamin E, and sterols. Ideal for dry, coarse coats.\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🍀 Walnut Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRich in tannins, flavonoids, gallic and caffeic acids. Purifying, antibacterial, antifungal, and anti-inflammatory properties. Spreads quickly to smooth curly or tousled hair — ideal for preparing baths or masks.\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🍀 Sunflower Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eCold-pressed, rich in oleic acid (32%), linoleic acid (54%), and antioxidant vitamin E. Strengthens the natural lipid barrier and prevents dehydration. Cell-regenerating — emollient, moisturizing, and rebalancing for sensitive or irritated skin.\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🍀 Soybean Oil (Corn)\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eExtracted from corn germ — lightweight, emollient, and smoothing. Very well tolerated by dry skin. Rich in vitamin E, oleic and linoleic acids — a natural anti-aging ingredient that balances the hydrolipidic film and brightens the coat, leaving it velvety.\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!-- 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;\"\u003eProtocols \u0026amp; Suggested uses\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\n \u003cspan\u003eExample 1 🔥 Integrator — in the pre-bath mask or conditioner\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 The universal integration method:\u003cbr\u003e\n 💫 In any \u003cstrong\u003epre-bath mask\u003c\/strong\u003e: \u003cstrong\u003e3 pumps of 4 Elements Oils per liter\u003c\/strong\u003e of prepared product.\u003cbr\u003e\n 💫 In the \u003cstrong\u003eHydrating Cream at the end of the bath\u003c\/strong\u003e: add \u003cstrong\u003e1 pump\u003c\/strong\u003e to enrich the conditioner.\u003cbr\u003e\n 💫 For coats in severe distress: apply the Oils \u003cstrong\u003eup to 24 hours before bathing\u003c\/strong\u003e to maximize the action time and intensity of the benefits.\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\u003eExample 2 🔥 Dry detangling — knots \u0026amp; matting\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 To treat knots and matted areas without wetting the coat:\u003cbr\u003e\n 💫 Apply the \u003cstrong\u003epure 4 Elements Oils directly to the knot\u003c\/strong\u003e. Leave to penetrate for a few moments.\u003cbr\u003e\n 💫 Brush gently with a soft pin brush — the knot will come undone without pain or breakage.\u003cbr\u003e\n 💫 For \u003cstrong\u003edogs in wraps or elastic bands\u003c\/strong\u003e: when opening, if the coat is tangled or matted, apply pure oil to the strand and brush with a soft brush.\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\u003eExample 3 🔥 Wraps \u0026amp; poultices — growth \u0026amp; showing\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 For dogs in wraps or requiring an intensive treatment to promote growth:\u003cbr\u003e\n 💫 Use the \u003cstrong\u003eOils pure or mixed with Aqua Dolce + Hydrating Cream\u003c\/strong\u003e to prepare and wrap the strands.\u003cbr\u003e\n 💫 The oil complex nourishes the hair fiber over an extended period and improves the quality and density of regrowth over the weeks.\u003cbr\u003e\n 💫 Ideal for show preparation for breeds whose coats need to be long, dense, and shiny.\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\u003eExample 4 🔥 Post-bath restorative conditioner — very damaged coats\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 For an intensive restorative treatment after shampooing:\u003cbr\u003e\n 1. In a bowl, mix \u003cstrong\u003e10 drops of 4 Elements Oils + 2 tablespoons of cream\u003c\/strong\u003e of your choice: Hydrating Cream, Aqua Dolce, or Extra Body Cream.\u003cbr\u003e\n 2. Dilute with \u003cstrong\u003e500 mL of hot water\u003c\/strong\u003e and mix thoroughly.\u003cbr\u003e\n 3. Apply evenly over the entire length of the coat.\u003cbr\u003e\n 4. For very damaged coats: leave on for \u003cstrong\u003e5 minutes under a gentle heat source\u003c\/strong\u003e to encourage absorption. Rinse thoroughly.\u003cbr\u003e\n 5. Dry at a low temperature with moderate airflow.\u003cbr\u003e\u003cbr\u003e\n \u003cem\u003eSimple alternative:\u003c\/em\u003e after bathing, rub a few drops into the damp coat and dry without rinsing.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n 🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e as a pre-bath mask ·\n 🤝 \u003cstrong\u003eAll Special One shampoos\u003c\/strong\u003e ·\n 🤝 \u003cstrong\u003eHydrating Cream \/ Aqua Dolce\u003c\/strong\u003e at the end of a bath or for wrapping\n \u003c\/p\u003e\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\u003eAll coats of every breed, without exception\u003c\/strong\u003e — dogs and cats of all ages.\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\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\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\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;\"\u003e\n \u003cstrong\u003eHYGRO FLUID\u003c\/strong\u003e is the nourishing Special One integrator designed to \u003cstrong\u003estrengthen and rebuild the coat\u003c\/strong\u003e. Rich in precious plant oils, it plays a central role in balancing the hydrolipidic film and rebalancing the skin flora. Its structure enables \u003cstrong\u003ebetter absorption of the active ingredients in products used afterward\u003c\/strong\u003e — a natural booster for all your treatments.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find real value in it — this product enhances every coat without exception. Perfectly complementary to the range’s other two integrators: \u003cstrong\u003eSuper Keeper and 4 Elements Oils\u003c\/strong\u003e.\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✅ Groomers\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✅ Breeders\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✅ Private Owners\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✅ Competitors\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!-- 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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eHygro Fluid purifies the dermis, rebalances the skin flora, and prepares the skin to better absorb the active ingredients in subsequent treatments. Using it beforehand enhances the effectiveness of all products applied afterward — a unique \u003cstrong\u003enatural catalyst\u003c\/strong\u003e among the range’s integrators.\u003c\/p\u003e\n \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n ⚠️ If you add too much Hygro Fluid after bathing without rinsing, be careful when blow-drying — the result may be too greasy. Prefer using it \u003cstrong\u003ebefore\u003c\/strong\u003e bathing.\n \u003c\/div\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\u003eRevitalizing \u0026amp; Restructuring Action:\u003c\/strong\u003e Strengthens and rebuilds the coat deep down.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRadiance \u0026amp; Velvety Feel:\u003c\/strong\u003e Adds shine and softness to the coat from the very first application.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDetangling:\u003c\/strong\u003e Makes detangling and brushing easier, and helps prevent knots and matting from returning.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRepair:\u003c\/strong\u003e Repairs broken hair and strengthens the fiber over time.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eSkin Protection:\u003c\/strong\u003e Protects the skin from aggressors and dirt by rebalancing the hydrolipidic film.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eShow Preparation:\u003c\/strong\u003e Prepares coats for presentation in the ring — optimal results when used in synergy with the other integrators.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from babies to seniors.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\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;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA concentrate of precious plant oils with moisturizing, protective, and anti-aging properties — paraben-free and silicone-free.\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🍀 Rice Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eAntioxidant and natural UV filter — absorbs UV rays and protects the coat and skin from sun-related damage.\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🍀 Rosehip Seed Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRevitalizing and protective — deeply nourishes the skin, promotes cell regeneration, and strengthens the dermis's natural defenses.\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🍀 Omega 3 \u0026amp; 6\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eVitamin-rich and anti-aging for the coat — nourish and strengthen the hair fiber, improving elasticity, shine, and long-term resistance.\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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\n \u003cspan\u003eExample 1 🔥 Integrator in the pre-bath mask or shampoo\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 The daily integration method:\u003cbr\u003e\n 💫 In \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e: add \u003cstrong\u003e1 to 2 tablespoons of Hygro Fluid per liter\u003c\/strong\u003e of prepared mask — it amplifies the mask's moisturizing action from the pre-bath stage.\u003cbr\u003e\n 💫 In the \u003cstrong\u003eshampoo\u003c\/strong\u003e: add \u003cstrong\u003e1 tablespoon\u003c\/strong\u003e directly to your usual shampoo (unless you are seeking maximum volume).\u003cbr\u003e\n 💫 For severely distressed coats: apply Hygro Fluid \u003cstrong\u003eup to 24 hours before bathing\u003c\/strong\u003e to maximize the penetration of the active ingredients.\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\u003eExample 2 🔥 Enriching the conditioner\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 To enrich the final conditioner:\u003cbr\u003e\n 💫 Add \u003cstrong\u003e1 to 2 pumps of Hygro Fluid to the Hydrating Cream\u003c\/strong\u003e at the end of the bath.\u003cbr\u003e\n The oil complex enriches the conditioner and improves the coat's softness, velvety feel, and hold after drying.\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\u003eExample 3 🔥 Skin program — combating skin problems\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 is a key element in the program for combating skin problems:\u003cbr\u003e\n 1. \u003cstrong\u003eBio Energy Plus + Hygro Fluid\u003c\/strong\u003e as a pre-bath mask (leave on for 20 minutes) — the duo rebalances the hydrolipidic film and prepares the skin to absorb the next treatment.\u003cbr\u003e\n 2. Shampoo with \u003cstrong\u003eSkincare Pro\u003c\/strong\u003e.\u003cbr\u003e\n 3. Finish with \u003cstrong\u003eHydrating Cream + 1 pump of Hygro Fluid\u003c\/strong\u003e.\u003cbr\u003e\n This trio (Bio Energy + Hygro Fluid + Skincare Pro) is the go-to choice for chronically imbalanced skin.\n \u003c\/div\u003e\n \u003c\/details\u003e\n \u003c\/div\u003e\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eThe entire Special One range is compatible with Hygro Fluid. Our preferred combinations:\u003c\/p\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003e\n 🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e as a pre-bath mask (essential combination) ·\n 🤝 \u003cstrong\u003eAll Special One shampoos\u003c\/strong\u003e ·\n 🤝 \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e at the end of the bath\n \u003c\/p\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px; padding: 10px 14px; background: #f9f9f9; border: 1px solid #eee;\"\u003e\n 💛 Perfectly complements the other two integrators: \u003cstrong\u003eSuper Keeper\u003c\/strong\u003e and \u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e — the three work in symbiosis for complete action on all coats.\n \u003c\/p\u003e\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\u003eAll coats of every breed, without exception\u003c\/strong\u003e — dogs and cats of all ages.\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\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\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\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;\"\u003e\n \u003cstrong\u003eSUPER KEEPER\u003c\/strong\u003e is Special One’s protective integrator, \u003cstrong\u003ehighly restorative\u003c\/strong\u003e, designed to strengthen and rebuild the coat. Its blend of selected plant oils and polysaccharides delicately envelops the hair, protects it from aggressors, and greatly reduces knot formation. One of the \u003cstrong\u003efavourite products among professional groomers\u003c\/strong\u003e for its ultra-powerful properties.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find real value in it — this product enhances every coat without exception. Perfectly complementary to the other two integrators: \u003cstrong\u003eHygro Fluid and 4 Elements Oils\u003c\/strong\u003e.\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✅ Groomers\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✅ Breeders\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✅ Pet Owners\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✅ Competitors\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!-- 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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts \u003cstrong\u003eunique structure delicately envelops each hair\u003c\/strong\u003e — hydrating it from within and protecting it from external physical, chemical, and environmental aggressors. The oil-based formula regenerates damaged hair, restoring shine and body from the first treatments. This “protective coating” effect distinguishes Super Keeper and makes it a reference choice for heavily used or fragile coats.\u003c\/p\u003e\n \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n ⚠️ If you apply too much Super Keeper after bathing without rinsing, be careful during blow-drying — the result could be too greasy. Prefer using it \u003cstrong\u003ebefore\u003c\/strong\u003e bathing.\n \u003c\/div\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\u003eRevitalising \u0026amp; restructuring action:\u003c\/strong\u003e Strengthens and rebuilds the coat in depth from the first treatments.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRadiance \u0026amp; velvety feel:\u003c\/strong\u003e Adds shine and softness to the coat from the very first application.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDetangling \u0026amp; anti-matting:\u003c\/strong\u003e Makes detangling and brushing easier, greatly reducing knot formation.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eProtective coating:\u003c\/strong\u003e Envelops the hair and protects the skin from external aggressors and dirt.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRepair:\u003c\/strong\u003e Repairs broken hair and durably strengthens the fibre.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eShow preparation:\u003c\/strong\u003e Prepares coats for the show ring by maximising shine and hold.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from babies to seniors.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\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;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eAn exclusive blend of plant oils and polysaccharides specially selected for the perfect care of all coats — paraben-free, silicone-free.\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🍀 Plant Oil Complex\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eA blend selected to envelop the hair in a lightweight protective coating — hydrates without weighing it down, regenerates damaged hair, and protects against external aggressors.\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;\"\u003eNaturally derived moisturizing actives — form a protective layer around the fiber, retain moisture, and improve the hair’s elasticity and strength.\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!-- 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;\"\u003eProtocols \u0026amp; Suggested Uses\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\n \u003cspan\u003eExample 1 🔥 Integrator in the pre-bath mask or shampoo\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 The universal integration method:\u003cbr\u003e\n 💫 In \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e: add \u003cstrong\u003e1 to 2 tablespoons of Super Keeper per liter\u003c\/strong\u003e of prepared mask.\u003cbr\u003e\n 💫 In the \u003cstrong\u003eshampoo\u003c\/strong\u003e: add \u003cstrong\u003e1 tablespoon\u003c\/strong\u003e to enhance the cleansing action (except when maximum volume is desired).\u003cbr\u003e\n 💫 For severely damaged coats: apply Super Keeper \u003cstrong\u003eundiluted, up to 24 hours before the bath\u003c\/strong\u003e as an intensive restorative treatment — massage in and leave to work.\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\u003eExample 2 🔥 Conditioner enrichment\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 To enrich the final conditioner:\u003cbr\u003e\n 💫 Add \u003cstrong\u003e1 to 2 pumps of Super Keeper to the Hydrating Cream\u003c\/strong\u003e at the end of the bath.\u003cbr\u003e\n Super Keeper’s protective coating effect complements Hydrating Cream’s hydration for a shiny, velvety, long-lasting result.\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\u003eExample 3 🔥 The ultimate Terrier protocol — texture, elasticity \u0026amp; stripping without drying\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 The concentrated one-step protocol, suitable for all Terriers:\u003cbr\u003e\n 1. Mix \u003cstrong\u003eequal parts: Super Keeper + Bio Energy Plus + Keratin Pro\u003c\/strong\u003e.\u003cbr\u003e\n 2. Lather, apply to wet hair, massage, and rinse.\u003cbr\u003e\n The hair is texturized for stripping, elasticity is preserved by Bio Energy, and the coat stays nourished thanks to Super Keeper — without drying it out.\n \u003cdiv style=\"margin-top: 10px; background: #f0fff4; border-left: 3px solid #2ecc71; padding: 10px 12px; font-size: 12px;\"\u003e\n ✨ \u003cstrong\u003eA must-try for all Terriers\u003c\/strong\u003e — this 3-in-1 protocol is a game changer for regular hand-stripping.\n \u003c\/div\u003e\n \u003c\/div\u003e\n \u003c\/details\u003e\n \u003c\/div\u003e\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eThe entire Special One range is compatible with Super Keeper. Our favorite combinations:\u003c\/p\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003e\n 🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e as a pre-bath mask ·\n 🤝 \u003cstrong\u003eAll Special One shampoos\u003c\/strong\u003e ·\n 🤝 \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e at the end of the bath\n \u003c\/p\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px; padding: 10px 14px; background: #f9f9f9; border: 1px solid #eee;\"\u003e\n 💛 Perfectly complementary to \u003cstrong\u003eHygro Fluid\u003c\/strong\u003e and \u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e — the three integrators work in symbiosis for complete action on all coats.\u003cbr\u003e\n Also perfect for a \u003cstrong\u003eskin program\u003c\/strong\u003e combined with Bio Energy Plus \u0026amp; Skincare Pro.\n \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✔️ \u003cstrong\u003eAll coats of all breeds, without exception\u003c\/strong\u003e — dogs and cats of all ages.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ \u003cstrong\u003eParticularly recommended for breeds with keratin-rich coats\u003c\/strong\u003e — Terriers, Schnauzers, Cockers, and other breeds with dense, coarse, or keratin-rich hair.\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\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, finishing conditioning mask","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 is \u003cstrong\u003ethe best-selling professional moisturizing mask in Special One’s entire history\u003c\/strong\u003e. Essential for discovering the range.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEssential for \u003cstrong\u003eall breeds\u003c\/strong\u003e, especially for \u003cstrong\u003econditioning fringes and beards\u003c\/strong\u003e and coats requiring \u003cstrong\u003edeep hydration\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003ePet Owners\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\"\u003eCompetitors\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; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eA \u003cstrong\u003eformula enriched with natural active ingredients\u003c\/strong\u003e to nourish and revitalize with an \u003cstrong\u003eanti-aging effect\u003c\/strong\u003e. \u003cstrong\u003eSilk\u003c\/strong\u003e extracts provide exceptional shine for vibrant color.\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\"\u003eDetangling\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eMakes brushing easier and \u003cstrong\u003eprevents knots from returning\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\"\u003eSpeed\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eSignificantly reduces \u003cstrong\u003edrying time\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\u003eUV filter\u003c\/strong\u003e and \u003cstrong\u003eanti-split-end\u003c\/strong\u003e action to protect the tips.\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\"\u003eHealth\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eMaintains \u003cstrong\u003eskin elasticity\u003c\/strong\u003e and perfectly healthy skin.\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\"\u003eVitality\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eA more \u003cstrong\u003esupple and conditioned\u003c\/strong\u003e texture from the first 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;\"\u003eUnderstanding the effects of Hydrating Cream\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA note-by-note look at its cosmetic performance.\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;\"\u003eHydrating Cream composition: 4 duos of synergistic active ingredients\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA \u003cstrong\u003esophisticated formulation\u003c\/strong\u003e that penetrates to the heart of the fiber for total regeneration—four duos of active ingredients with complementary properties.\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=\"Diagram of the anatomy of the skin and hair illustrating the targeted action of 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✨ The Hydrating Cream signature\u003c\/span\u003e\n\u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eSpecial One’s all-time best-seller\u003c\/p\u003e\n\u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003e\u003cstrong\u003eHydrating Cream\u003c\/strong\u003e is the best-selling professional moisturizing mask in Special One’s entire history—the product that introduced the brand to thousands of groomers. Its formula is based on \u003cstrong\u003esilk extracts\u003c\/strong\u003e, which deposit a silky protective film and give the coat \u003cstrong\u003eexceptional shine for vibrant color\u003c\/strong\u003e. It is \u003cem\u003ethe\u003c\/em\u003e gateway to the range.\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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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 tsp to 2 tbsp\u003cbr\u003eper liter depending on the result\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoon\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🛠️ Preparation method\u003c\/div\u003e\n\u003ch3 class=\"aqr-method-title\"\u003ePerfect your cream in 6 steps — at-home tips\u003c\/h3\u003e\n\u003cp class=\"aqr-method-subtitle\"\u003eThis lump-free method is the basis of the \u003cstrong\u003e3 protocols below\u003c\/strong\u003e — just one technique to master.\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\"\u003eMeasure\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003eTake \u003cstrong\u003e1 spoonful\u003c\/strong\u003e of cream in a bowl or 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\"\u003eOil \u003cspan class=\"aqr-method-opt\"\u003e(optional)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003eFor any remaining tangles: \u003cstrong\u003e1 pump of 4 Elements Oils\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\"\u003e\u003cem\u003eVery\u003c\/em\u003e hot water\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003eApproximately \u003cstrong\u003e5 cm of very hot water\u003c\/strong\u003e — essential for \u003cstrong\u003edissolving the oils\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\"\u003eEmulsify\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003e\n\u003cstrong\u003eA whisk or blender is essential!\u003c\/strong\u003e Shake\/blend until evenly emulsified.\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(optional)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003e\n\u003cstrong\u003e2 pumps of Bio Energy Plus\u003c\/strong\u003e to boost the moisturizing effect.\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\"\u003eAdd \u0026amp; apply\u003c\/div\u003e\n\u003cdiv class=\"aqr-method-step-desc\"\u003eAdd lukewarm water, blend, apply. \u003cstrong\u003eDo not rinse (or rinse lightly)\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\u003eOur tip:\u003c\/strong\u003e unlike other creams, Hydrating Cream delivers its full benefits \u003cstrong\u003ewithout rinsing (or with a very light rinse)\u003c\/strong\u003e — this allows the silky film to settle properly on the hair fiber.\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\"\u003eQuick \u0026amp; effective grooming\u003c\/span\u003eThe basic use — every day in the 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\"\u003eMix\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMix the Hydrating Cream with a \u003cstrong\u003esmall amount of hot water\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\"\u003eBlend\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eShake or blend until smooth.\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\"\u003eAdd\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAdd lukewarm water and apply.\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\"\u003eLight volume\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e\n\u003cstrong\u003e1 teaspoon per liter\u003c\/strong\u003e + optional rinsing.\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\"\u003eMore conditioning\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e\n\u003cstrong\u003e1 to 2 tablespoons per liter\u003c\/strong\u003e + no rinsing.\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\"\u003eIntensive restructuring\u003c\/span\u003eFor very damaged coats — an intensive treatment\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\"\u003ePrepare the mixture\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eOn washed and towel-dried coat: \u003cstrong\u003e1 tablespoon + 20 drops of 4 Elements Oil\u003c\/strong\u003e in \u003cstrong\u003e2 L of warm water\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\"\u003eDistribute\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDistribute along the entire length and leave on for a few minutes while brushing.\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\"\u003eHeat boost\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e💡 \u003cstrong\u003eTip:\u003c\/strong\u003e for very damaged coats, leave on \u003cstrong\u003eunder a heat source\u003c\/strong\u003e (hair dryer, lamp) to activate penetration.\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\"\u003eRinse\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse thoroughly.\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\"\u003eShow Preparation \/ Wrapping\u003c\/span\u003eThe Competitors’ and Handlers’ ritual\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\"\u003eMix the trio\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAfter bathing: \u003cstrong\u003e1 tbsp Hydrating Cream + 1 tbsp Hygrofluid + a few drops of 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\"\u003eApply\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eApply to the \u003cstrong\u003efringes and beard\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\"\u003eBrush\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eBrush with a \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\"\u003eWraps\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eLeave in place \u003cstrong\u003eunder wraps\u003c\/strong\u003e — for up to 1 week 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;\"\u003eRecommended Pairings \u0026amp; Breeds\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\"\u003eHydrating Cream is \u003cstrong\u003euniversally popular across a wide variety of breeds\u003c\/strong\u003e. Ideal for \u003cstrong\u003econditioning fringes and beards\u003c\/strong\u003e, and for \u003cstrong\u003etreatment during seasonal shedding\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003elight volume desired…\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 tsp \/ L + optional rinsing\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea deliberately weighted-down effect…\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 to 2 tbsp \/ L + leave-in\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003every damaged coats…\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\u003eIntensive restructuring (+ 4 Elements Oil + heat)\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003eshow preparation or 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\u003eMix Hydrating + Hygrofluid + 4 Elements under wraps\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003edifficult detangling as a 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 (coat opening) + Hydrating Cream (finishing)\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;\"\u003eWhere Hydrating Cream makes the difference:\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 All Cats \u0026amp; Tibetan Breeds \u003cspan\u003e(Shih-Tzu, Lhasa…)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐶 Cockers, Spaniels \u0026amp; Cavalier King Charles \u003cspan\u003e(fringes and beards)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 Shepherds, Retrievers, Spitz \u0026amp; Eurasiers \u003cspan\u003e(seasonal shedding)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Terriers, Poodles, Bichons \u0026amp; Yorkshires \u003cspan\u003e(curly and long coats)\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 is universally popular — the historic gateway to the Special One range.\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;\"\u003e90%+ biodegradable | SLES-, DEA-, paraben- and silicone-free | Not tested on animals | 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 is a \u003cstrong\u003econcentrated volume balm with an instant effect\u003c\/strong\u003e, formulated for dogs and cats.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find real value in it, particularly for \u003cstrong\u003efine\u003c\/strong\u003e and \u003cstrong\u003elimp\u003c\/strong\u003e coats!\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003ePet owners\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\"\u003eCompetitors\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; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThanks to \u003cstrong\u003elatest-generation polymers\u003c\/strong\u003e and \u003cstrong\u003eamino acids\u003c\/strong\u003e, this balm bonds to the core of the hair structure to \u003cstrong\u003eincrease its thickness without ever weighing it down\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\"\u003eFilling\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eIncreases the \u003cstrong\u003ediameter of the hair\u003c\/strong\u003e — \u003cstrong\u003eplumping effect\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\"\u003eElasticity\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eRestores \u003cstrong\u003eimmediate suppleness and shine\u003c\/strong\u003e to the fiber.\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\"\u003eDetox\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003e\u003cstrong\u003eRefreshing and purifying\u003c\/strong\u003e effect for the skin.\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\"\u003eVersatility\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eIdeal for \u003cstrong\u003enourishing dry fringes\u003c\/strong\u003e of coarse hair.\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-aging\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003e\n\u003cstrong\u003eProtection against oxidative stress\u003c\/strong\u003e — preserves the fiber's youthful appearance.\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;\"\u003eUnderstanding the actions of Extra Body Cream\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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 of Extra Body Cream: 4 synergistic active-ingredient duos\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA \u003cstrong\u003erich formulation that penetrates deep into the keratin fiber\u003c\/strong\u003e — four duos of active ingredients with complementary properties.\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=\"Diagram of the anatomy of the skin and hair illustrating the targeted action of 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✨ The Extra Body Cream signature\u003c\/span\u003e\n\u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eThe plumping effect: the hair regains its body\u003c\/p\u003e\n\u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eFor \u003cspan\u003efine or limp\u003c\/span\u003e coats, the challenge is not styling but \u003cstrong\u003erestoring diameter\u003c\/strong\u003e to each fiber. Thanks to its \u003cstrong\u003elatest-generation polymers\u003c\/strong\u003e and \u003cstrong\u003eamino acids\u003c\/strong\u003e, Extra Body Cream bonds to the core of the hair structure and \u003cem\u003ethickens\u003c\/em\u003e it from within. \u003cstrong\u003eNo heaviness\u003c\/strong\u003e, just hair that is \u003cstrong\u003edenser, more resilient, more substantial\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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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 teaspoon to 1 tablespoon\u003cbr\u003eper litre depending on the result\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan class=\"aqr-dilution-cycle-target\" id=\"aqrCycleTarget\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoon\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\"\u003eAnti-Shedding \u0026amp; Anti-Matting Protocol\u003c\/span\u003eThe double application: pre-bath mask + conditioner\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\"\u003ePre-bath mask\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDilute \u003cstrong\u003e1 tbsp of Extra Body Cream per liter of water\u003c\/strong\u003e (with or without Bio Energy). Apply as a pre-bath mask.\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\"\u003eMild shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eUse a \u003cstrong\u003emild shampoo of your choice\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\"\u003eConditioner\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAt the end of the bath, reuse at a rate of \u003cstrong\u003e1 tbsp per liter\u003c\/strong\u003e as a conditioner. \u003cstrong\u003eNo long processing time required.\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\"\u003eQuick \u0026amp; Effective Grooming\u003c\/span\u003eTwo dosages depending on the desired richness\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\"\u003eRich treatment\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eDilute \u003cstrong\u003e1 tablespoon\u003c\/strong\u003e in \u003cstrong\u003ehalf a liter of hot water\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\"\u003eLight treatment\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eOr dilute \u003cstrong\u003e1 teaspoon\u003c\/strong\u003e in half a liter of hot water.\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\"\u003eGently massage the coat.\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\"\u003eRinsing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003e\u003cstrong\u003eRinse thoroughly with lukewarm water.\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\"\u003eNourishment \u0026amp; Finishing (Coarse Hair)\u003c\/span\u003eThe signature step for coarse-haired furnishings\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\"\u003eTargeted application\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFor \u003cstrong\u003edry furnishings on coarse-haired breeds\u003c\/strong\u003e: apply to the affected areas.\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; rinsing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eMassage, then rinse.\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\"\u003eShampoo booster\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eAlso ideal \u003cstrong\u003eas an addition to your shampoo\u003c\/strong\u003e to enrich it with hydrolyzed collagen and keratin.\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\u003eWARNING:\u003c\/strong\u003e do \u003cstrong\u003enot\u003c\/strong\u003e use Extra Body Cream if the dog is \u003cstrong\u003eprone to tangling\u003c\/strong\u003e. Reminder: \u003cem\u003etoo much volume = faster tangling\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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003ePerfect finishing\u003c\/strong\u003e with \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (pre-bath), \u003cstrong\u003ePlatynum \/ Aquarosa\u003c\/strong\u003e (shampoos), \u003cstrong\u003eAbsolute \/ Style 360\u003c\/strong\u003e (finishing).\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003efine coat lacking body…\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 in a double application before and after bathing\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003eanti-shedding \/ anti-matting protocol…\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 tbsp \/ L — no long processing time\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003edry furnishings on coarse hair…\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\u003ePure targeted application or as a shampoo booster\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003edog prone to tangling…\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❌ Do not use — choose Villanelle or Hydrating Cream instead\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ewhen a high-shine finish is desired…\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 or Style 360 as a finishing spray\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;\"\u003eWhere Extra Body Cream makes the difference:\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats \u003cspan\u003e(concentrated volume)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly coats \u0026amp; coats lacking body \u003cspan\u003e(the number-one need)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐕 Shepherds, Retrievers, Bouviers \u0026amp; primitive breeds \u003cspan\u003e(density and body)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e🐺 Coarse hair \u003cspan\u003e(targeted application on furnishings)\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eThe controlled-volume balm — adds body without weighing the coat down.\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;\"\u003e+90% biodegradable | Free from SLES, DEA, parabens, and silicone | Not tested on animals | 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":false},{"title":"3 Litres","offer_id":43820167168220,"sku":"3x  (42)","price":202.0,"currency_code":"EUR","in_stock":false}],"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, pH balancer","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan\u003eHydrogen potential rebalancing lotion: cleanse the skin, force the scales to close, prevent knots from returning, and add airiness to the hair.\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;\"\u003eWho is this product for?\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\u003eEveryone will find it truly beneficial!\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Groomers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Breeders \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Individuals \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Competitors \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 is an innovative solution that rebalances the hydration, protection, and pH of the \u003c\/span\u003ehair after shampooing\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;\"\u003eWhat benefits can I expect?\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✅ Skin cleansing \u003c\/div\u003e\n\u003cdiv\u003e✅ Regulation of the bacterial flora \u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003e\u003c\/span\u003e✅ Shine and volume-enhancing action \u003c\/div\u003e\n\u003cdiv\u003e✅ Closure of the hair cuticles \u003c\/div\u003e\n\u003cdiv\u003e✅ Action against returning knots\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: a focus on natural ingredients!\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\u003eBEAUTY RINSE, created from ancestral recipes, combines \u003c\/span\u003e\u003cstrong\u003enaturally acidic\u003c\/strong\u003e\u003cspan\u003e agents that, in very low concentrations, will rebalance your animal's external \u003c\/span\u003epH\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\u003eYou will appreciate its natural composition:\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e🍀 Distilled helichrysum water (healing and anti-inflammatory properties) \u003c\/div\u003e\n\u003cdiv\u003e🍀 Yarrow water (to soothe and calm skin irritations)\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e🍀 Apple extract and apple cider vinegar (to hydrate and regulate the skin's pH\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;\"\u003eExamples and suggested uses\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\u003eDilute 15\/20 ml of Beauty Rinse in 1 liter of hot water.\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\u003eLeave on for a few minutes to allow the product to work, then dry.\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\"\u003eAs part of a specific “anti-knot \/ anti-matting” program, this lotion is ideal. At the end of the bath, mix 20mL of Beauty Rinse with our usual Hydrating Cream mask and 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\u003eBUT:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003eDoes not nourish the hair; be careful not to dry out your coat\u003c\/div\u003e\n\u003cdiv\u003eThe aim is to force the hair cuticles to close on a coat with problems or one prone to knots returning too quickly. It should not be included in a hair-growth routine for a “normal” dog.\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;\"\u003eRecommended combinations\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\u003eThe entire Special One range is compatible with Beauty Rinse \u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv\u003eHowever, our preferred combinations are:\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cp\u003e▶︎ Perfectly completes the Skin Problem program (Bio Energy + Skincare)\u003c\/p\u003e\n\u003cp\u003e▶︎ Also ideal at the end of a bath for achieving a very “airy” volume, alongside classic masks.\u003c\/p\u003e\n\u003cp\u003e▶︎ Complements the Hydrating Cream and Mix Pink to prevent knots or matting from returning.\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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eParaben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eRecyclable HDPE02 packaging\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 - 1st cleansing and disinfecting shampoo","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\u003eAQUAPURE PRO\u003c\/strong\u003e is the Special One shampoo with \u003cstrong\u003ethe strongest cleansing power in the range\u003c\/strong\u003e. It cleans very deeply, even the dirtiest animals, and enables a \u003cstrong\u003ereset of the epidermis\u003c\/strong\u003e thanks to its natural antiseptic properties — without ever harming the skin or coat.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it genuinely useful — \u003cstrong\u003eparticularly essential for difficult cases and extreme situations\u003c\/strong\u003e in salons or kennels.\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\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003eIndividuals\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\"\u003eCompetitors\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 \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 \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; Results\u003c\/h2\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnriched with \u003cstrong\u003epropolis\u003c\/strong\u003e — “the natural antibiotic” — and \u003cstrong\u003echlorhexidine\u003c\/strong\u003e, Aquapure Pro combines the highest cleansing power in the range with \u003cstrong\u003elong-lasting antiseptic, antibacterial, and antifungal properties\u003c\/strong\u003e. Ultra-effective in the most extreme situations, it nevertheless respects the skin's natural hydrolipidic balance and pH.\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\"\u003eMaximum cleansing power\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eThe strongest in the range: cleans and sanitizes deeply, even in the most difficult cases.\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\"\u003eSkin-friendly\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003ePreserves the skin's natural hydrolipidic balance and pH despite its powerful cleansing action.\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\"\u003eExtreme cases\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eEffective on males with urine stains, severely neglected coats, pollution, and deep-seated dirt.\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\"\u003eResetting the epidermis\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eSoothing, purifying, and antiseptic properties to restore healthy skin.\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\"\u003eAntibacterial \u0026amp; antifungal\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eLong-lasting action against bacteria, yeasts, and fungi — for both treatment and prevention.\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\"\u003eVisible results\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eCleaner, healthier, shinier coat from the very first use.\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 \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;\"\u003eUnderstanding Aquapure Pro's actions\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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\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 \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 \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 \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;\"\u003eAquapure Pro's composition: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA formula focused on antiseptic efficacy and skin care — \u003cstrong\u003ewithout SLES, parabens, or silicone\u003c\/strong\u003e. Here is how each active ingredient acts on the skin and coat, area by area.\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=\"Diagram of the anatomy of the skin and coat illustrating Aquapure Pro's targeted action\" 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 \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 \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 \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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part to 20 parts water\u003cbr\u003e1\/10 for intense sanitizing action\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump strokes\u003c\/span\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 \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\"\u003eIntensive cleansing — very dirty or very neglected animals\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\"\u003eFor very neglected coats, males with urine, pollution, or deep-seated dirt\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\"\u003eIntensive wash\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Aquapure Pro \u003cstrong\u003ediluted 1\/10\u003c\/strong\u003e (intensive action) to wet coat. Massage thoroughly, then rinse.\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\"\u003eConditioning second shampoo\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFollow with a \u003cstrong\u003esecond, gentler shampoo\u003c\/strong\u003e — \u003cstrong\u003eBain Pro, Aquarosa Pro, or 4Poodle\u003c\/strong\u003e — to condition after cleansing.\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\"\u003eFinish\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream, Bombastic, or Aqua Dolce\u003c\/strong\u003e according to the coat’s needs.\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\"\u003eResetting the epidermis — skin requiring sanitization\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\"\u003eTo restore healthy skin after maceration, neglect, or imbalance\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\"\u003ePre-bath mask\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003ePrepare with the pre-bath mask \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e to enhance the restorative action.\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 without rinsing\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Aquapure Pro directly \u003cstrong\u003ewithout rinsing out the mask\u003c\/strong\u003e. Leave on for a few moments and massage.\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\"\u003eRinsing \u0026amp; repeating\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse thoroughly, then repeat the shampoo if necessary.\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\"\u003eRestorative finish\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream + 4 Elements Oils\u003c\/strong\u003e to restore the protective film.\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\"\u003eChoose Aquapure Pro if you need to…\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\"\u003eSituations where Aquapure Pro makes all the difference\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\"\u003eDeep clean\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eThe dirtiest and most neglected coats.\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\"\u003eReset the skin\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eThanks to its antiseptic and antifungal properties.\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\"\u003eSanitize in exceptional situations\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eClipping on very dirty skin requiring disinfection of the epidermis.\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\"\u003ePrevent\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003ePrevent the development of bacteria, yeasts, or fungi on skin that has become macerated or been neglected.\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 \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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Aquapure Pro. Our favorite combinations:\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea gentler second shampoo is preferred…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea restorative pre-bath mask is desired…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea final treatment is needed…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea show finish is desired…\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 \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 \u003c!-- Races en pilules arrondies --\u003e\n \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Aquapure Pro makes the difference:\u003c\/h3\u003e\n \u003cdiv class=\"aqr-races-mosaic\"\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐶 All dogs \u003cspan\u003e(without exception)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats \u003cspan\u003e(without exception)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e💧 Marking males \u0026amp; urine\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🌫️ Pollution \u0026amp; deep-seated dirt\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🩹 Macerated or neglected skin\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e✂️ Clipping on skin requiring sanitization\u003c\/span\u003e\n \u003c\/div\u003e\n \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eThe most powerful cleanser in the range — with no compromise on gentleness for the skin and coat.\u003c\/p\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=\"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;\"\u003eOver 90% biodegradable | Free from SLES, DEA, parabens, and silicone | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\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, bi-phase conditioner","description":"\u003cbody\u003e\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\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;\"\u003e\n \u003cstrong\u003eMIX PINK\u003c\/strong\u003e is Special One's antistatic two-phase conditioning spray and a bestseller in the Expert Line range. Its unique formula — enriched with macadamia oil and lanolin — acts as a \u003cstrong\u003epowerful coat restructuring and smoothing treatment\u003c\/strong\u003e: the hair regains strength, hydration, and shine without being weighed down or made greasy.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eIdeal for all long and feathered coats — and essential for fine, woolly coats with a high tendency to generate static electricity.\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✅ Groomers\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✅ Breeders\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✅ Pet Owners\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✅ Competitors\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!-- 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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts \u003cstrong\u003etwo-phase formula\u003c\/strong\u003e is the key to its effectiveness: after shaking, the two phases — oil-based and aqueous — allow the oils to be distributed evenly over the hair \u003cstrong\u003ewithout making it greasy\u003c\/strong\u003e, while neutralizing static electricity. The product dries quickly, does not build up, and does not cause the hair to \"fly\" during drying — so it can be used as often as necessary, even daily.\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\u003ePowerful antistatic:\u003c\/strong\u003e Eliminates static electricity without weighing down the coat.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eSmoothing:\u003c\/strong\u003e Tames, smooths, and structures the coat — no more flyaway hairs.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eHydration \u0026amp; shine:\u003c\/strong\u003e A glossy, supple, visibly hydrated coat after every application.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLong-lasting anti-tangle:\u003c\/strong\u003e Improves the coat's texture and prevents tangles with daily use.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-frizz:\u003c\/strong\u003e Eliminates frizz and protects the coat from the heat of the hair dryer.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eConditioning:\u003c\/strong\u003e Softens dry and dehydrated coats, significantly facilitating detangling.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eNon-greasy formula:\u003c\/strong\u003e Even distribution of the oils without residue or a heavy feel.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eFresh \u0026amp; long-lasting fragrance:\u003c\/strong\u003e A pleasant scent that leaves the coat smelling fresh after every use.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\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;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA complex of precious oils and restructuring active ingredients carefully selected for their hydrating, protective, and revitalizing properties.\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🍀 Macadamia Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eHydrating and restructuring — keeps the coat soft, shiny, and deeply nourished.\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🍀 Lanolin\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eNatural emollient of ovine origin: prevents dryness, reduces hair loss, and improves combability.\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🍀 Camellia Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRich in essential fatty acids and vitamin E — protects the coat from UV rays, wind, and 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🍀 Sunflower Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eEmollient and soothing — keeps the skin supple and hydrated, preventing dryness.\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🍀 Corn Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eLightweight and non-greasy — hydrates the coat without weighing it down.\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🍀 Ginseng Extract\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eAntioxidant and revitalizing — protects against external aggressors and stimulates hair regeneration.\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🍀 Arabica Coffee Extract\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eToning and stimulating — improves skin microcirculation and invigorates the hair fiber.\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🍀 Hydrogenated Castor Oil\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eEmollient and soothing — softens the skin and prevents dryness and flaking.\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!-- 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;\"\u003eProtocols \u0026amp; Usage Suggestions\u003c\/span\u003e\n \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #fff; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n ⚠️ \u003cstrong\u003eShake vigorously before each use\u003c\/strong\u003e to mix the two phases thoroughly. Spray from \u003cstrong\u003e20–30 cm\u003c\/strong\u003e away from the hair. Do not spray into the eyes or nose.\n \u003c\/div\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\u003eExample 1 🔥 Care \u0026amp; daily brushing on dry hair\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 For coats that tangle easily, Mix Pink can be used \u003cstrong\u003eevery day on dry hair\u003c\/strong\u003e as part of routine care:\u003cbr\u003e\n 1. Shake the bottle. Spray onto the area to be brushed from 20–30 cm away.\u003cbr\u003e\n 2. Brush section by section. The hair relaxes, settles into place and static charge disappears.\u003cbr\u003e\n Regular use gradually improves the coat's texture and \u003cstrong\u003eprevents tangles from forming\u003c\/strong\u003e over time.\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\u003eExample 2 🔥 Conditioner during drying\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 fits perfectly into the drying stage after bathing:\u003cbr\u003e\n 1. Shake the bottle. Spray evenly over the entire damp coat from 20–30 cm away, covering the entire surface.\u003cbr\u003e\n 2. Blow-dry while brushing section by section.\u003cbr\u003e\n The product \u003cstrong\u003edries quickly without building up\u003c\/strong\u003e — it protects against heat damage and leaves the coat disciplined, glossy and scented.\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\u003eExample 3 🔥 Pre-ring finishing — definition \u0026amp; show shine\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 is an excellent \u003cstrong\u003efinishing product for show presentation\u003c\/strong\u003e for show dogs:\u003cbr\u003e\n 1. Shake the bottle. Spray directly onto the dry, brushed coat.\u003cbr\u003e\n 2. Distribute evenly with a brush to define the shapes and enhance the shine of the lengths and fringes.\u003cbr\u003e\n Result: an impeccably arranged, luminous and structured coat — ready for the ring.\n \u003c\/div\u003e\n \u003c\/details\u003e\n \u003c\/div\u003e\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eThe entire Special One range is compatible with Mix Pink. Please note: Mix Pink is more airy than Aqua Beauty (less anti-tangling, lighter), and differs from Absolute 4Poodle, which is more specifically designed for volume on Poodles.\u003c\/p\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n 🤝 \u003cstrong\u003eAquarosa Pro \/ Bain Pro\u003c\/strong\u003e as a shampoo ·\n 🤝 \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e as a mask ·\n 🤝 \u003cstrong\u003eAqua Beauty\u003c\/strong\u003e as a complementary spray (enhanced anti-tangle action)\n \u003c\/p\u003e\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✔️ Breeds with long, fringed coats: Cockers, Setters, Afghan Hounds, Yorkshire Terriers — conditioning and shine for the lengths and fringes.\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fine, woolly coats with high static: Maltese, Bichons, Samoyeds…\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Poodles — lightens and arranges the coat without making it curl (to be distinguished from Absolute 4Poodle, which is for volume).\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Silky breeds: Shih Tzu, Cavalier King Charles, Tibetan Terrier — softness and easy daily combing.\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0;\"\u003e✔️ All dogs participating in shows — pre-ring finishing to define shapes and intensify shine.\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;\"\u003eMore than 90% biodegradable | Paraben-free | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\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, color reviver","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 is Special One's professional treatment for \u003cstrong\u003eenhancing the natural color of the coat\u003c\/strong\u003e. Its \u003cstrong\u003enatural pigments\u003c\/strong\u003e interact with the hair's keratin structures to extend its vibrancy until the next treatment — available in \u003cstrong\u003e5 versions according to coat color\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 is not a dye.\u003c\/strong\u003e It is a \u003cstrong\u003enatural reflector\u003c\/strong\u003e that intensifies the coat's tone by up to 2 or 3 shades and increases the coat's contrast and depth.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n\u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone can benefit from it!\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✅ Groomers\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✅ Breeders\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✅ Pet Owners\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✅ Competitors\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; Results\u003c\/span\u003e\n\u003cp style=\"font-size: 14px;\"\u003eThanks to \u003cstrong\u003enatural pigments derived from plant pollens\u003c\/strong\u003e and \u003cstrong\u003ereflective mineral substances\u003c\/strong\u003e, Tech in Color penetrates the hair cortex by gently opening the keratin scales without altering the structure. The pigments seal inside the hair and remain there until the next bath for a long-lasting, even result.\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\u003eColor Enhancer:\u003c\/strong\u003e Intensifies the coat's natural color by up to 2–3 tones.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLong-Lasting:\u003c\/strong\u003e The pigments bind to the keratin until the next bath.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eNatural \u0026amp; Water-Based Formula:\u003c\/strong\u003e Plant-based pigments, water-based formula, gentle on the skin.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003e5 Mixable Versions:\u003c\/strong\u003e Adapted to every color and combinable with one another for a tailor-made result.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eCompatible \u0026amp; Customizable:\u003c\/strong\u003e Works with all treatments in the Special One range.\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;\"\u003eChoose Your Version\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eSelect the version corresponding to your pet's coat color. The versions can also be \u003cstrong\u003ecombined with one another\u003c\/strong\u003e to fine-tune the result.\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;\"\u003eCoat Color\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;\"\u003eTone \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⬜ White, bi \/ tricolor, 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;\"\u003eBlue shade — anti-yellow effect, enhances contrast and shine.\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⬛ Black, gray, blue\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;\"\u003eBlack shade — also suitable for gray\/light coats without purple or green tones.\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🟠 Apricot, red, fawn, 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;\"\u003eRuby shade — intense pigment, red \u0026amp; tan. Mixable with D or 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🟤 Brown, ruby\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;\"\u003eWalnut shade — specially formulated for brown coats. Mixable with C.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #fafafa;\"\u003e\n\u003ctd style=\"padding: 10px 15px;\"\u003e🟡 Blonde, cream, gold, apricot\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;\"\u003eOrange shade — vibrant, for gold, blonde, and apricot coats. Mixable with 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;\"\u003eYou can mix them to achieve the exact shade you want!\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 on Natural Ingredients\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eCarefully selected active ingredients that illuminate without altering.\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✨ Natural Plant-Based Pigments\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eDerived from plant pollens (CI 14720, CI 19140, CI 28440, CI 15985, CI 16255, CI 42090). They penetrate the keratin cortex for intense, luminous color.\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✨ Reflective Mineral Substances\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eUltramarines (CI 60730) — enhance the coat’s radiance and shine by capturing light. Water-based and gentle on the skin.\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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\u003eExample 1 🔥 Integration into Shampoo or Mask\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eEmulsify the Tech in Color drops into your diluted Special One shampoo or final mask.\u003cbr\u003e\u003cbr\u003e1. Suggested dosage: \u003cstrong\u003e15 to 60 drops per liter\u003c\/strong\u003e — increase according to the desired intensity of the highlights.\u003cbr\u003e2. Apply to the entire coat and leave on for \u003cstrong\u003e5 to 10 minutes\u003c\/strong\u003e.\u003cbr\u003e3. Rinse thoroughly.\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\u003eExample 2 🔥 Intensified Absorption (excluding white coats)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eTo maximize pigment fixation — \u003cstrong\u003edo not use on white coats\u003c\/strong\u003e:\u003cbr\u003e\u003cbr\u003e1. Prepare a concentrated solution of Tech in Color in water (optionally adding a few pumps of \u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e).\u003cbr\u003e2. Apply to the \u003cstrong\u003edry coat\u003c\/strong\u003e, outside the usual bathing cycle.\u003cbr\u003e3. Do not dry or rinse. Allow to absorb naturally.\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\u003eExample 3 🔥 Spray Application (before or during drying)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003e1. Dilute Tech in Color in a spray bottle with water.\u003cbr\u003e2. Mist onto the coat \u003cstrong\u003ebefore or during drying\u003c\/strong\u003e.\u003cbr\u003e3. ⚠️ \u003cstrong\u003eWear gloves\u003c\/strong\u003e for this application — the coloring effect can be very intense on the hands.\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\u003eExample 4 🔥 Targeted Brush Application (touch-up \u0026amp; camouflage)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eTo target a specific area (chest, paw, etc.):\u003cbr\u003e\u003cbr\u003e1. Apply Tech in Color \u003cstrong\u003eundiluted or diluted\u003c\/strong\u003e with a brush directly to the area to be treated.\u003cbr\u003e2. Dose according to the desired color intensity.\u003cbr\u003e3. Leave on, then rinse if necessary.\u003cbr\u003e\u003cbr\u003e💡 Ideal for presentation touch-ups at shows.\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🛠️ HOW TO PROPERLY DOSE TECH IN COLOR:\u003c\/span\u003e\n\u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e1️⃣ Choose the version suited to the coat color (A, B, C, D, or E).\u003cbr\u003e2️⃣ Start with \u003cstrong\u003e15 to 40 drops per liter\u003c\/strong\u003e as a working base.\u003cbr\u003e3️⃣ Use up to \u003cstrong\u003e60 drops\u003c\/strong\u003e, depending on the desired intensity of the highlights.\u003cbr\u003e4️⃣ Mix thoroughly into your shampoo or mask before application.\u003cbr\u003e5️⃣ Leave on for \u003cstrong\u003e5 to 10 minutes\u003c\/strong\u003e to allow keratin bonding, then rinse.\u003cbr\u003e6️⃣ For a natural tone-on-tone effect: mix two versions (e.g., 3\/4 E + 1\/4 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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Perfect synergy with: \u003cstrong\u003eall Special One shampoos, masks, and conditioners\u003c\/strong\u003e — especially with \u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e for an intensified result.\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✔️ All cats\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ All dogs in grooming salons\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Curly coats (Poodles, 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✔️ All Cockers (American, English)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tibetan breeds (Shih Tzu, Lhasa Apso, Tibetan Terrier…)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ English Toy Spaniels (Cavalier and King Charles)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Long, silky coats (Yorkshire, Afghan Hounds…)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0;\"\u003e✔️ All 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;\"\u003eThe list is long and not 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;\"\u003e+90% biodegradable | Paraben-free, silicone-free | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"A - WHITE\/TWO-TONE\/KNIT COAT","offer_id":37819391017139,"sku":"WEX-THCA 040 (11)","price":50.9,"currency_code":"EUR","in_stock":true},{"title":"B - BLACK\/GREY COAT","offer_id":37819391049907,"sku":"WEX-THCB 041","price":50.9,"currency_code":"EUR","in_stock":false},{"title":"C - APRICOT\/FAWN COAT","offer_id":37819391082675,"sku":"WEX-THCD 042  (142)","price":50.9,"currency_code":"EUR","in_stock":true},{"title":"D - BROWN COAT, RUBY","offer_id":37819391115443,"sku":"WEX-THCD 043 (137)","price":50.9,"currency_code":"EUR","in_stock":true},{"title":"E - CREAM\/BLONDE COAT","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, volumizing spray","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\u003eSTYLE 360\u003c\/strong\u003e is the very first conditioner in the Special One range — a classic with a particularly technical formulation. Designed to \u003cstrong\u003emaximize volume in all coats\u003c\/strong\u003e while eliminating static electricity, it gives the hair perfect hold during scissor trimming and is an essential product for show days.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find real value in it — especially professionals looking for maximum volume and hold for trimming or showing.\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✅ Groomers\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✅ Breeders\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✅ Pet Owners\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✅ Competitors\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!-- 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;\"\u003eStyle 360 Cosmetic Diagram\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 \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 \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 \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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnriched with a blend of naturally derived surfactants and moisturizing ingredients, Style 360 \u003cstrong\u003erestores shine and elasticity to the coat from the very first treatments\u003c\/strong\u003e. Its unique technical formula delivers lasting, structured volume, whether for professional trimming, shaping a head, or presenting in the ring.\u003c\/p\u003e\n \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e\n ⚠️ \u003cstrong\u003eA product for special occasions:\u003c\/strong\u003e Style 360 is recommended for show, competition, and trimming days — not for daily grooming. Using it too frequently would be counterproductive and cause mats to return quickly.\n \u003c\/div\u003e\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\u003eMaximum volume:\u003c\/strong\u003e Plumps and structures all coats for a spectacular result.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePerfect hold for trimming:\u003c\/strong\u003e Keeps the hair in place under the scissors, making precise finishing easier.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLong-lasting hold:\u003c\/strong\u003e Maintains the coat's shape and hold over time.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eHead shaping:\u003c\/strong\u003e Particularly effective for shaping and styling heads.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eHelps weigh down the coat:\u003c\/strong\u003e Helps weigh down coats that need it.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAntistatic:\u003c\/strong\u003e Eliminates static electricity for a neat, well-behaved coat.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eUniversal gentleness:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from puppies and kittens to seniors.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\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;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA natural formula focused on volume, shine, and protection — without parabens or silicone.\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🍀 Silk Proteins\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eProvide softness and body — envelop the hair fiber to give it fullness and shine.\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🍀 Milk Proteins\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eDeeply nourish the coat and strengthen the hair fiber for resilient, silky hair.\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🍀 Jojoba Oil\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eBrings out the coat's natural colors while deeply nourishing the hair fiber.\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;\"\u003eA marine alga rich in highly bioavailable essential amino acids — antioxidant and detoxifying.\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🍀 Vitamin B12 \u0026amp; Beta-Carotene\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eHydrate the hair structure from within and contribute to the coat's vitality and shine.\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 \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;\"\u003eProtocols \u0026amp; Suggested Uses\u003c\/span\u003e\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 according to hair thickness:\u003c\/strong\u003e Use undiluted on thick hair for long-lasting volume · Dilute up to 1\/10 with demineralized water for fine hair (e.g. Toy Poodle). Apply to wet hair.\n \u003c\/div\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\u003eExample 1 🔥 Drying, brushing \u0026amp; scissor trimming\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 is used throughout grooming, from drying to the final trim:\u003cbr\u003e\n 1. Apply to wet hair during drying, misting regularly as the hair dries.\u003cbr\u003e\n 2. Continue spraying during the final brushing — on the hair \u003cstrong\u003eand directly onto the brush and comb\u003c\/strong\u003e for even more effective results.\u003cbr\u003e\n 3. During trimming, spray the worked areas very regularly: the hair holds under the scissors, and the hold improves throughout the trim.\u003cbr\u003e\n The volume builds progressively at every stage.\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\u003eExample 2 🔥 Show day — preparation \u0026amp; ring touch-ups\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 is the go-to product on show days:\u003cbr\u003e\n 1. \u003cstrong\u003eOn the morning of the show\u003c\/strong\u003e: mist Style 360 over the entire coat to restore the volume and hold achieved during grooming.\u003cbr\u003e\n 2. \u003cstrong\u003eBefore the ring\u003c\/strong\u003e: touch up any areas that may have shifted or lost their hold. Spray and brush for an impeccable finish.\u003cbr\u003e\n 3. \u003cstrong\u003eIn the ring if needed\u003c\/strong\u003e: a light last-minute application can be made for a perfect result in front of the judges.\u003cbr\u003e\n If additional hold is desired: use \u003cstrong\u003eMultifix\u003c\/strong\u003e as a finishing-hold spray.\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\u003eExample 3 🔥 Head styling \u0026amp; coat weighting\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 For specific styling work:\u003cbr\u003e\n 1. Spray Style 360 undiluted or slightly diluted directly onto the area being worked on (head, topknot, areas requiring weighting).\u003cbr\u003e\n 2. Work with a comb or brush, building volume layer by layer.\u003cbr\u003e\n The long-lasting hold maintains the shape achieved — ideal for elaborate styling that needs to last throughout an entire show day. Follow with \u003cstrong\u003eExtra Body Cream or Beauty Rinse\u003c\/strong\u003e for an even stronger volumizing effect.\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\u003eExample 4 🔥 Rinse-out conditioner after shampooing\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 can also be used as a \u003cstrong\u003eclassic conditioner after shampooing\u003c\/strong\u003e:\u003cbr\u003e\n 1. After shampooing and towel-drying, spray Style 360 over the entire damp coat.\u003cbr\u003e\n 2. Massage carefully to work the product into the fibers. Leave it on for a few moments while continuing to massage.\u003cbr\u003e\n 3. Rinse thoroughly.\u003cbr\u003e\n This method provides basic volume and nourishment even before drying — ideal for preparing fine or dehydrated coats.\n \u003c\/div\u003e\n \u003c\/details\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eIdeal with all volume-enhancing products in the range:\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 (finishing hold)\n \u003c\/p\u003e\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✔️ All cats and dogs — suitable for all breeds and coat types when volume is desired\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Curly coats: Poodles, Bichons, Kerry Blues, Soft Coated, Bedlingtons… — maximum volume and hold.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ American Cockers\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Ears of English Toy Spaniels (Cavalier King Charles Spaniels)\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Terriers: Scottish, Westie, Welsh… — a long, non-exhaustive list!\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Double coats: Spitz, Newfoundland, Samoyed, Bouviers, Australian Shepherds, etc.\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;\"\u003eOver 90% biodegradable | Paraben- and silicone-free | Not tested on animals | 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":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, styling fluid","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 is Special One’s professional styling fluid for \u003cstrong\u003ecreating and maintaining long-lasting hairstyles\u003c\/strong\u003e — smooth or curly. Thanks to its \u003cstrong\u003ewater-soluble film with a memory effect\u003c\/strong\u003e, it protects the coat from heat while preserving the desired style well beyond the 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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eThe must-have for artistic groomers and competitors!\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✅ Groomers\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✅ Breeders\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✅ Pet Owners\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✅ Competitors\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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px;\"\u003eMultifix forms a \u003cstrong\u003ewater-soluble film on the hair\u003c\/strong\u003e that protects the coat from heat sources (straightening iron, hair dryer), sets the style, and can be easily refreshed with water. Its formulation based on \u003cstrong\u003enatural resins and cosmetic polymers\u003c\/strong\u003e ensures shine, elasticity, and hold without weighing down the coat or leaving residue.\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\u003eMemory Effect:\u003c\/strong\u003e Keeps the hairstyle smooth or curly long after grooming.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eHeat Protection:\u003c\/strong\u003e Protective film active against heat from straightening irons and hair dryers.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eShine \u0026amp; Elasticity:\u003c\/strong\u003e Enhances the coat’s silky appearance and vitality.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eEasy Application:\u003c\/strong\u003e Spreads evenly, dries quickly, and leaves no residue.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eWater-Soluble:\u003c\/strong\u003e The hairstyle can be easily reactivated with water for adjustments.\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: Styling Technology\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA synergy of cosmetic active ingredients to set, protect, and enhance.\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🍀 Natural Resins\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eForm a water-soluble protective film with a memory effect — hairstyle hold without stiffness or residue.\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🍀 Conditioning Cosmetic Polymers\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eImprove the coat’s texture, make styling easier, and provide flexibility and resistance to humidity.\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;\"\u003eUsage Protocols \u0026amp; Suggestions\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\u003eExample 1 🔥 Smooth Effect — Blow-Dry \u0026amp; Straightening Iron\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 On a clean coat, with excess water towel-dried:\u003cbr\u003e\u003cbr\u003e\n 1. Distribute \u003cstrong\u003eMultifix evenly\u003c\/strong\u003e over the coat.\u003cbr\u003e\n 2. Dry with a hair dryer or blow-dry.\u003cbr\u003e\n 3. Create a smooth style with a \u003cstrong\u003estraightening iron\u003c\/strong\u003e.\u003cbr\u003e\n 4. To improve hold, \u003cstrong\u003erepeat the application\u003c\/strong\u003e after styling.\u003cbr\u003e\u003cbr\u003e\n 💡 The heat-protective film is active as soon as it is applied — the coat is protected from direct heat.\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\u003eExample 2 🔥 Curly Effect — Diffuser (without brush or carding brush)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 On a clean coat, with excess water towel-dried:\u003cbr\u003e\u003cbr\u003e\n 1. Apply Multifix evenly throughout the coat.\u003cbr\u003e\n 2. Comb the coat into \u003cstrong\u003enatural curls\u003c\/strong\u003e.\u003cbr\u003e\n 3. Dry \u003cstrong\u003eusing a diffuser only\u003c\/strong\u003e — without a slicker brush or carding brush to preserve the curl.\u003cbr\u003e\n 4. Repeat the application after drying to \u003cstrong\u003estrengthen and set the curl\u003c\/strong\u003e.\u003cbr\u003e\u003cbr\u003e\n 💡 Ideal for Poodles, Bichons, and all breeds with wavy coats.\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\u003eExample 3 🔥 Care \u0026amp; Reactivation Between Baths\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 Thanks to the \u003cstrong\u003ewater-soluble\u003c\/strong\u003e film, the hairstyle can be easily reactivated and adjusted:\u003cbr\u003e\u003cbr\u003e\n 1. Lightly dampen the area to be restyled with water.\u003cbr\u003e\n 2. Reshape the hairstyle by hand or with a comb.\u003cbr\u003e\n 3. Dry to set again — without bathing the animal again.\u003cbr\u003e\u003cbr\u003e\n 💡 Perfect for maintaining an impeccable presentation between two shows.\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🛠️ HOW TO USE YOUR MULTIFIX:\u003c\/span\u003e\n \u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e\n 1️⃣ Apply to \u003cstrong\u003eclean, towel-dried\u003c\/strong\u003e hair (neither too wet nor dry).\u003cbr\u003e\n 2️⃣ Distribute evenly throughout the coat or on targeted areas.\u003cbr\u003e\n 3️⃣ Dry according to the desired effect (blow-dry for straight styles, diffuser for curls).\u003cbr\u003e\n 4️⃣ Create the final style with an iron or diffuser.\u003cbr\u003e\n 5️⃣ \u003cstrong\u003eRepeat the application\u003c\/strong\u003e after styling to strengthen the hold.\u003cbr\u003e\n 6️⃣ To reactivate: lightly dampen and reshape without bathing again.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Perfect synergy with: \u003cstrong\u003eall Special One shampoos and masks\u003c\/strong\u003e — ideally as a finishing step after a \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e treatment for a perfectly conditioned coat before styling.\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✔️ Curly \u0026amp; wavy coats (Poodles, Bichons, Kerry Blue Terriers, Soft Coated Wheaten Terriers…) — natural curled effect.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Long, straight coats (Yorkshire Terriers, Afghan Hounds, Setters, Cockers…) — prolonged straightening hold.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tibetan breeds (Shih Tzu, Lhasa, Tibetan Terrier…) — hairstyle hold for the show ring.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Terriers (Bedlington, Welsh, Lakeland…) — definition and hold for styling.\u003c\/td\u003e\u003c\/tr\u003e\n \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ All breeds preparing for shows or competitions requiring long-lasting styling.\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;\"\u003eOver 90% Biodegradable | Paraben-Free, Silicone-Free | Not tested on animals | 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 is the professional powder specially formulated to whiten and prepare the coat for \u003c\/span\u003e\u003cstrong\u003ehand-stripping\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\"\u003eWho is this product for?\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\u003eEveryone will find it genuinely useful!\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Groomers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Breeders \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Individuals \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Competitors \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;\"\u003eWhat benefits can I expect?\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✅ Provides precision and speed during the stripping stage \u003c\/div\u003e\n\u003cdiv\u003e✅ Adheres \u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003euniformly to the hair\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan data-mce-fragment=\"1\"\u003e✅ Whitening action \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Provides \u003cmeta charset=\"UTF-8\"\u003ethe compactness and hardness of the structure in order to facilitate 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;\"\u003eExamples and suggested uses\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✨Spread evenly over the coat to be stripped and over your fingers, then start stripping.\u003c\/p\u003e\n\u003cdiv\u003e✨Do not hesitate to reapply during stripping.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e✨Our opinion: to shape your dog as effectively as possible, nothing beats rolling, a long-term stripping technique involving very frequent but gentle stripping.\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;\"\u003eRecommended combinations\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🔥Perfectly complements the Special One protocol, enabling \u003c\/span\u003ehand-stripping on a clean coat. We still recommend: \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🔥Its \u003cstrong data-mce-fragment=\"1\"\u003eparticle size\u003c\/strong\u003e is considered \u003cstrong data-mce-fragment=\"1\"\u003e\"\u003cem data-mce-fragment=\"1\"\u003emedium\u003c\/em\u003e\"\u003c\/strong\u003e, so it perfectly complements our other HAIR STRIP powder, which is \u003cem data-mce-fragment=\"1\"\u003e\"ultra-fine\"\u003c\/em\u003e. The combination of the two powders therefore meets every need, for all coat types. \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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eParaben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eHDPE02 recyclable packaging\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;\"\u003eChoose by breed?\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🎈 A few examples of breeds that Trim Grooming Powder makes happy:\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✔️ All cats\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ All dogs \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ Ideal for hand-stripping \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ All curly coats (Poodles, Bichons, Kerry Blue, Soft Coated, Bedlington, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All Cockers (American, English)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All Tibetan breeds (Shih Tzu, Lhasa, Tibetan Terrier, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ English Toy Spaniels (Cavalier and King Charles)\u003c\/div\u003e\n\u003cdiv\u003e✔️ More generally, all long and silky coats (Yorkshire, Afghan Hounds, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All terriers (Scottish, Westie, Welsh, etc.)\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eThe list is long and not exhaustive!\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"75 grams","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, whitening bonding cream","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan\u003e✨Whitening coat-setting cream✨\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\"\u003eWho is this product for?\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\u003eEveryone will find it truly beneficial!\u003c\/div\u003e\n\u003cdiv\u003e✅ Groomers ✅ Breeders ✅ Private owners ✅ Competitors ✅ 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;\"\u003eWhat benefits can I expect?\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✅ Coat whitening \u003c\/div\u003e\n\u003cdiv\u003e✅ Structures and shapes coats \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Easily prepares the coat\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Ideal for supporting the texture or adding weight to the coat, as needed\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Significantly enhances the aesthetic beauty of coats\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Prepares the coats of numerous breeds for show preparation\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;\"\u003eA natural formula!\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 has been enriched with keratin to strengthen the coat structure with an immediate effect. The product is particularly effective on clean coats to be conditioned before a competition: it perfectly prepares the coat while protecting it from subsequent work with colored chalks or bleaching powders.\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;\"\u003eExamples and suggested uses\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;\"\u003eUse on dry hair.\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e🔥Apply \u003cstrong\u003eMODEL CREAM\u003c\/strong\u003e very thinly and lightly; it should cover all the hair to be whitened without forming clumps or excess thickness.\u003c\/div\u003e\n\u003cdiv\u003eEvenly distribute by massaging and\/or brushing.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003e🔥When the cream film is satisfactory, sprinkle on the SOFT GROOMING POWDER and help it adhere by pressing it in (manually).\u003c\/div\u003e\n\u003cdiv\u003eRepeat the powder application until the desired color is achieved.\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;\"\u003eRecommended combinations\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✨Perfectly completes any Special One grooming program, since coat whitening can be achieved on all coat types and textures, from the coarsest to the silkiest.\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\"\u003eThe combination of Model Cream and \u003c\/span\u003eSOFT GROOMING\u003cspan data-mce-fragment=\"1\"\u003e POWDER gives you discreet coverage and effective, long-lasting whitening.\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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eSLES-free, paraben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eHDPE02 recyclable packaging\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;\"\u003eChoose by breed?\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🎈 A few examples of breeds for which Model Cream is universally acclaimed:\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ All cats\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan\u003e✔️ All dogs\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e✔️ All curly coats (Poodles, Bichons, Kerry Blues, Soft Coated Wheaten Terriers, Bedlingtons, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All Shepherds (Australian, Belgian, German, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All Cockers (American, English)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All Tibetan breeds (Shih Tzus, Lhasa Apsos, Tibetan Terriers, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ English Toy Spaniels (Cavalier King Charles and King Charles)\u003c\/div\u003e\n\u003cdiv\u003e✔️ More generally, all long and silky coats (Yorkshires, Afghan Hounds, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All water dogs, retrievers, and mountain dogs (Newfoundlands, Bernese Mountain Dogs, Goldens, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All primitive breeds \/ double-coated breeds (Spitz, Eurasiers, Samoyeds, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ All terriers (Scottish, Westie, Welsh, etc.)\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eThe list is long and not exhaustive!\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"500mL","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, white powder","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cstrong\u003eSOFT GROOMING POWDER\u003c\/strong\u003e\u003cspan\u003e is the \u003c\/span\u003e\u003cstrong\u003eimpalpable white powder\u003c\/strong\u003e\u003cspan\u003e we recommend for \u003c\/span\u003e\u003cstrong\u003ewhitening the coat\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;\"\u003eWho is this product for?\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\u003eEveryone will find it genuinely useful!\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Groomers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Breeders \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Private individuals \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Competitors \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;\"\u003eWhat benefits can I expect?\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✅ Helps whiten the coat \u003c\/div\u003e\n\u003cdiv\u003e✅ Fine texture that provides softness \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Adds volume to the coat \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ Ideal for shows and competitions \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;\"\u003eExamples and suggested uses\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;\"\u003eWhitening the coat in combination with Model Cream:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003eUse on dry coat. \u003c\/div\u003e\n\u003cdiv\u003eApply the MODEL CREAM very thinly and lightly; it should cover the entire coat to be whitened without creating clumps or excessive buildup.\u003c\/div\u003e\n\u003cdiv\u003eEvenly distribute by massaging and\/or brushing.\u003c\/div\u003e\n\u003cdiv\u003eOnce the cream film is satisfactory, sprinkle the SOFT GROOMING POWDER and help it adhere by applying pressure (manually).\u003c\/div\u003e\n\u003cdiv\u003eRepeat the sprinkling until the desired color is achieved.\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003cspan\u003e🔥\u003cspan style=\"text-decoration: underline;\"\u003e\u003cstrong\u003eVolumize the coat:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eUse on dry coat. Sprinkle generously and work the Soft Grooming Powder deeply into the coat to create a powder cushion. Massage and use a brush to optimize even distribution.\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;\"\u003eRecommended pairings\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✨Perfectly completes any Special One program, since coat whitening can be achieved on all coat types and textures, from the coarsest to the silkiest.\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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eParaben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eRecyclable HDPE02 packaging\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;\"\u003eChoice by breed?\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🎈 A few examples of breeds on which Soft Grooming Powder works wonders:\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✔️ All cats\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ All dogs in grooming salons for whitening the coat\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cmeta charset=\"UTF-8\"\u003e✔️ Ideal for competitions and shows \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ All curly coats (Poodles, Bichons, Kerry Blue, Soft Coated, Bedlington, etc.)\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e✔️ All terriers (Scottish, Westie, Welsh, etc.)\u003c\/div\u003e\n\u003cdiv\u003e✔️ Australian Shepherds \/ White Shepherds \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eThe list is long and not exhaustive!\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"250 grams","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\u003ePowder used for ear hair removal and ear hygiene \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\"\u003eWho is this product for?\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\u003eEveryone will find it genuinely useful!\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Groomers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Breeders \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Pet owners \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Competitors \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\u003eis a \u003cstrong data-mce-fragment=\"1\"\u003epowder\u003c\/strong\u003e\u003cstrong data-mce-fragment=\"1\"\u003e for fine, imperceptible hair removal\u003c\/strong\u003e created specifically to easily remove hair from the dog's ear flap.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✨Its special formula also allows it to be used for stripping treatments, particularly in the most difficult areas such as the ears, cheeks, and back of the dog. With regular use, the ear remains hygienic and protected from external irritants.\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;\"\u003eWhat benefits can I expect?\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✅ Makes stripping easier \u003c\/div\u003e\n\u003cdiv\u003e✅ Keeps the ear clean and protected from external irritants\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ More comfortable, precise, and faster stripping\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e✅ \u003cmeta charset=\"UTF-8\"\u003e\n\u003cspan data-mce-fragment=\"1\"\u003eIdeal for show dogs and all breeds that require hand-stripping\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cmeta charset=\"UTF-8\"\u003e✅ Optimizes volume by creating a powder cushion.\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✅ Creates texture \u003cspan data-mce-fragment=\"1\"\u003eon dogs whose coat lacks hold, where softness is a flaw\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;\"\u003eExamples and suggested uses\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🔥Sprinkle the product on the desired areas (squeeze the bottle to release a cloud of powder). \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan lang=\"it\" xml:lang=\"it\"\u003e🔥Carefully massage the hair in the ears to make it easier to grip. \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e🔥Strip by using your thumb and index finger or a stripping knife.\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;\"\u003eRecommended combinations\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▶︎ Ideally complements any Special One program.\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\"\u003eIts \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003eparticle size \u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003eis considered\u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003e \"ultra-fine\"\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e, so it perfectly complements our other TRIM GROOMING POWDER, which is \"medium\". The combination of the two powders can therefore meet all needs for all coat types.\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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eParaben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eRecyclable HDPE02 packaging\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;\"\u003eChoose by breed?\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🎈 A few examples of breeds that benefit from Hair Strip\/Par Powder:\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✔️ All cats\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ All dogs \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ Creates texture for dogs such as: Bichons, Poodles... \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✔️ \u003cmeta charset=\"UTF-8\"\u003eIdeal for show dogs and all breeds that require hand-stripping\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 eye cleanser","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eAQUA eye cleanser is an ultra-gentle ophthalmic lotion with plant extracts. \u003cbr\u003eAt last, a product that allows you to REMOVE TEAR STAINS thanks to natural active ingredients.\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;\"\u003eWho is this product for?\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\u003eEveryone will find it genuinely useful!\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Groomers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Breeders \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Pet owners \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Competitors \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;\"\u003eWhat benefits can I expect?\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✅ Does not damage the fur\u003c\/div\u003e\n\u003cdiv\u003e✅ Erases tear stains\u003c\/div\u003e\n\u003cdiv\u003e✅ Prevents itching and redness\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Prevents the tear tracks from becoming pink\/brown, oxidized, malodorous, or unsightly\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cspan\u003e✅ Removes discharge from the corner of the eye.\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\"\u003eProtects and soothes tearing\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: a focus on natural ingredients!\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\u003eYour pet's eye is constantly exposed to various sources of irritation in our environment: dust, UV rays, foreign particles, and many other things. It is therefore important to care for it with natural, effective products.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cmeta charset=\"utf-8\"\u003eAQUA is a highly concentrated eye lotion with plant extracts and distilled water.\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\u003eYou will appreciate its natural composition:\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e🍀 C\u003cspan data-mce-fragment=\"1\"\u003ehamomile extracts \u003c\/span\u003e(\u003cmeta charset=\"utf-8\"\u003esoothing action), \u003c\/div\u003e\n\u003cdiv\u003e🍀 Lime (a\u003cspan data-mce-fragment=\"1\"\u003entiseptic, anti-inflammatory, and antioxidant\u003c\/span\u003e), \u003c\/div\u003e\n\u003cdiv\u003e🍀 L\u003cspan data-mce-fragment=\"1\"\u003eemon balm\u003c\/span\u003e (r\u003cspan data-mce-fragment=\"1\"\u003eevitalizing, soothing, and softening active ingredient\u003c\/span\u003e),\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e🍀 Mallow (\u003cmeta charset=\"utf-8\"\u003emoisturizing and antioxidant active ingredients\u003c\/span\u003e)\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003e🍀A\u003c\/span\u003eloe vera ( hydrates\u003cspan data-mce-fragment=\"1\"\u003e and\u003c\/span\u003e \u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003eprovides the skin with vitamins\u003c\/span\u003e)\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e🍀Sea water (\u003cmeta charset=\"utf-8\"\u003ehelps strengthen the skin barrier)\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;\"\u003eExamples and usage suggestions\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\u003eChoose this cleanser if you need:\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🔥 to gently clean the \u003cspan data-mce-fragment=\"1\"\u003eeyes\u003c\/span\u003e of any dog\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 to \u003cspan data-mce-fragment=\"1\"\u003eremove tear stains\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 to establish a protocol to prevent \u003cmeta charset=\"utf-8\"\u003eeye buildup\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\u003eBUT:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e❌ Do not \u003cmeta charset=\"utf-8\"\u003enever use cotton to clean.\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\"\u003eCarefully apply AQUA by spraying the lotion into the eye and the tear drainage area. \u003cbr\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eGently clean away excess product and impurities with gauze.\u003cbr\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eAt the beginning of treatment, repeat this procedure every day and at every bath for perfect hygiene.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eAfterwards, you will find the routine frequency that suits your pet (generally, one to two applications per week are sufficient for a healthy animal).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cmeta charset=\"utf-8\"\u003eThanks to its innovative formula, it can be used inside the eye as well as around it.\u003cbr\u003eIn just a few weeks, your dog or cat will regain healthy-looking eyes.\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;\"\u003eRecommended combinations\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\u003eThe entire Special One range is compatible with 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\"\u003eThe lotion can be used alongside medical treatment.\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\"\u003eStart each Special One bath by spraying AQUA cleanser into each eye. \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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eParaben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eHDPE02 recyclable packaging\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 ear hygiene","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eAQUA OTO is a lotion specifically designed for \u003c\/span\u003e\u003cspan\u003eear cleaning, as well as preventing buildup and 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;\"\u003eWho is this product for?\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\u003eEveryone will find it genuinely useful!\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Groomers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Breeders \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Pet owners \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Competitors \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;\"\u003eWhat benefits can I expect?\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✅ Does not damage the coat\u003c\/div\u003e\n\u003cdiv\u003e✅ Deodorizing action \u003c\/div\u003e\n\u003cdiv\u003e✅ Prevents itching and redness\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Provides a soothing action\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003cspan\u003e✅ Removal of earwax and other oily impurities.\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: a focus on natural ingredients!\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 is an innovative ear solution whose solubility enables the dissolution and removal of earwax and other oily impurities.\u003cbr\u003eFor effective ear cleaning in dogs and cats, the product should be applied frequently, especially during bathing, so that the removed dirt does not damage the coat.\u003cbr\u003eAs it is hypoallergenic, it was formulated to respect all skin types while contributing to the proper functioning of the epidermal metabolism.\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\u003eYou will appreciate its natural composition:\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e🍀 A\u003cspan data-mce-fragment=\"1\"\u003ellantoin and chamomile extracts \u003c\/span\u003e(\u003cmeta charset=\"utf-8\"\u003esoothing action), \u003c\/div\u003e\n\u003cdiv\u003e🍀 P\u003cspan data-mce-fragment=\"1\"\u003eeppermint\u003c\/span\u003e (\u003cmeta charset=\"utf-8\"\u003eprevention of itching and redness), \u003c\/div\u003e\n\u003cdiv\u003e🍀 The \u003cspan data-mce-fragment=\"1\"\u003eyarrow, mallow, and lemon balm\u003c\/span\u003e (\u003cmeta charset=\"utf-8\"\u003edeodorizing action),\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e🍀 Yeasts (\u003c\/span\u003estrengthen and brighten the coat and promote the skin's natural microbial balance)\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;\"\u003eExamples and suggested uses\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\u003eChoose this cleaner if you need:\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🔥 gently clean the ears of any dog or cat\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 to \u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003eprevent infections\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong data-mce-fragment=\"1\"\u003e🔥 to establish a protocol to prevent \u003cmeta charset=\"utf-8\"\u003eear buildup\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\u003eBUT:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e❌ Do not \u003cmeta charset=\"utf-8\"\u003eNever use cotton to clean the inside of your pet's ears.\u003c\/div\u003e\n\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"utf-8\"\u003eIt is advisable to remove the downy hair in the ear flap beforehand (use HAIR STRIP for this).\u003cbr\u003eHold the animal's head with the muzzle pointed toward the ground, and lift the ear so that the canal is vertical.\u003cbr\u003ePour in Aqua Oto, then massage for a few moments. \u003cbr\u003eUsing gauze moistened with the product, gently wipe the inside of the ear to remove impurities.\u003cbr\u003eWhen your dog shakes, the centrifugal force of the movement will only intensify the product's action and the expulsion of impurities.\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;\"\u003eRecommended combinations\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\u003eThe entire Special One range is compatible with 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\"\u003eThe lotion can be used alongside medical treatment.\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\"\u003eDuring grooming, start every Special One bath by applying lotion to each ear.\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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eParaben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eRecyclable HDPE02 packaging\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":"SPECIAL ONE-branded microdiffusion spray","description":"\u003cp\u003eEmpty spray bottle\u003c\/p\u003e\n\u003cdiv\u003ePlastic spray bottle for \u003ca href=\"https:\/\/www.rueducommerce.fr\/m\/pl\/malid:51426052\" target=\"_blank\"\u003eprofessional use\u003c\/a\u003e, capacity 200 mL.\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003eUltra-fine mist.\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, dilutable 40 times!","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 is Special One's highly concentrated \u003cstrong\u003euniversal\u003c\/strong\u003e professional shampoo. Designed for grooming salons and breeders, it offers the \u003cstrong\u003ebest value for money in the range\u003c\/strong\u003e: ultra-versatile, ultra-economical, ultra-effective — without ever stripping or irritating.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n\u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eDesigned primarily for \u003cstrong\u003egrooming salons and breeders\u003c\/strong\u003e — but everyone will find it genuinely useful. Please note: for competitors preparing for a show, a specialist shampoo will perform better in its specific area (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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003eIndividuals\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\"\u003eCompetitors\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; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts formula, incorporating \u003cstrong\u003emoisturizing agents and a structuring emollient cream\u003c\/strong\u003e, is designed to \u003cstrong\u003espeed up and optimize grooming\u003c\/strong\u003e while delivering maximum results for coat texture. Diluted 1:40, it costs significantly \u003cstrong\u003eless than discount brands\u003c\/strong\u003e — with all the care of Special One's premium formulations.\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\u003eFor competitors:\u003c\/strong\u003e Blue Sky Pro is an excellent all-rounder, but a specialist shampoo will deliver unmatched performance in its specific area — \u003cstrong\u003eBain Pro, Platinum Pro, 4Poodle, Kératine Pro, Aquablu Pro\u003c\/strong\u003e depending on the goal.\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\"\u003eUniversal cleansing\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eCleans and sanitizes deeply, even the dirtiest animals — without stripping or irritating.\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\"\u003eRadiance \u0026amp; shine\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eAdds radiance to every coat: a more pleasant feel and enhanced shine.\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\"\u003eKeratin protection\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eStrengthens natural defenses to protect the coat structure.\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\"\u003eFrequent baths\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003eNo risk to the skin or coat, even with intensive use in the 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-economical\u003c\/div\u003e\n\u003cdiv class=\"aqr-benefit-desc\"\u003e1:40 dilution: a lower cost per bath than “discount” brands, with Special One standards.\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;\"\u003eUnderstanding Blue Sky Pro's effects\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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;\"\u003eBlue Sky Pro formulation: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA natural formula focused on purity, hydration, and skin protection — \u003cstrong\u003eparaben-free, silicone-free\u003c\/strong\u003e. Here is how each active ingredient acts on the skin and coat, zone by zone.\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=\"Diagram of the anatomy of the skin and coat illustrating the targeted action of 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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part to 40 parts water\u003cbr\u003ethe most economical in the range\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoon\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\"\u003epump strokes\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; kennel — first shampoo or all-purpose bath\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 excels as a single shampoo or as the first step in a two-shampoo protocol\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\"\u003eFirst shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eUse diluted Blue Sky Pro at \u003cstrong\u003e1\/40\u003c\/strong\u003e as a first shampoo on wet fur, then rinse.\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\"\u003eSpecific shampoo (optional)\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eOptionally follow with a more targeted shampoo depending on the need: \u003cstrong\u003eBain Pro or 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\"\u003eFinishing\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream and\/or 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\"\u003eSingle-shampoo option\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFor “average” dogs in the salon, Blue Sky Pro can be the \u003cstrong\u003eonly shampoo\u003c\/strong\u003e: it covers all common needs with unbeatable profitability.\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\"\u003eIntensive cleaning — males, oily or very dirty dogs\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\"\u003eFor cases requiring strong cleansing power (males with urine stains, oily skin, extreme dirt)\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\"\u003eCompare according to intensity\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eCompare with \u003cstrong\u003eAquapure Pro\u003c\/strong\u003e depending on the issue — both are positioned for this purpose, with Blue Sky Pro being slightly gentler.\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\"\u003eConcentrated first shampoo\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eUse Blue Sky Pro as a \u003cstrong\u003efirst shampoo, undiluted or concentrated\u003c\/strong\u003e, on the dirtiest areas, then rinse.\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\"\u003ePre-bath integration\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eIt can also be \u003cstrong\u003eadded directly to Bio Energy Plus\u003c\/strong\u003e for enhanced action from the pre-bath stage.\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\"\u003eSuitable finish\u003c\/div\u003e\n\u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish the bath with the shampoo and conditioner suited to the coat type.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\"\u003eBlue Sky Pro’s direct competitor remains \u003cstrong\u003eAquarosa Pro\u003c\/strong\u003e: both wash all breeds, but Blue Sky Pro cleans more thoroughly, while Aquarosa Pro is gentler and more nourishing. Compare them according to the animal’s profile. Our preferred combinations:\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea targeted second shampoo is desired…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea final conditioning treatment is needed…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea show finish is desired…\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;\"\u003eWhere Blue Sky Pro makes the difference:\u003c\/h3\u003e\n\u003cdiv class=\"aqr-races-mosaic\"\u003e\n\u003cspan class=\"aqr-race-tag\"\u003e🐱🐶 All cats \u0026amp; all dogs \u003cspan\u003e(universal by definition)\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"aqr-race-tag\"\u003e✂️ Short, double or medium-length coats \u0026amp; scissor cuts \u003cspan\u003e(in the 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;\"\u003eA long, non-exhaustive list — the universal all-rounder, from the salon to the kennel.\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;\"\u003eMore than 90% biodegradable | Paraben- and silicone-free | Not tested on animals | 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":"Luxury Perfume, 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\"\u003e\u003cem\u003eExceptional\u003c\/em\u003e Perfumes\u003cbr\u003efor Pets\u003c\/h2\u003e\n\u003cp class=\"hero-subtitle\"\u003eA collection of high-end fragrances, created in Grasse, to give your companions a unique olfactory signature. The luxury touch that beautifully completes your grooming work.\u003c\/p\u003e\n\u003cdiv class=\"hero-line\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"hero-scroll\"\u003eDiscover the 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\"\u003eUnderstanding fragrances\u003c\/div\u003e\n\u003ch2 class=\"section-title\"\u003eThe Fragrance Pyramid\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\u003eTop Note\u003c\/h3\u003e\n\u003cdiv class=\"subtitle\"\u003eThe opening\u003c\/div\u003e\n\u003cp\u003eEphemeral, volatile and light, it is the first impression. Fresh and lively, it immediately captures the senses.\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\u003eHeart Note\u003c\/h3\u003e\n\u003cdiv class=\"subtitle\"\u003eThe character\u003c\/div\u003e\n\u003cp\u003eLess intense but more tenacious, it comes to life when the top note fades. It is the soul of the fragrance.\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\u003eBase Note\u003c\/h3\u003e\n\u003cdiv class=\"subtitle\"\u003eThe trail\u003c\/div\u003e\n\u003cp\u003eLess intense but highly long-lasting, it creates attachment and loyalty. It is the memory of the fragrance.\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\"\u003eNew creations\u003c\/div\u003e\n\u003ch2 class=\"section-title\"\u003eSignature Fragrances\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\u003eFloral \u0026amp; Nostalgic\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNew fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003eAn emotional journey through a flower-filled garden\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eInspired by the famous Italian song, Ciuri Ciuri transports you to a garden in bloom all year round. This fresh and floral fragrance awakens nostalgia for moments gone by, carrying a breath of freshness and joy. Each spray is a scented hug that transforms your companion into a messenger of pure emotions.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTop\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eViolet, Orange Blossom\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eHeart\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eRose, Geranium\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eBase\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eJasmine, White Musk\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\u003eFruity \u0026amp; Elegant\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNew fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003eFruity softness \u0026amp; woody sophistication\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eL'è Bell is a soft and fruity fragrance, enriched with floral and woody notes. Ideal for small dogs with a gentle and affectionate nature, it lends the coat a touch of elegance and refinement, perfect for special occasions and social outings.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTop\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eOrange, Mandarin, Bergamot, Lemon\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eHeart\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eJasmine, Lily of the Valley, Ylang-Ylang, Lavender, Peach, Violet\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eBase\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eCedarwood, Sandalwood, White Musk\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\u003eFresh \u0026amp; Spicy\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNew fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003ePositive energy \u0026amp; adventurous spirit\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eKikinci is an explosion of freshness and vitality, ideal for exuberant and dynamic dogs. Its fresh and spicy fragrance evokes travel, outdoor games, and movement. Just one spray and it will accompany your companion on every adventure with a burst of positive energy.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTop\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eLemon, Orange, Bergamot, Blackcurrant\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eHeart\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eSandalwood, Peach Blossoms, Zagara, Lily of the Valley\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eBase\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eWhite Musk, Vanilla\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\u003eSoft \u0026amp; Irresistible\u003c\/em\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"featured-content\"\u003e\n\u003cdiv class=\"featured-tag\"\u003eNew fragrance — 100 ml\u003c\/div\u003e\n\u003ch3\u003eThe tenderness of a childhood memory\u003c\/h3\u003e\n\u003cp class=\"desc\"\u003eBaby Paw is the link between fragrance and emotion. Like the smell of freshly baked biscuits that used to send you running to the kitchen, this sweet and delicious fragrance brings back the carefree feeling of childhood. A tender puppy becomes a little lifelong companion onto whom you pour all your love… and in an instant, you become a child again.\u003c\/p\u003e\n\u003cdiv class=\"notes-row\"\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eTop\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eLemon, Orange, Strawberry, Raspberry\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eHeart\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eWhite Flowers\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"note-block\"\u003e\n\u003cdiv class=\"note-label\"\u003eBase\u003c\/div\u003e\n\u003cdiv class=\"note-value\"\u003eVanilla\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\"\u003eClassic Collection — Aqua Line\u003c\/div\u003e\n\u003ch2 class=\"section-title\"\u003eOur Iconic Fragrances\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\"\u003eSpicy \u0026amp; Ambery\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTop\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eFlorentine Iris, Texan Cedar\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eHeart\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eIndian Pepper, Chinese Eucalyptus, Indonesian Nutmeg\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eBase\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eAustralian Sandalwood, woody \u0026amp; ambery notes\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\"\u003eFresh \u0026amp; Leather\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTop\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eFrench Violet, Sandalwood, Texan Cedar\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eHeart\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eSicilian Lemon, French Lavender\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eBase\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eAmber, Leather, Musk\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\"\u003eFloral \u0026amp; Woody\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTop\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eTurkish Rose, Indian Hyacinth\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eHeart\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eCoconut, Comorian Ylang-Ylang\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eBase\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eMadagascan Vanilla, Indian Sandalwood\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\"\u003eSleek \u0026amp; Elegant\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTop\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eTurkish Rose, Egyptian Geranium, Jasmine\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eHeart\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eWatermelon, Ylang-Ylang, Magnolia\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eBase\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eWhite Musk, Heliotrope\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\"\u003eCasual \u0026amp; Light\u003c\/div\u003e\n\u003cdiv class=\"card-notes\"\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eTop\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eTuberose, Solar Accord\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eHeart\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eJasmine, Orange Blossom\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card-note-row\"\u003e\n\u003cspan class=\"card-note-label\"\u003eBase\u003c\/span\u003e \u003cspan class=\"card-note-val\"\u003eAmber, Oriental Woods\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\"\u003eInstructions for Use\u003c\/div\u003e\n\u003ch3\u003eUsage Tips\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\"\u003eSpray on \u003cstrong\u003e20-40 cm\u003c\/strong\u003e of the animal, on the tail hair and the back of the body\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\"\u003eAvoid spraying on the face and mucous membranes. \u003cstrong\u003eTwo sprays\u003c\/strong\u003e are sufficient.\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\"\u003eContains alcohol; flammable product. Keep out of reach of children.\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\"\u003eCreated in Grasse · Distributed by 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 is Beautiful","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":"Special One \"Marina\" Grooming Jacket","description":"\u003caddress\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/address\u003e\u003cbr\u003e\n\u003cp\u003eProfessional clothing, made in Italy, for operators in the grooming and pet shop sectors.\u003c\/p\u003e\n\u003cp\u003eThe collections are made from high-quality, breathable, irresistible, semi-transparent, stain-resistant materials.\u003c\/p\u003e\n\u003cp\u003eThe fabric is certified and phthalate-free.\u003c\/p\u003e\n\u003cp\u003eMachine washable at 30°C, they do not need to be spun. The technical fabric dries quickly and does not require ironing after washing.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eChoose safe, fashionable and comfortable workwear ... just for you, Special One!\u003c\/p\u003e","brand":"autre","offers":[{"title":"Size XS","offer_id":37819393966259,"sku":"(440-Taille XS)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Size S","offer_id":37819393835187,"sku":"(440-Taille S)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Size M","offer_id":37819393867955,"sku":"(440-Taille M)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Size L","offer_id":37819393900723,"sku":"(440-Taille L)","price":117.6,"currency_code":"EUR","in_stock":true},{"title":"Size 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":"Pump for Special One 5 \u0026 10 L container","description":"\u003cp\u003eGallon pump: fits 5 or 10L containers. Ideal for controlling consumption and ensuring reliable dilution ratios.\u003cbr\u003e\u003cbr\u003eEnsure accurate dosing of your Special One cosmetics by using this pump for 5 and 10L containers.\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003eYou can control your product consumption and dilutions, and the instructions you give your employees will be remarkably simple:\u003c\/div\u003e\n\u003cdiv\u003e1 full press = 30mL of product.\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003eTo prepare 1 liter of finished product, press this pump twice, and you're done—just top it up with water.\u003c\/div\u003e\n\u003cdiv\u003e(1\/20 dilution for Bio Energy or shampoos)\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"5\u002610L Cans","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, \"rinse-free\" shampoo","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan lang=\"it\" xml:lang=\"it\"\u003eShampoo\u003c\/span\u003e\u003cspan\u003e WITHOUT RINSING, ideal for removing traces and other organic dirt. Odors also disappear instantly.\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;\"\u003eWho is this product for?\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\u003eEveryone will find real value in it!\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Groomers \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Breeders \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Private owners \u003cspan data-mce-fragment=\"1\"\u003e☑️\u003c\/span\u003e Competitors \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;\"\u003eWhat benefits can I expect?\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✅ Removes stains \u003c\/div\u003e\n\u003cdiv\u003e✅ Eliminates unpleasant organic odors \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e✅ Its blue color helps revive white coats \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: focusing on natural ingredients!\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\u003eThe Special Rinse formula has been enriched with a gentle cleansing and moisturizing composition to complement the coat with important functional elements. Its action enhances the coat's aesthetic beauty and shine. It also contains a significant blue pigment that prevents white coats from turning yellow. Pleasantly scented. \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;\"\u003eExamples and usage suggestions\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✨ Apply to soiled, dry, or wet fur.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e✨ Leave it on for a few moments, then dry or leave to air-dry.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e✨ Add it to the second shampoo, undiluted on the area we particularly want to whiten. \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;\"\u003eRecommended combinations\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\u003eIt can also be mixed with all shampoos in the Special One range to revive white colors.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan\u003eWe recommend using it alone outside the bath to avoid dirt and organic odors \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;\"\u003eOur commitments\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;\"\u003eOver 90% biodegradable cosmetics\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eParaben-free, silicone-free\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNot tested on animals.\u003c\/p\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eRecyclable HDPE02 packaging\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;\"\u003eChoice by breed?\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🎈 A few examples of breeds that Special Rinse works wonders on:\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✔️ All Cats\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cmeta charset=\"UTF-8\"\u003e \u003cspan\u003e✔️ All Dogs \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003e✔️ Ideal to have in your grooming kit for competitions or shows (it can save you at the \u003c\/span\u003elast minute in case of an accident) \u003c\/div\u003e\n\u003cdiv\u003e✔️ Perfect for Chow Chows \u003c\/div\u003e\n\u003cdiv\u003e✔️ Perfect for a Newfoundland \u003c\/div\u003e\n\u003cdiv\u003e✔️ Ideal for your 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":"Anti-Breakage Coat Collar - Protective padded fabric","description":"\u003cp\u003eLong-haired dog owners know the problem all too well: every collar, whether nylon, leather, or metal, breaks the fur. At last, the miracle solution for keeping your pet's neck fur intact!\u003c\/p\u003e\u003cbr\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eFur Protection Collar, Anti-Breakage\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;\"\u003eThe collar that saves your dog's fur without ever damaging it\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\u003eThanks to this collar, your dog's fur is perfectly protected. \u003c\/strong\u003eBecause the smooth, soft surface of the collar allows optimal, fluid movement without friction, it prevents pressure on and breakage of the fur around the neck. The collars are easy to put on and remove thanks to the chain system. \u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e\u003cbr\u003eMany veterinarians recommend these collars postoperatively or when the dog has chronic neck pain, sometimes caused solely by matted fur.\u003c\/strong\u003e The operating principle is similar to that of a choke collar with a stop, but it is never aggressive or harmful to the dog, as the padding provides a protective cushion for your pet. \u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e\u003cbr\u003eHandcrafted and patented for its design and construction, these high-quality collars are made of quilted velvet reinforced with wadding fibers. \u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003eSeveral colors and sizes available.\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\u003eWhat we liked:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\n\u003ch6\u003e☑ Durability\u003c\/h6\u003e\n\u003ch6\u003e☑ Effectiveness \u003c\/h6\u003e\n\u003ch6\u003e☑ Lightweight\u003c\/h6\u003e\n\u003ch6\u003e☑ Design and colors\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;\"\u003eChoosing the right size\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\u003eTo reliably choose the size suitable for your pet, you must \u003cstrong\u003emeasure its neck circumference (or at least measure its current collar when adjusted to the correct size),\u003c\/strong\u003e at the exact place where you position the collar, and also make sure that this diameter allows the collar to be slipped over the head (there is no clip opening and closing system; the collar is put on by passing it over the head. Take care with dogs with broad skulls).\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eThe breed examples are provided for guidance only; NEVER rely solely on this indication, as body shapes can vary considerably even within the same breed.\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\u003eNeck circumference\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cstrong\u003eSupplier reference\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd style=\"text-align:center;\"\u003e\u003cspan style=\"color:#ffffff;\"\u003e\u003cstrong\u003eBreed examples\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;\"\u003eToy Poodle, Yorkshire Terrier\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;\"\u003eMiniature Poodle, 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;\"\u003eMedium Poodle, Cocker Spaniels\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;\"\u003eStandard Poodle\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 Hound, Collie\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 - White","offer_id":37819400716467,"sku":"2964","price":22.1,"currency_code":"EUR","in_stock":false},{"title":"130 - Blue","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 - Black","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 - Red","offer_id":37819400945843,"sku":"2971","price":31.1,"currency_code":"EUR","in_stock":false},{"title":"155 - White","offer_id":37819400978611,"sku":"2972","price":31.1,"currency_code":"EUR","in_stock":false},{"title":"160 - Black","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 - White","offer_id":37819401076915,"sku":"2975","price":33.1,"currency_code":"EUR","in_stock":false},{"title":"160 - Red","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 (flow rate 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;\"\u003eThe \u003cstrong\u003eARTERO BLACK 2 MOTORS\u003c\/strong\u003e is a \u003cstrong\u003eprofessional dryer-blower\u003c\/strong\u003e designed for salons seeking performance, durability, and user comfort. Its \u003cstrong\u003etwo synchronized 3,000 W motors\u003c\/strong\u003e deliver an airflow of \u003cstrong\u003e320 CFM\u003c\/strong\u003e — one of the highest in the catalog — with precise airflow and temperature regulation up to 52 °C. Compatible with wall mount and mobile stand. \u003cstrong\u003e72 dB\u003c\/strong\u003e for a tool with this power — excellent value for money in professional grooming equipment.\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;\"\u003eAdvantages \u0026amp; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 20px;\"\u003eDesigned for daily, intensive use, the Artero Black combines the power of two synchronized motors with carefully designed ergonomics. Its thermal stability, low noise level for its category, and washable filters make it a lasting investment for any professional salon.\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 airflow\u003c\/strong\u003e — one of the highest airflow rates available, to handle the thickest or densest coats.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePrecise dial adjustment:\u003c\/strong\u003e Continuously adjust airflow and temperature according to the breed, coat type, or season.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003e72 dB\u003c\/strong\u003e — controlled noise level for a 3,000 W device.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRemovable and washable filters\u003c\/strong\u003e — easy maintenance and maximum motor longevity.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eCompatible with wall mount and mobile stand\u003c\/strong\u003e (accessories sold separately) — fits into any salon layout.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eCompact (6.7 kg)\u003c\/strong\u003e structure and durable materials — designed for intensive use in professional salons.\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;\"\u003eUse\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThe two motors are activated together via a single switch — there is no motor-by-motor adjustment, and the airflow is uniform as soon as the device is switched on. The dial then allows you to precisely adjust the airflow power and heat delivered according to the animal and the drying stage.\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThe extensible hose (70 cm to 2 m) provides great freedom of movement around the table. The three included nozzles allow targeted work according to the area or volume desired.\u003c\/p\u003e\n\u003cdiv style=\"background: #f0f7ff; border-left: 3px solid #4a90d9; padding: 12px 15px; font-size: 13px;\"\u003e💡 \u003cstrong\u003eMaintenance:\u003c\/strong\u003e Remove and clean the removable filters regularly to maintain performance. Also remember to replace the motor brushes regularly.\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;\"\u003eTechnical Information\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;\"\u003eProfessional dryer-blower with 2 synchronized motors\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\u003eTotal power\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\u003eAirflow\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\u003eMaximum temperature\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\u003eSettings\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eDial for adjusting airflow and temperature\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\u003eNoise level\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\u003eExtensible hose\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e70 cm to 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\u003eIncluded nozzles\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e3 interchangeable nozzles\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\u003eFilters\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eRemovable and washable\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 × W 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\u003eWeight\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\u003eOptional accessories\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9;\"\u003eWall mount (ref. A576) · Mobile 4-wheel stand + rigid arm (ref. 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;\"\u003eChoosing a force dryer: airflow \u0026amp; noise level compared\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003eChoosing a force dryer is not limited to its power: the \u003cstrong\u003eairflow rate in L\/s\u003c\/strong\u003e is the key indicator of optimal efficiency. Noise level also deserves attention — a few decibels less can make a real difference to everyday auditory comfort.\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;\"\u003eReference\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eNoise level\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eAirflow\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eProduct\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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📌 Note:\u003c\/strong\u003e The Artero Black is not included in this table because it is an Artero brand product (outside the Ibáñez range). With \u003cstrong\u003e320 CFM\u003c\/strong\u003e, it ranks among the highest airflow rates available on 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;\"\u003eFrequently Asked Questions\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\"\u003eCan the two motors be used independently?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eNo, both motors operate simultaneously via a single switch to ensure consistent, optimal airflow.\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\"\u003eIs the Artero Black suitable for sensitive or small dogs?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eYes, thanks to the airflow and temperature adjustment dial, it is easy to adapt the power according to the breed, coat type, or the animal's sensitivity.\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\"\u003eWhat maintenance is required?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eRegular cleaning of the removable, washable filters is enough to maintain performance. Also remember to replace the motor's carbon brushes regularly.\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\"\u003eIs the Artero Black compatible with a wall mount or mobile stand?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eYes, it can be mounted on a wall mount (ref. A576) or installed on a 4-wheel mobile stand with a rigid arm (ref. A587), both sold separately.\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\"\u003eWhat is the noise level of the Artero Black 2 Motors?\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 at maximum — an acceptable level for daily professional use at this power (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 signs that may encourage you to choose the Artero Black 2 Motors\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✅ You want a \u003cstrong\u003ehigh-performance force dryer (320 CFM, 3,000 W)\u003c\/strong\u003e to significantly reduce drying time in the salon.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ You need a \u003cstrong\u003epowerful, adjustable airflow controlled by a dial\u003c\/strong\u003e to work on all coat types, from the finest to the thickest.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ You are looking for equipment that is \u003cstrong\u003ereliable and easy to maintain\u003c\/strong\u003e — washable filters and accessible carbon brushes for sustained intensive use.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ You want to \u003cstrong\u003eintegrate the appliance into your workspace\u003c\/strong\u003e with a wall mount (ref. A576) or a 4-wheel mobile stand (ref. A587).\u003c\/li\u003e\n\u003cli\u003e✅ You expect an \u003cstrong\u003eexcellent value for money\u003c\/strong\u003e from a recognized professional grooming brand — 72 dB at 3,000 W is 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 Synchronized Motors | 320 CFM | 52 °C | 72 dB | 3,000 W | 2 m hose | Wall mount \u0026amp; mobile stand available\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"ARTERO","offers":[{"title":"BLACK Pulse Generator 2M","offer_id":56374094004569,"sku":"S267","price":319.0,"currency_code":"EUR","in_stock":true},{"title":"Stand + Tube for BLACK 2M Blower","offer_id":56374094037337,"sku":"A587","price":201.0,"currency_code":"EUR","in_stock":true}],"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 Extreme 2m blower\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e2 high-pressure turbine blowers for dog grooming, with independent motor control. \u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eEliminates the need for a towel. \u003cbr data-mce-fragment=\"1\"\u003eReduces drying time. \u003cbr data-mce-fragment=\"1\"\u003eAdds volume to the coat. \u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eSpecifications: \u003cbr data-mce-fragment=\"1\"\u003eHose not included. Sturdy, lightweight, and very flexible with the nozzle. \u003cbr data-mce-fragment=\"1\"\u003eChoose the hose according to the measurements below in the related products. \u003cbr data-mce-fragment=\"1\"\u003eAirflow: 126 liters\/second (CFM 272). \u003cbr data-mce-fragment=\"1\"\u003eRemovable nozzle to increase air pressure. \u003cbr data-mce-fragment=\"1\"\u003eWeight: 12.5 kg \u003cbr data-mce-fragment=\"1\"\u003eNominal voltage: 230 V. \u003cbr data-mce-fragment=\"1\"\u003eNominal power consumption: 50Hz. \u003cbr data-mce-fragment=\"1\"\u003eMains frequency: 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\" - Special One Curved Scissors","description":"\u003ch3\u003eSatin Special One Curved Scissors\u003c\/h3\u003e\n\u003ch4\u003eAdvantages\u003c\/h4\u003e\n\u003cp\u003eSatin Special One curved scissors embody the pinnacle of precision and performance for experienced groomers. Forged from the highest-quality Japanese Hitachi 440C steel, these scissors are both robust and incredibly sharp. Their satin finish reduces glare during cutting, ensuring optimal control. Featuring an extremely precise blade with unilateral micro-sharpening, these scissors guarantee a clean cut on all coat textures.\u003c\/p\u003e\n\u003ch4\u003eUsage\u003c\/h4\u003e\n\u003cp\u003eThe curved shape of these scissors allows exceptional precision when shaping cuts and curved lines, making them ideal for sculpting the contours of the face or paws. Equipped with a tension adjustment screw and an asymmetrical handle with an integrated finger rest, they provide superior comfort and maneuverability for effortless grooming sessions.\u003c\/p\u003e\n\u003ch4\u003eTechnical Information\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eProduct Code: SO-SC7.5\u003c\/li\u003e\n\u003cli\u003eEAN: 5902194246989\u003c\/li\u003e\n\u003cli\u003eBrand: Special One\u003c\/li\u003e\n\u003cli\u003eOrientation: Right-handed\u003c\/li\u003e\n\u003cli\u003eScissor Type: Curved\u003c\/li\u003e\n\u003cli\u003eSize: 7.5 inches\u003c\/li\u003e\n\u003cli\u003eWeight (net): 78 g\u003c\/li\u003e\n\u003cli\u003eLength without hook: 19 cm\u003c\/li\u003e\n\u003cli\u003eLength of the working part: 9.9 cm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4\u003eAdditional Questions and Answers\u003c\/h4\u003e\n\u003cp\u003e\u003cstrong\u003e1. What is the quality of the steel used in these scissors?\u003c\/strong\u003e The scissors are made from Japanese Hitachi 440C steel, renowned for its durability and sharpness.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Are these scissors suitable for left-handed users?\u003c\/strong\u003e The scissors are specially designed for right-handed users.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003e5 signs that may encourage you to use Satin Special One curved scissors:\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eNeed for professional-quality scissors for precise grooming.\u003c\/li\u003e\n\u003cli\u003eLooking for ergonomic scissors that provide optimal comfort.\u003c\/li\u003e\n\u003cli\u003eInterest in scissors with a curved blade for sculpting precise cuts.\u003c\/li\u003e\n\u003cli\u003eDesire to invest in durable scissors made from high-quality steel.\u003c\/li\u003e\n\u003cli\u003eNeed for versatile scissors suitable for various coat textures and cuts.\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":"AQUTUS Thinning Scissors 7.5\" by Special One","description":"\u003ch1 data-start=\"249\" data-end=\"353\" class=\"\"\u003e7.5\" Aqutus Scissors – Wide Chunkers with Rounded Blades for a Natural, Professional Finish\u003c\/h1\u003e\n\u003ch2 data-start=\"355\" data-end=\"386\" class=\"\"\u003eBenefits of Aqutus Scissors\u003c\/h2\u003e\n\u003cp data-start=\"388\" data-end=\"1417\" class=\"\"\u003eThe \u003cstrong data-start=\"392\" data-end=\"410\"\u003eAqutus scissors\u003c\/strong\u003e are essential for professional groomers seeking a \u003cstrong data-start=\"477\" data-end=\"519\"\u003enatural, textured, and smooth finish\u003c\/strong\u003e, especially on fine or curly coats. With their \u003cstrong data-start=\"575\" data-end=\"606\"\u003e7.5-inch-long blades\u003c\/strong\u003e, \u003cstrong data-start=\"613\" data-end=\"631\"\u003erounded shape\u003c\/strong\u003e, and \u003cstrong data-start=\"641\" data-end=\"676\"\u003e24 wide “T”-shaped teeth\u003c\/strong\u003e, they allow precise finishing while creating a seamless blended effect. Made from \u003cstrong data-start=\"780\" data-end=\"811\"\u003eJapanese Hitachi 440C steel\u003c\/strong\u003e, these chunkers are designed to withstand intensive use while maintaining their exceptional sharpness.\u003cbr data-start=\"927\" data-end=\"930\"\u003eTheir \u003cstrong data-start=\"935\" data-end=\"953\"\u003ewide blades\u003c\/strong\u003e and \u003cstrong data-start=\"970\" data-end=\"1002\"\u003egenerous spacing between the teeth\u003c\/strong\u003e allow large areas to be cleared quickly without stopping to clean them, making the work faster and smoother. Their \u003cstrong data-start=\"1137\" data-end=\"1169\"\u003eclassic reversible handle\u003c\/strong\u003e, with a \u003cstrong data-start=\"1176\" data-end=\"1197\"\u003efixed finger rest\u003c\/strong\u003e and \u003cstrong data-start=\"1201\" data-end=\"1230\"\u003eadjustable tension screw\u003c\/strong\u003e, provides excellent comfort for groomers who alternate between classic and European cutting styles. A highly versatile tool for enhancing every haircut.\u003c\/p\u003e\n\u003ch2 data-start=\"1419\" data-end=\"1466\" class=\"\"\u003eUsing Aqutus Scissors in Grooming\u003c\/h2\u003e\n\u003cp data-start=\"1468\" data-end=\"2346\" class=\"\"\u003eAqutus scissors are particularly well suited to \u003cstrong data-start=\"1522\" data-end=\"1569\"\u003efinishing wavy, fine, or curly hair\u003c\/strong\u003e, such as that of \u003cstrong data-start=\"1586\" data-end=\"1649\"\u003ePoodles (especially red), Lagottos, Cockapoos, or Bichons\u003c\/strong\u003e. Thanks to their \u003cstrong data-start=\"1664\" data-end=\"1699\"\u003elength and rounded shape\u003c\/strong\u003e, they allow you to work safely on large areas while creating a soft, blended volume effect without leaving marks.\u003cbr data-start=\"1817\" data-end=\"1820\"\u003eThe \u003cstrong data-start=\"1823\" data-end=\"1844\"\u003ereversible handle design\u003c\/strong\u003e offers two ways to use them: toothed blade facing upward for a classic cut, or downward for a so-called “European” approach, suited to certain types of furnishings or silhouettes. This model is perfectly suited to daily use, both in the salon and in competitions, for those who want to \u003cstrong data-start=\"2163\" data-end=\"2230\"\u003esave time while maintaining premium cutting quality\u003c\/strong\u003e. The T-toothed blade grips more material without clogging or snagging, even on thick or abundant coats.\u003c\/p\u003e\n\u003ch2 data-start=\"2348\" data-end=\"2374\" class=\"\"\u003eTechnical Information\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: Professional wide chunkers\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\"\u003eModel\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\"\u003eLength\u003c\/strong\u003e: 7.5 inches\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\"\u003eNumber of teeth\u003c\/strong\u003e: 24 wide “T”-shaped teeth\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\"\u003eMaterial\u003c\/strong\u003e: Japanese Hitachi 440C steel\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\"\u003eBlade finish\u003c\/strong\u003e: Rounded curve for safety and smoothness\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\"\u003eHandle\u003c\/strong\u003e: Classic reversible\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\"\u003eFinger rest\u003c\/strong\u003e: Fixed\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\"\u003eScrew\u003c\/strong\u003e: Adjustable – for tension adjustment according to the desired cutting feel\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: Perfectly balanced for intensive use\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\"\u003eSpecial feature\u003c\/strong\u003e: Excellent cut retention over large areas; blade designed for fine, curly, or keratinized hair\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\"\u003eRecommended cutting style\u003c\/strong\u003e: Natural blending, light volume, commercial or show cuts\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 data-start=\"3086\" data-end=\"3126\" class=\"\"\u003eAdditional Questions and Answers\u003c\/h2\u003e\n\u003cp data-start=\"3128\" data-end=\"3367\" class=\"\"\u003e\u003cstrong data-start=\"3128\" data-end=\"3199\"\u003eQ: What type of coat are these scissors most effective on?\u003c\/strong\u003e\u003cbr data-start=\"3199\" data-end=\"3202\"\u003eA: Aqutus scissors are ideal for \u003cstrong data-start=\"3244\" data-end=\"3272\"\u003efine, curly, or wavy coats\u003c\/strong\u003e, such as those of red Poodles, Bichons, or Lagottos. They create a very natural blended cut.\u003c\/p\u003e\n\u003cp data-start=\"3369\" data-end=\"3575\" class=\"\"\u003e\u003cstrong data-start=\"3369\" data-end=\"3423\"\u003eQ: What is special about the “T” teeth?\u003c\/strong\u003e\u003cbr data-start=\"3423\" data-end=\"3426\"\u003eA: They provide \u003cstrong data-start=\"3447\" data-end=\"3478\"\u003ewide, deep spacing\u003c\/strong\u003e, allowing you to work quickly without overloading the blades, while maintaining good control over volume.\u003c\/p\u003e\n\u003cp data-start=\"3577\" data-end=\"3785\" class=\"\"\u003e\u003cstrong data-start=\"3577\" data-end=\"3618\"\u003eQ: Can they be used by left-handed groomers?\u003c\/strong\u003e\u003cbr data-start=\"3618\" data-end=\"3621\"\u003eA: No, this model is designed for \u003cstrong data-start=\"3661\" data-end=\"3685\"\u003eright-handed use only\u003c\/strong\u003e, but it has a reversible handle that allows two cutting approaches (classic or European style).\u003c\/p\u003e\n\u003cp data-start=\"3787\" data-end=\"4033\" class=\"\"\u003e\u003cstrong data-start=\"3787\" data-end=\"3850\"\u003eQ: How do they differ from a traditional chunker?\u003c\/strong\u003e\u003cbr data-start=\"3850\" data-end=\"3853\"\u003eA: The rounded blade and wide spacing between the teeth make Aqutus scissors particularly \u003cstrong data-start=\"3957\" data-end=\"3993\"\u003esuited to finishing and blending\u003c\/strong\u003e, with excellent movement safety.\u003c\/p\u003e\n\u003cp data-start=\"4035\" data-end=\"4243\" class=\"\"\u003e\u003cstrong data-start=\"4035\" data-end=\"4075\"\u003eQ: Are they suitable for beginners?\u003c\/strong\u003e\u003cbr data-start=\"4075\" data-end=\"4078\"\u003eA: They require some skill to fully harness their power, but they are accessible once you have mastered the basic techniques for using wide chunkers.\u003c\/p\u003e\n\u003ch3 data-start=\"4245\" data-end=\"4315\" class=\"\"\u003e5 Signs You May Want to Use Aqutus Scissors\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=\"\"\u003eYou work with \u003cstrong data-start=\"4344\" data-end=\"4380\"\u003ecurly, wavy, or fine coats\u003c\/strong\u003e and want a soft, natural finish.\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=\"\"\u003eYou are looking for a \u003cstrong data-start=\"4450\" data-end=\"4485\"\u003elong, wide, and efficient chunker\u003c\/strong\u003e to cover large areas quickly.\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=\"\"\u003eYou like having \u003cstrong data-start=\"4553\" data-end=\"4587\"\u003etwo possible cutting styles\u003c\/strong\u003e thanks to a reversible handle.\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=\"\"\u003eYou are looking for scissors with \u003cstrong data-start=\"4661\" data-end=\"4684\"\u003eexcellent balance\u003c\/strong\u003e that are robust yet easy to handle.\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=\"\"\u003eYou want a reliable, elegant, and durable tool made from \u003cstrong data-start=\"4768\" data-end=\"4799\"\u003eJapanese Hitachi 440C steel\u003c\/strong\u003e with special T-shaped teeth.\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":"Stripping Knives - by Special One - Stripping Knife","description":"\u003cp\u003eA one-of-a-kind stripping knife: ergonomic, secure grip, high performance, and fatigue-reducing. The result of more than thirty years of experience stripping all dog breeds.\u003c\/p\u003e\u003cbr\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cstrong\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003eStripping knife\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\u003eTechnical range: the result of 33 years of stripping experience\u003c\/em\u003e\u003c\/span\u003e\u003c\/h2\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003e(dog and cat grooming)\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\u003eA specialized range made from extremely hard metal, ensuring highly precise stripping.\u003c\/p\u003e\u003cp\u003eDesigned to oxidize, this metal’s wear further improves the knife’s grip and therefore the effectiveness of stripping. Your work is made easier and faster, and stripping immediately becomes child’s play!\u003c\/p\u003e\u003cp\u003eWith its relatively narrow spacing between each tooth, this knife excels at grooming coats that are not too thick.\u003c\/p\u003e\u003cp\u003eErgonomic, fatigue-reducing wooden handle.\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 - End","offer_id":37819440595123,"sku":"2313","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"K003 - Medium","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 (without teeth)","offer_id":37819440726195,"sku":"(248)","price":109.0,"currency_code":"EUR","in_stock":true},{"title":"Left-handed","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":"ATLAS Blower Dryer (flow rate 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;\"\u003eThe \u003cstrong\u003eATLAS BLOWER DRYER\u003c\/strong\u003e is a \u003cstrong\u003eprofessional 2-in-1 dryer\u003c\/strong\u003e — a blower and dryer in one compact, lightweight device. With just \u003cstrong\u003e69 dB\u003c\/strong\u003e and power consumption of 1,200 to 1,800 W, it is the quietest and most energy-efficient blower in the range — perfect for daily use at home, at shows, or in salons with moderate activity.\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;\"\u003eBenefits \u0026amp; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 20px;\"\u003eCompact, lightweight, and robust, the Atlas combines the versatility of a 2-in-1 with the comfort of a remarkably low noise level. Its ergonomic, stable design makes it easy to transport and use in all grooming environments.\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\u003eThe quietest in the range: 69 dB\u003c\/strong\u003e — comfortable drying for the animal and groomer over extended periods.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003e2-in-1 blower \u0026amp; dryer:\u003c\/strong\u003e Full speed without heat + narrow nozzle = blower. Adjustable speed + temperature + suitable nozzles = dryer.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eEnergy-efficient consumption:\u003c\/strong\u003e 1,200 to 1,800 W — ideal for daily or home use without overloading the electrical system.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eUnheated handle:\u003c\/strong\u003e Neoprene grip for safe, comfortable handling during long sessions.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eLightweight, compact, and stable\u003c\/strong\u003e — easy to transport to shows, in a van, or at home.\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;\"\u003eUsage\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThe Atlas can be used in two ways. In \u003cstrong\u003eblower mode\u003c\/strong\u003e: full speed, no heat, with the narrow nozzle to quickly expel water from the coat. In \u003cstrong\u003edryer mode\u003c\/strong\u003e: adjust the speed, activate one of the two heat levels, and choose the nozzle suited to the coat type.\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 0;\"\u003eThe flexible hose (90 to 200 cm) provides good freedom of movement. The 3 interchangeable nozzles cover all needs — blowing out, wide drying, and finishing. The hose and filter are easy to remove for daily cleaning.\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;\"\u003eTechnical Information\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\u003ePower consumption\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e1,200 W (min.) to 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\u003eMaximum speed\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\u003eAirflow\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eUp to 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\u003eHeat control\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e2 levels — maximum increase of 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\u003eFlexible hose\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e90 to 200 cm — diameter 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\u003eIncluded nozzles\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e3 interchangeable nozzles\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\u003eNoise level\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\u003eHandle\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #f9f9f9;\"\u003eUnheated — neoprene handle\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;\"\u003eChoosing your blower: airflow \u0026amp; noise level compared\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003eChoosing a blower is not limited to its power: \u003cstrong\u003eairflow in L\/s\u003c\/strong\u003e is the key indicator of optimal efficiency. Noise level also deserves attention — a few fewer decibels can make a real difference to everyday hearing comfort.\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;\"\u003eReference\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eNoise level\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eAirflow\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; text-align: center;\"\u003eProduct\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 ← you are here\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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\"\u003eView\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;\"\u003eFrequently Asked Questions\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\"\u003eCan it be used solely as a blower, without heat?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eYes. At full speed, without heat and with the narrow nozzle, it works as an expulsion blower. By adjusting the speed, temperature, and nozzles, it becomes a complete dryer suited to every coat type.\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\"\u003eIs the Atlas Blower suitable for all coat types?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eYes, thanks to its adjustable speed and temperature settings and its three interchangeable nozzles, it is suitable for all coat types, from the finest to the thickest.\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\"\u003eHow do you maintain the Atlas Blower Dryer?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eThe hose and filter are easy to remove, clean, and put back in place for simple and effective daily maintenance.\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\"\u003eWhat is the difference between the Atlas Blower and the Volcano Blower?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eThe Atlas is more compact and energy-efficient (1,200–1,800 W, 66 L\/s, 69 dB) — ideal for daily use or salons with moderate activity. The Volcano is more powerful (2,200–2,800 W, 118 L\/s) and designed for high-volume salons.\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 signs that may encourage you to choose the Atlas Blower Dryer\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✅ You are looking for the \u003cstrong\u003equietest blower in the range (69 dB)\u003c\/strong\u003e to protect your pet’s comfort and your hearing.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ You want a \u003cstrong\u003ecompact and lightweight 2-in-1 device\u003c\/strong\u003e that is easy to transport to exhibitions, in a van, or at home.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ Your use is \u003cstrong\u003edaily or light professional use\u003c\/strong\u003e — the Atlas is designed for this type of use without excessive power consumption.\u003c\/li\u003e\n\u003cli\u003e✅ You are looking for a good \u003cstrong\u003eentry point into the Ibáñez range\u003c\/strong\u003e with all the essential features at a controlled price.\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-in-1 Blower \u0026amp; Dryer | Built-in Ionizer | 69 dB | 80 m\/s — 66 L\/s | Compact \u0026amp; Lightweight\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Setter Bakio S.L.","offers":[{"title":"Pulseur Only","offer_id":37819442397363,"sku":"SH0000 (82)","price":119.0,"currency_code":"EUR","in_stock":true},{"title":"Wall-mounted Support (without blower)","offer_id":37819442430131,"sku":"SH0011","price":36.0,"currency_code":"EUR","in_stock":true},{"title":"Stand + Tube (without blower)","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\/files\/secador-expulsador-perros_895236ce-5c40-4996-907c-415d5d58ba6b.jpg?v=1792226378"},{"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 \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 is Special One's professional shampoo designed for coats that need intensive nourishment. Ultra-concentrated and rich in vitamins and moisturizing active ingredients, it delivers the \u003cstrong\u003ebest version of your pet's coat, whatever its breed\u003c\/strong\u003e: the most intense hydration and nourishment possible, with conditioner built in.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it genuinely useful — from professional grooming salons to private owners.\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\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003ePrivate owners\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\"\u003eCompetitors\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 \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 \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; Results\u003c\/h2\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts ultra-concentrated formula can \u003cstrong\u003erestore even the most dehydrated coats\u003c\/strong\u003e, with particularly intense action on dry and sensitive skin. Vitamins and natural amino acids give it remarkable softness while providing lasting shine and radiance. Even with extremely frequent use, it remains gentle on the skin and coat.\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\"\u003eGentle bathing\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eSuitable for dogs and cats of all ages, from babies to seniors.\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\"\u003eDeep cleansing\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eCleanses, purifies, and brightens all coat types.\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-tangle\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eMakes detangling and brushing easier, and helps prevent knots from returning.\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\"\u003eImmediate nourishment\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eIntense, visible action from the very first shampoo.\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\"\u003eKeratin protection\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eStrengthens natural defenses to protect the coat's structure.\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\"\u003eOily skin\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eTreats excess sebum while preserving the hydrolipidic film.\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\"\u003eFrequent baths\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eNo risk to the skin or coat, even with intensive use.\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\"\u003eUniversal\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eVoluminous coats will retain their natural volume; silky, weighty coats will remain as they are — and look even better.\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 \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;\"\u003eUnderstanding AQUAROSA PRO's effects better\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed look at its cosmetic performance, note by 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\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 \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 \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 \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;\"\u003eAQUAROSA PRO composition: innovation, performance, and a commitment to natural ingredients!\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA natural formula rich in antioxidants, vitamins, and purifying active ingredients — \u003cstrong\u003ewithout SLS\u003c\/strong\u003e, parabens, or silicone.\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\" alt=\"Diagram of the anatomy of the skin and coat illustrating the targeted action of 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 \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 \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 \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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part shampoo\u003cbr\u003eto 20 parts water\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e500 mL\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoon\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\"\u003epump pressure\u003c\/span\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 \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\"\u003eQuick, economical \u0026amp; effective grooming\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\"\u003eThe basic bath — regular salon use\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\"\u003eFirst pass\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eStart the bath directly with diluted Aquarosa Pro on the previously wet coat. Rinse.\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 Shampoo\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply a second shampoo and rinse again.\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\"\u003eFinal Care\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with the conditioner suited to your needs: \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e, \u003cstrong\u003eBombastic\u003c\/strong\u003e, or \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\"\u003eUltra-Intense Action — Salon, Emergency, or Show\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\"\u003eFor detangling, restoring damaged coats, or enhancing show grooming\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\"\u003ePre-Bath Mask\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eStart with a \u003cstrong\u003epre-bath mask\u003c\/strong\u003e based on \u003cstrong\u003eBio Energy\u003c\/strong\u003e or \u003cstrong\u003eBombastic\u003c\/strong\u003e. Add \u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e or \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 over Mask\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply \u003cstrong\u003eAquarosa Pro directly after the mask, without rinsing in between\u003c\/strong\u003e. For increased effectiveness, use a higher concentration and pair it with \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\"\u003eLeave-On Time and Double Shampooing\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eLeave on for a few moments and massage if possible. \u003cstrong\u003eTwo shampoos recommended.\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\"\u003eFinishing\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with a conditioner or mask as needed.\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\"\u003eIntegration Boosters — Nourishment \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\"\u003eTwo variations to amplify the effect according to your needs\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\"\u003eNourishment Boost\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFor an even more nourishing effect, add \u003cstrong\u003ea spoonful of Aqua Dolce\u003c\/strong\u003e directly to your Aquarosa Pro mixture. Apply, leave on for a few moments, and rinse thoroughly with lukewarm water.\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\"\u003eVolume Boost\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eMix Aquarosa Pro with \u003cstrong\u003eAqua Vita\u003c\/strong\u003e mousse. Its effervescent effect adds volume and enhances cleansing. Ideal for coats that lack lightness after bathing.\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\"\u003ePerfect Drying\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eIn both cases, finish drying by brushing with \u003cstrong\u003eAqua Beauty\u003c\/strong\u003e or \u003cstrong\u003eMix Pink\u003c\/strong\u003e for an even softer, shinier coat.\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 \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;\"\u003eRecommended Pairings \u0026amp; Breeds\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\"\u003eThe entire Special One range is compatible. \u003cstrong\u003eCombine freely\u003c\/strong\u003e according to your current needs:\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is desired…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003eyou pair it with another shampoo…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea final mask is necessary…\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003ea finishing touch is needed…\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 \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 \u003c!-- Races en pilules arrondies --\u003e\n \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003ePerfectly calibrated for demanding coat textures:\u003c\/h3\u003e\n \u003cdiv class=\"aqr-races-mosaic\"\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐾 All dogs in the salon \u003cspan\u003e(helps prevent tangles from returning)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly Coats \u003cspan\u003e(Poodles, Bichons, Kerry Blues...)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🇬🇧 Cockers \u0026amp; Spaniels \u003cspan\u003e(English, American, Cavaliers...)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Tibetan Coats \u003cspan\u003e(Shih Tzu, Lhasa Apsos...)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e✨ Silky Coats \u003cspan\u003e(Yorkshire Terriers, Afghan Hounds...)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐕 Terriers \u003cspan\u003e(Scottish, Westies, Welsh...)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐱 All Cats\u003c\/span\u003e\n \u003c\/div\u003e\n \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eNon-exhaustive list — Aquarosa Pro is suitable for all coats requiring intense nourishment.\u003c\/p\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=\"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;\"\u003eOver 90% biodegradable | Free from SLS, DEA, parabens, and silicone | Not tested on animals | 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":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: special teasing tool","description":"\u003cp\u003eThe tool that has everything a pair of scissors has... but doesn’t cut! Specially designed for teasing and 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\u003eTop-Knot Scissors\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\u003eProfessional Range for Groomers\u003c\/em\u003e\u003c\/span\u003e\u003c\/h2\u003e\u003ch2 style=\"text-align:center;\"\u003e\u003cspan style=\"color:#923a6c;\"\u003e\u003cem\u003e(dog and cat grooming)\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\u003eLimited edition! Professional range, specially designed for teasing\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":"FINAL FIX SOFT Ecological Shine Hairspray","description":"\u003cp\u003eLight-hold hairspray for providing shape and texture without any “stiff” effect. Leaves no residue and is harmless to the coat.\u003c\/p\u003e\n\u003cbr\u003e\n\u003cdiv\u003eFINAL FIX SOFT ECOLOGIC is an eco-friendly, gas-free hairspray that gives the coat shine, hold, and texture without ever leaving the unpleasant “sticky” effect of some hairsprays.\u003c\/div\u003e\n\u003cp\u003eHighly appreciated by show and competition dogs.\u003c\/p\u003e\n\u003cp\u003eBrushes out with just a few strokes and leaves no residue. The latest-generation hairspray, completely harmless to the coat.\u003c\/p\u003e\n\u003cp\u003eThis grooming spray helps condition fine textures with little structure, particularly when scissoring the following dog breeds: Poodle, Bichon Frise, Kerry Blue Terrier, Bedlington Terrier. \u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003eSpray the product from a distance of approximately 20–30 cm directly onto the clean, combed coat, then finish shaping with a comb.\u003cbr\u003eFor professional use only. Avoid contact with the animal’s eyes.\u003cbr\u003eIf the dispenser becomes blocked, clean it using only hot water.\u003cbr\u003eContains the latest generation of resins that do not damage animal hair.\u003cbr\u003e \u003cbr\u003e \u003cspan style=\"background-color: #ffffff;\"\u003e\u003c\/span\u003ePerfectly completes the grooming of breeds requiring volume. Ideal after Platynum Pro, Extra Body Cream, and Multifix, for example.\u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"200mL","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":"FINAL FIX STRONG Ecological Hairspray","description":"\u003cp\u003eSTRONG hairspray for setting fur. Leaves no residue and is harmless to the coat.\u003c\/p\u003e\n\u003cbr\u003e\n\u003cdiv\u003eFINAL FIX STRONG ECOLOGIC: Strong and fast hold, dries quickly, easy to remove with a brush, leaves no residue. Ideal for styling all topknots on Shih Tzus, Maltese, Yorkshire Terriers, Poodles, and for artistic creations such as Asian Style, for example.\u003cbr\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cp\u003eSpray the product onto the tip of the comb and shape the topknot, setting the hair for a perfect final result.\u003c\/p\u003e\n\u003cdiv\u003eThen spray directly onto the fur from a distance of approximately 20–30 cm.\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cbr\u003eFor professional use only. Avoid contact with the animal's eyes.\u003cbr\u003eIf the dispenser is blocked, clean it with hot water.\u003cbr\u003eContains natural resins that do not damage animal coats.\u003cbr\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003ePerfectly completes the grooming of breeds with voluminous coats. Ideal after Platynum Pro, Extra Body Cream, and Multifix, for example. \u003c\/p\u003e","brand":"Endemik Sas","offers":[{"title":"200mL","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":"FINAL FIX STRONG Gas Hairspray","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\u003eAEROSOL HAIRSPRAY\u003c\/strong\u003e is Special One's professional hairspray with \u003cstrong\u003estrong hold\u003c\/strong\u003e and micro-fine diffusion for an invisible result. Maximum volume, maximum hold — without weighing the coat down or leaving residue. Essential for setting and shaping the coat at competitions.\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\u003eProduct reserved for professional use only.\u003c\/strong\u003e Avoid contact with the animal's eyes.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n\u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eThe finishing product of choice for professionals and competitors.\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✅ Groomers\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✅ Breeders\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✅ Competitors\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; Results\u003c\/span\u003e\n\u003cp style=\"font-size: 14px;\"\u003eThanks to its \u003cstrong\u003emicro-fine diffusion\u003c\/strong\u003e technology and its \u003cstrong\u003enon-damaging natural resins\u003c\/strong\u003e, Special One Aerosol Hairspray is applied invisibly to the hair, setting the coat's structure without weighing it down. It dries quickly and brushes out easily, leaving no residue.\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\u003eStrong Hold:\u003c\/strong\u003e Sets the coat and maintains volume over time.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eMicro-Fine Diffusion:\u003c\/strong\u003e Invisible result, with no sticky feel or visible residue.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eFast Drying:\u003c\/strong\u003e Immediate setting for smooth work in the show ring.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eEasy to Remove:\u003c\/strong\u003e Simply brushes out, with no mandatory rewashing.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eNatural Resins:\u003c\/strong\u003e Non-damaging formula for all coat types.\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 on Natural Ingredients\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA professional formula combining maximum hold with respect for the coat.\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🍀 Natural Resins\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eNatural setting agents that do not damage the hair fiber — providing strong hold and an invisible finish.\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🍀 Micro-Fine Technology\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eUltra-fine diffusion for an even, lightweight application — maximum volume without a heavy feel or residue.\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;\"\u003eUsage Guidelines \u0026amp; Suggestions\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\u003eExample 1 🔥 Hold \u0026amp; Volume — Classic Application\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eOn clean, brushed fur:\u003cbr\u003e\u003cbr\u003e1. Spray the hairspray from a distance of approximately \u003cstrong\u003e20 to 30 cm\u003c\/strong\u003e from the coat.\u003cbr\u003e2. Work \u003cstrong\u003esection by section\u003c\/strong\u003e for even application.\u003cbr\u003e3. Shape with combs and brushes to achieve the desired final result.\u003cbr\u003e4. Let dry for a few moments — it sets quickly.\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\u003eExample 2 🔥 Topknot Shaping (Poodle, breeds with volume)\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eTargeted application on the tuft and volume areas:\u003cbr\u003e\u003cbr\u003e1. After preparing the topknot (blow-drying, adding volume), spray from \u003cstrong\u003e20-30 cm\u003c\/strong\u003e away.\u003cbr\u003e2. Set the structure by gently holding the hair with your fingers or a fine-toothed comb while it sets.\u003cbr\u003e3. Rework with a brush if necessary — the hairspray is easy to reposition before fully dry.\u003cbr\u003e4. ⚠️ If the nozzle is clogged: clean the diffuser with \u003cstrong\u003ehot water\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🛠️ HOW TO USE THE HAIRSPRAY PROPERLY:\u003c\/span\u003e\n\u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e1️⃣ Always apply to \u003cstrong\u003eclean, dry and combed\u003c\/strong\u003e hair.\u003cbr\u003e2️⃣ Hold the spray \u003cstrong\u003e20-30 cm\u003c\/strong\u003e from the coat for even, micro-fine distribution.\u003cbr\u003e3️⃣ Work section by section and shape \u003cstrong\u003ebefore fully dry\u003c\/strong\u003e to adjust.\u003cbr\u003e4️⃣ Remove with a brush at the end of the session — \u003cstrong\u003eno rewashing required\u003c\/strong\u003e.\u003cbr\u003e5️⃣ If the nozzle is clogged: clean with \u003cstrong\u003ehot water\u003c\/strong\u003e.\u003cbr\u003e6️⃣ \u003cstrong\u003eProfessional use only\u003c\/strong\u003e — avoid contact with the animal's eyes.\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Perfectly completes the grooming of breeds with volume. Ideal as a final step after \u003cstrong\u003ePlatynum Pro\u003c\/strong\u003e, \u003cstrong\u003eExtra Body Cream\u003c\/strong\u003e and \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✔️ Poodles — shaping and holding the topknot for shows and grooming competitions.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Bichons, Maltese — coat volume and structure hold, topknot\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Wire-haired Terriers (West Highland, Scottish, Welsh…) — setting the trimmed silhouette and\/or shaping the head\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Shih Tzus, Yorkshire Terriers — show topknot.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 0;\"\u003e✔️ All breeds with show volume — invisible professional finish.\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;\"\u003eNatural Resins | Professional Use | PEHD02 Recyclable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"500mL","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 SPECIAL ONE quick-drying and cooling towel for dogs","description":"\u003ch2 data-section-id=\"2vd47b\" data-start=\"66\" data-end=\"157\"\u003eICEPET Cooling Towel for Dogs by Special One – Fast Cooling and Accelerated Drying\u003c\/h2\u003e\n\u003ch3 data-section-id=\"80teps\" data-start=\"159\" data-end=\"225\"\u003eDual purpose: immediate cooling and ultra-fast drying\u003c\/h3\u003e\n\u003cp data-start=\"226\" data-end=\"404\"\u003eThe ICEPET cooling towel by Special One is designed to help your dog better tolerate the heat while providing fast drying after bathing or outdoor activities.\u003c\/p\u003e\n\u003cp data-start=\"406\" data-end=\"575\"\u003eMade from highly absorbent PVA material, it provides effective cooling by simply immersing it in water. It activates quickly, easily, and effortlessly.\u003c\/p\u003e\n\u003chr data-start=\"577\" data-end=\"580\"\u003e\n\u003ch2 data-section-id=\"1hevikx\" data-start=\"582\" data-end=\"641\"\u003eBenefits of the cooling towel for dogs\u003c\/h2\u003e\n\u003cul data-start=\"643\" data-end=\"944\"\u003e\n\u003cli data-section-id=\"fqetun\" data-start=\"643\" data-end=\"699\"\u003eInstant cooling during hot weather\u003c\/li\u003e\n\u003cli data-section-id=\"16y44wr\" data-start=\"700\" data-end=\"746\"\u003eFast drying after swimming or walks\u003c\/li\u003e\n\u003cli data-section-id=\"1uzi3kr\" data-start=\"747\" data-end=\"779\"\u003eUltra-absorbent PVA material\u003c\/li\u003e\n\u003cli data-section-id=\"11avmue\" data-start=\"780\" data-end=\"815\"\u003eSimple activation with water\u003c\/li\u003e\n\u003cli data-section-id=\"fisjmg\" data-start=\"816\" data-end=\"853\"\u003eLong-lasting cooling effect\u003c\/li\u003e\n\u003cli data-section-id=\"t9oyl4\" data-start=\"854\" data-end=\"896\"\u003eReusable and easily reactivated\u003c\/li\u003e\n\u003cli data-section-id=\"aabm6w\" data-start=\"897\" data-end=\"944\"\u003eSuitable for indoor and outdoor use\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\"\u003eTechnical specifications\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\"\u003eMaterial: high-performance PVA\u003c\/li\u003e\n\u003cli data-section-id=\"yf09cj\" data-start=\"1047\" data-end=\"1096\"\u003eTechnology: evaporative cooling\u003c\/li\u003e\n\u003cli data-section-id=\"1k7rkvb\" data-start=\"1097\" data-end=\"1132\"\u003eSuitable for all types of dogs\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\"\u003eWhy choose this cooling towel for dogs?\u003c\/h2\u003e\n\u003cp data-start=\"1205\" data-end=\"1288\"\u003eThis towel is ideal in summer or during high temperatures. It helps to:\u003c\/p\u003e\n\u003cul data-start=\"1290\" data-end=\"1466\"\u003e\n\u003cli data-section-id=\"22zjwc\" data-start=\"1290\" data-end=\"1336\"\u003eRegulate the dog's body temperature\u003c\/li\u003e\n\u003cli data-section-id=\"18xldz0\" data-start=\"1337\" data-end=\"1378\"\u003eReduce heat-related risks\u003c\/li\u003e\n\u003cli data-section-id=\"gb5w8h\" data-start=\"1379\" data-end=\"1428\"\u003eProvide an immediate cooling sensation\u003c\/li\u003e\n\u003cli data-section-id=\"17oam2q\" data-start=\"1429\" data-end=\"1466\"\u003eImprove everyday comfort\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-start=\"1468\" data-end=\"1547\"\u003eIt is a simple and effective solution for protecting your pet from the heat.\u003c\/p\u003e\n\u003chr data-start=\"1549\" data-end=\"1552\"\u003e\n\u003ch2 data-section-id=\"1azcm7d\" data-start=\"1554\" data-end=\"1570\"\u003eInstructions for use\u003c\/h2\u003e\n\u003ch3 data-section-id=\"z14ncp\" data-start=\"1572\" data-end=\"1598\"\u003eFirst use\u003c\/h3\u003e\n\u003cp data-start=\"1599\" data-end=\"1712\"\u003eImmerse the towel in water for about one minute, then gently squeeze it to remove excess water.\u003c\/p\u003e\n\u003ch3 data-section-id=\"16aaxmt\" data-start=\"1714\" data-end=\"1731\"\u003eUse\u003c\/h3\u003e\n\u003cul data-start=\"1732\" data-end=\"1912\"\u003e\n\u003cli data-section-id=\"wg8cir\" data-start=\"1732\" data-end=\"1773\"\u003eWrap the dog in the towel\u003c\/li\u003e\n\u003cli data-section-id=\"z08fyv\" data-start=\"1774\" data-end=\"1816\"\u003eOr place it directly on your dog's body\u003c\/li\u003e\n\u003cli data-section-id=\"zsgd9d\" data-start=\"1817\" data-end=\"1912\"\u003eIt can also be placed under the paws for optimal cooling\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-start=\"1914\" data-end=\"2009\"\u003eWhen the towel starts to dry, simply dip it back into the water to reactivate it.\u003c\/p\u003e\n\u003chr data-start=\"2011\" data-end=\"2014\"\u003e\n\u003ch2 data-section-id=\"yat78p\" data-start=\"2016\" data-end=\"2042\"\u003eAlternative use\u003c\/h2\u003e\n\u003cul data-start=\"2044\" data-end=\"2117\"\u003e\n\u003cli data-section-id=\"nzjtmy\" data-start=\"2044\" data-end=\"2117\"\u003eCan also be used as a drying towel for your dog\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\"\u003eCare and storage\u003c\/h2\u003e\n\u003ch3 data-section-id=\"1hwmkvs\" data-start=\"2154\" data-end=\"2169\"\u003eCleaning\u003c\/h3\u003e\n\u003cp data-start=\"2170\" data-end=\"2226\"\u003eMachine-washable or hand-washable with a mild detergent\u003c\/p\u003e\n\u003ch3 data-section-id=\"zumylh\" data-start=\"2228\" data-end=\"2242\"\u003eStorage\u003c\/h3\u003e\n\u003cp data-start=\"2243\" data-end=\"2305\"\u003eStore in the tube provided or keep slightly damp\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\"\u003eThe towel may become stiff as it dries.\u003cbr data-start=\"2367\" data-end=\"2370\"\u003eDo not fold when dry.\u003cbr data-start=\"2405\" data-end=\"2408\"\u003eTo reuse it, simply rehydrate it so it regains its flexibility.\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 for Cavalier King Charles grooming shows","description":"\u003cp\u003e\u003cspan\u003eThe dry coat allows you to finish brushing by perfectly flattening your dog's coat.\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;\"\u003eHow does this revolutionary coat work?\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\u003eThis Dry Dog Coat brand is particularly popular at dog shows for its many qualities.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eYour dogs' coats will remain straight, shiny, and perfectly conditioned for the show! This DryDogCoat will allow you to achieve styling that no brushing can match.\u003c\/strong\u003e You will therefore be able to:\u003c\/p\u003e\u003cp\u003e• control the neck volume, which will enhance the animal's elegance and improve its shoulder\u003c\/p\u003e\u003cp\u003e• set the coat along the entire backline, without unsightly cowlicks that create a poor impression and penalize the dog\u003c\/p\u003e\u003cp\u003e• perfectly flatten all unruly hairs, flipped-up strands, and even curly tufts\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cdiv\u003e\u003cstrong\u003eWhen should it be used?\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cstrong\u003eThere is only one way to use it: the DryCoat is used after a standard grooming session. Start with a thorough bath and detangling. Remember to use \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\"\u003eexcellent cosmetic products when grooming\u003c\/a\u003e your pets; the result will only be better and longer-lasting.\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003eAfter bathing, take the utmost care when applying the conditioner, and be meticulous when \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. Once the dog is dry, carefully and neatly put the dry dog coat onto a well-conditioned coat. Make sure that the position that will be set corresponds to your expectations... Do not expect satisfactory results if the coat is untidy and tousled... The more difficult your show dog's coat is to style, the longer you should leave the coat in place. This can range from 30 minutes to an entire night, depending on the desired intensity.\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\u003eWhat we liked:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\n\u003ch6\u003e☑ Its outstanding effectiveness\u003c\/h6\u003e\n\u003ch6\u003e☑ Ease of use\u003c\/h6\u003e\n\u003ch6\u003e☑ Handmade\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;\"\u003eSize guide\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\u003eThree sizes available:\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\" corresponds to a total length (from the tail attachment to the eyes) of 55 cm, following the back, neck, and skull closely\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003e23\" corresponds to a total length of 58 cm\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan class=\"hps\"\u003e24\" corresponds to 61 cm\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":"snood-de-sechage-cache-oreilles-anti-bruits","title":"Drying snood - ear cover for noise protection","description":"\u003cp\u003eIdeal for preventing drying-related stress in dogs. Noise-reducing, it will significantly calm any animal that is agitated or frightened by the sound of the dryer.\u003c\/p\u003e\u003cbr\u003e\u003cdiv class=\"bloc_logo_marque\"\u003e\n\u003ch1\u003e\u003cspan\u003eThis drying snood was designed to calm dogs and reduce stress in a grooming salon, at home, in bad weather, or even during fireworks. \u003c\/span\u003e\u003c\/h1\u003e\n\u003cp\u003e\u003cspan\u003eThe ear cover is made from a comfortable, soft, stretchy fabric that calms the dog through compression around the head and ears... helping to muffle sound. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eIt can also be used to hold the ears in place during grooming or in other stressful situations, such as clipping the nails. Available in 4 sizes to fit all breeds. \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 pre-bath green clay mask","description":"\u003cbody\u003e\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\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;\"\u003e\n \u003cstrong\u003eDETOX THERAPY\u003c\/strong\u003e is Special One's professional pre-bath mask formulated with green clay — \u003cem\u003ethe \"earth that heals a thousand ills\"\u003c\/em\u003e — to combat the main skin abnormalities in dogs and cats. \u003cstrong\u003ePurifying, antiseptic, regenerative\u003c\/strong\u003e: a natural and effective remedy from the first treatment.\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;\"\u003eWho is this product for?\u003c\/span\u003e\n \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find real value in it — as a treatment for animals with skin abnormalities and as a preventive measure for predisposed breeds.\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✅ Groomers\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✅ Breeders\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✅ Individuals\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✅ Competitors\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!-- 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; Results\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eFormulated with \u003cstrong\u003egreen clay with a controlled bacterial load\u003c\/strong\u003e, rich in trace elements and mineral salts, Detox Therapy has extraordinary purifying, toning, and anti-aging properties. It treats skin abnormalities \u003cstrong\u003ewhile preserving the hydrolipidic film\u003c\/strong\u003e — without being harsh on the skin, even on the most sensitive animals.\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\u003eHealthy skin:\u003c\/strong\u003e Treats skin problems while preserving the hydrolipidic film, without being harsh.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eOdor control:\u003c\/strong\u003e Fights unpleasant odors associated with epidermal imbalances and poor sebum management.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eVersatile:\u003c\/strong\u003e Helps combat all forms of alopecia, itching, irritation, and hot spots.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDeep cleansing:\u003c\/strong\u003e Purifies and regenerates cells from the first treatment.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRebalancing:\u003c\/strong\u003e Regulates excess sebum and rebalances both oily and dehydrated skin.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eTissue oxygenation:\u003c\/strong\u003e Tones and stimulates skin microcirculation, improving the skin's oxygenation and vitality.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-dandruff:\u003c\/strong\u003e Regulates the scalp and reduces flaking.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eSoothing:\u003c\/strong\u003e Relieves irritated or reactive skin — ideal after hair removal or vigorous brushing.\u003c\/li\u003e\n \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDetoxifying \u0026amp; refreshing:\u003c\/strong\u003e Deeply cleanses while providing an immediate feeling of freshness.\u003c\/li\u003e\n \u003cli\u003e✅ \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from babies to seniors.\u003c\/li\u003e\n \u003c\/ul\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\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;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA 100% natural formula focused on skin cleansing, protection, and regeneration — paraben-free and silicone-free.\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🍀 Green Clay (Fuller’s Earth)\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eWith a controlled bacterial load: absorbent, antiseptic, and antibacterial. Captures sebum and impurities, purifies, and deeply regenerates the skin.\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🍀 Allantoin\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eSoothing and regenerative — protects the skin from redness and irritation and promotes the healing of sensitive areas.\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🍀 Fucus Vesiculosus Algae Extract\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRich in marine minerals — improves skin elasticity and gives the coat natural strength and shine.\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🍀 Hydrolyzed Collagen\u003c\/strong\u003e\u003cbr\u003e\n \u003cspan style=\"font-size: 11px; color: #666;\"\u003eHydrates and strengthens the skin’s structure — improves the elasticity and overall health of the coat.\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;\"\u003eRegulates cellular hydration and maintains the skin’s elasticity for a supple, resilient coat.\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;\"\u003eStrengthens the skin’s natural defenses — helps it better protect itself against external aggressors and irritation.\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;\"\u003eA complex of rebalancing active ingredients that keeps the skin clean and fresh over time — fights unpleasant odors and dandruff.\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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\u003c\/span\u003e\n \u003cdiv style=\"margin-bottom: 10px; padding: 12px 15px; background: #fff; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n 💡 \u003cstrong\u003eAlways apply to dry, still-dirty fur.\u003c\/strong\u003e Do not rinse before shampooing — apply the first shampoo directly onto the treatment mask.\n \u003c\/div\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\u003eExample 1 🔥 Standard application — cleansing \u0026amp; purification\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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. Dilute Detox Therapy with water (\u003cstrong\u003e1\/10 to 1\/20\u003c\/strong\u003e, depending on the desired intensity) or apply \u003cstrong\u003eundiluted to areas requiring targeted, intensive treatment\u003c\/strong\u003e.\u003cbr\u003e\n 2. Apply to dry, dirty fur. Gently massage to work the mask in.\u003cbr\u003e\n 3. Leave on for \u003cstrong\u003e5 to 10 minutes\u003c\/strong\u003e.\u003cbr\u003e\n 4. Without rinsing, apply \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e shampoo directly onto the treatment mask.\u003cbr\u003e\n 5. Finish with a conditioner: \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e and\/or \u003cstrong\u003eBombastic\u003c\/strong\u003e.\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\u003eExample 2 🔥 Curative treatment — alopecia, itching, hot spots, irritation\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 For animals presenting identified skin abnormalities:\u003cbr\u003e\n 1. Apply the mask \u003cstrong\u003epure to the affected areas\u003c\/strong\u003e (hot spots, itchy areas, patches of alopecia).\u003cbr\u003e\n 2. Dilute to \u003cstrong\u003e1\/10\u003c\/strong\u003e for application to the rest of the body.\u003cbr\u003e\n 3. Massage gently and leave on for at least \u003cstrong\u003e10 minutes\u003c\/strong\u003e for maximum therapeutic action.\u003cbr\u003e\n 4. Proceed directly to \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e without rinsing beforehand.\u003cbr\u003e\n This protocol can be repeated at every bath until visible improvement in the skin condition.\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\u003eExample 3 🔥 Post-stripping — treatment \u0026amp; healthy regrowth\u003c\/span\u003e\n \u003cspan style=\"font-size: 10px; color: #888;\"\u003eEXPAND ▼\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 is particularly recommended \u003cstrong\u003eimmediately after stripping\u003c\/strong\u003e:\u003cbr\u003e\n 1. Apply the pure or slightly diluted mask to the still-dry stripped areas.\u003cbr\u003e\n 2. Massage gently — the green clay instantly soothes sensitive skin after stripping.\u003cbr\u003e\n 3. Leave on for 5 to 10 minutes, then move on to \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e without rinsing.\u003cbr\u003e\n The purifying and regenerating action of the clay prepares the follicles for \u003cstrong\u003ehealthy, high-quality regrowth\u003c\/strong\u003e.\n \u003c\/div\u003e\n \u003c\/details\u003e\n \u003c\/div\u003e\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;\"\u003eRecommended Combinations \u0026amp; Breeds\u003c\/span\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eThe entire Special One range is compatible with Detox Therapy. Our preferred combinations:\u003c\/p\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n 🤝 \u003cstrong\u003eAqua Terme Pro\u003c\/strong\u003e as a shampoo (systematic combination recommended) ·\n 🤝 \u003cstrong\u003eHydrating Cream, Bombastic, Aqua Dolce\u003c\/strong\u003e as a final mask\n \u003c\/p\u003e\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✔️ All cats and dogs presenting the skin abnormalities mentioned above — for curative use.\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ All breeds that are hand-stripped — immediate post-stripping treatment for beautiful regrowth.\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;\"\u003eBreeds for which preventive use is recommended\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ French Bulldogs \u0026amp; Pugs — folded skin, seborrhea, and frequent irritation.\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Chinese Crested Dog — hairless skin particularly exposed to external aggressors.\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Golden Retriever — prone to irritation and excess sebum.\u003c\/td\u003e\n \u003c\/tr\u003e\n \u003ctr\u003e\n \u003ctd style=\"padding: 10px 0;\"\u003e✔️ Shar-Pei — deeply folded skin, prone to infections and skin imbalances.\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;\"\u003eOver 90% biodegradable | Paraben-, DEA-, and silicone-free | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\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, clay care shampoo","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\u003eAQUA TERME PRO\u003c\/strong\u003e is the professional Special One shampoo formulated with \u003cstrong\u003egreen clay and mint\u003c\/strong\u003e, designed for skin requiring a treatment action. It \u003cstrong\u003edeeply purifies and cleanses\u003c\/strong\u003e while respecting the hydrolipidic film — with no compromise on results: a superb appearance and perfect blow-dry.\n \u003c\/div\u003e\n \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n It is also \u003cstrong\u003ethe ideal shampoo for dogs with odor problems\u003c\/strong\u003e: thanks to Aqua Terme, every dog finishes grooming with a wonderfully fresh scent.\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it genuinely beneficial — for \u003cstrong\u003etreatment\u003c\/strong\u003e in animals with skin abnormalities, and for \u003cstrong\u003eprevention\u003c\/strong\u003e in predisposed breeds.\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\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003ePet owners\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\"\u003eCompetitors\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 \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 \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; Results\u003c\/h2\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThanks to its \u003cstrong\u003egreen clay and mint extract\u003c\/strong\u003e content, Aqua Terme Pro deeply purifies, soothes dehydrated or reactive skin, and restores shine and freshness to dull coats. Its treatment formula has no impact on grooming quality: \u003cstrong\u003etherapeutic action and impeccable visual results go hand in hand\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\"\u003eHealthy skin\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eTreats skin problems while preserving the hydrolipidic film, without being harsh.\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\"\u003eOdor control\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eFights unpleasant odors associated with epidermal imbalances and sebum.\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\"\u003eVersatile\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eHelps combat alopecia, itching, irritation, and 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\"\u003eCleansing \u0026amp; purification\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eDeeply cleanses and regenerates cells from the first use.\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-dandruff\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eRegulates the scalp and significantly reduces flakes.\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\"\u003eSoothing\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eSoothes irritated or reactive skin — ideal after hair removal or vigorous brushing.\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\"\u003eSoftness \u0026amp; freshness\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eAdds shine and freshness to dull, lifeless coats.\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\"\u003eBody for fine coats\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eAdds body to very fine hair that lacks volume (e.g., gray and red Poodles).\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\"\u003eDetoxifying \u0026amp; refreshing\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eRemoves toxins and impurities from the skin, providing an immediate sensation of freshness.\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\"\u003eSpitz alopecia X\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eRecommended as a weekly bath in the follow-up and regrowth protocol.\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\"\u003eExceptional lather\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eLathers beautifully in the salon: easy application and effective delivery of the active ingredients.\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\"\u003eProfessional results\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eUncompromising treatment action — superb appearance and perfect blow-dry.\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 \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;\"\u003eUnderstanding the actions of Aqua Terme Pro\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed breakdown of its cosmetic performance, note by 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\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 \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 \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 \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;\"\u003eAqua Terme Pro composition: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eAn entirely natural mineral and plant-based complex — \u003cstrong\u003egreen clay, mint, and purifying plants\u003c\/strong\u003e, with no SLS, parabens, or silicone. Here is how each active ingredient works on the skin and hair, zone by zone.\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=\"Skin and hair anatomy diagram illustrating the targeted action of 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 \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 \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 \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 \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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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\"\u003eOne part to 20 parts water\u003cbr\u003e— or undiluted\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\"\u003eYield\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\"\u003eready to use\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\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e of finished product\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\u003eby 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\u003eby weight\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\"\u003etablespoons\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\"\u003epump presses\u003c\/span\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 \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\"\u003eQuick grooming \u0026amp; skin soothing\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\"\u003eFor an effective and soothing everyday bath\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\"\u003eFirst shampoo\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eStart the bath directly with \u003cstrong\u003ediluted Aqua Terme Pro\u003c\/strong\u003e on wet hair. Rinse.\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 shampoo\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply a \u003cstrong\u003esecond shampoo\u003c\/strong\u003e, then rinse again.\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\"\u003eFinish\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with the conditioner suited to the need: \u003cstrong\u003eHydrating Cream, Bombastic or 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\n \u003cspan class=\"aqr-proto-title\"\u003eBath \u0026amp; deep treatment — skin requiring intensive action\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\"\u003eFor skin showing marked abnormalities\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\"\u003eDetox pre-bath mask\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply the pre-bath mask \u003cstrong\u003eDetox Therapy for 10 minutes\u003c\/strong\u003e to dry hair.\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\"\u003eNo-rinse sequence\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFollow directly with \u003cstrong\u003eAqua Terme Pro without rinsing\u003c\/strong\u003e between the two 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 shampoo \u0026amp; leave-on time\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse, then shampoo again. \u003cstrong\u003eLeave on for 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\"\u003eRestorative finish\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with \u003cstrong\u003eHydrating Cream + 4 Elements Oils\u003c\/strong\u003e, then rinse out the conditioner.\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 \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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Aqua Terme Pro. Our preferred combinations:\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea pre-bath mask is needed…\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 (systematically recommended)\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ea finishing treatment is needed…\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\"\u003eIF\u003c\/span\u003e \u003cspan\u003ethe skin is highly reactive…\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 + 4 Elements Oils\u003c\/strong\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 \u003c!-- Races en pilules arrondies --\u003e\n \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Aqua Terme Pro makes the difference:\u003c\/h3\u003e\n \u003cdiv class=\"aqr-races-mosaic\"\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🦊 Spitz · Alopecia X \u003cspan\u003e(weekly bath: hold, growth \u0026amp; density)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐩 Grey, red \u0026amp; fawn Poodles \u003cspan\u003e(fine hair: hold \u0026amp; regrowth)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐱 Cats \u0026amp; dogs with skin abnormalities \u003cspan\u003e(therapeutic use)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e✂️ Plucked breeds \u003cspan\u003e(post-plucking regrowth)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐶 French Bulldogs \u0026amp; Pugs \u003cspan\u003e(folds, seborrhea, irritation)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐕 Chinese Crested Dog \u003cspan\u003e(exposed hairless skin)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🦮 Golden Retriever \u003cspan\u003e(irritation \u0026amp; excess sebum)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐺 Shar-Pei \u003cspan\u003e(deep folds, skin imbalances)\u003c\/span\u003e\u003c\/span\u003e\n \u003c\/div\u003e\n \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eNon-exhaustive list — for both treatment and prevention on sensitive and predisposed skin.\u003c\/p\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=\"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;\"\u003eOver 90% biodegradable | SLS-, DEA-, paraben-, and silicone-free | Not tested on animals | 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":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 \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 is an \u003cstrong\u003eexceptional revitalizing and conditioning after-shampoo mask\u003c\/strong\u003e. Formulated to enhance all coats, it provides intensive action to \u003cstrong\u003erestore the vitality and body of stressed fur\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;\"\u003eWho is this product for?\u003c\/h2\u003e\n \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it genuinely beneficial! It is the \u003cstrong\u003eultimate versatile treatment\u003c\/strong\u003e for \u003cem\u003efrizzy\u003c\/em\u003e coats and coats made tired by brushing or the climate.\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\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\"\u003eGroomers\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\"\u003eBreeders\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\"\u003eIndividuals\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\"\u003eCompetitors\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 \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 \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; Results\u003c\/h2\u003e\n \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThrough its management of \u003cstrong\u003ecoat permeability\u003c\/strong\u003e, Aqua Dolce eliminates \u003cstrong\u003efrizz\u003c\/strong\u003e and fiber fatigue \u003cstrong\u003ewithout ever becoming greasy\u003c\/strong\u003e. It restructures the coat after summer or intensive brushing.\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\"\u003eCoating \u0026amp; Hold\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eEnhances shine and ensures \u003cstrong\u003ebetter grooming hold\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-Frizz\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003e\n\u003cstrong\u003eInstantly eliminates frizz\u003c\/strong\u003e and tames the coat.\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\"\u003eDetangling\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eMakes combing easier and \u003cstrong\u003eprevents knots from returning\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\"\u003eRepair\u003c\/div\u003e\n \u003cdiv class=\"aqr-benefit-desc\"\u003eRestores vitality and \u003cstrong\u003etreats split ends\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\u003eShield\u003c\/strong\u003e against chemical and environmental agents.\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 \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;\"\u003eA better understanding of Aqua Dolce’s effects\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eThe details of its cosmetic performance, note by 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\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 \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 \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 \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;\"\u003eAqua Dolce composition: 4 duos of synergistic active ingredients\u003c\/h2\u003e\n \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA \u003cstrong\u003eformula enriched with premium proteins and soothing botanical extracts\u003c\/strong\u003e—four duos of active ingredients with complementary properties.\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=\"Diagram of the skin and coat anatomy illustrating Aqua Dolce’s targeted action\" 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 \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 \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 \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 \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💧 The Aqua Dolce signature\u003c\/span\u003e\n \u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eManaging coat permeability\u003c\/p\u003e\n \u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eA healthy coat has \u003cstrong\u003ebalanced permeability\u003c\/strong\u003e: neither too closed (brittle, dull) nor too open (dry, frizzy, tired). When summer, a dry climate, or intensive brushing disrupts this balance, the coat \u003cem\u003edrinks\u003c\/em\u003e too much and loses its cohesion. Aqua Dolce \u003cstrong\u003erestores this optimal permeability\u003c\/strong\u003e through its Silk \u0026amp; Milk duo—the coat regains its elasticity, frizz disappears, \u003cstrong\u003ewithout ever becoming greasy\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;\"\u003eProtocols \u0026amp; Usage Suggestions\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\"\u003eReference dilution\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 teaspoon to 1 tablespoon\u003cbr\u003eper litre — or pure\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\"\u003eYield\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\"\u003eready to use\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 of ready-to-use product\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\u003eby 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\u003eby weight\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\"\u003etablespoon\u003c\/span\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 \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\n \u003cdiv\u003e\n \u003cspan class=\"aqr-proto-title\"\u003eQuick grooming or Sculpted volume\u003c\/span\u003e\n \u003cp class=\"aqr-proto-subtitle\"\u003eTwo modes depending on the desired result\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\"\u003eClassic treatment — sculpting\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eDilute \u003cstrong\u003e1 tbsp \/ L of lukewarm water\u003c\/strong\u003e. Apply to the lengths, massage, and comb through. \u003cstrong\u003eDo not rinse\u003c\/strong\u003e for maximum sculpting (can be used up to pure product).\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\"\u003eSculpted volume\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eDilute \u003cstrong\u003e1 tsp\u003c\/strong\u003e in the required volume of water. Leave on for \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\"\u003eRinsing according to the mode\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eMode A: no rinsing. Mode B: \u003cstrong\u003erinse thoroughly\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\"\u003eSmoothing or repairing action\u003c\/span\u003e\n \u003cp class=\"aqr-proto-subtitle\"\u003eFor damaged areas and split ends\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\"\u003eDamaged areas\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply the product \u003cstrong\u003epure directly to the area\u003c\/strong\u003e. Leave on for \u003cstrong\u003e5 minutes\u003c\/strong\u003e, then rinse quickly.\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\"\u003eSplit ends\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eOn towel-dried hair, apply \u003cstrong\u003ea small amount of pure product only to the ends before drying\u003c\/strong\u003e. \u003cstrong\u003eDo not rinse.\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-purpose — Brushing \u0026amp; Papillotes\u003c\/span\u003e\n \u003cp class=\"aqr-proto-subtitle\"\u003eThe versatility of 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\"\u003eBrushing spray\u003c\/div\u003e\n \u003cdiv class=\"aqr-proto-step-desc\"\u003eUse Aqua Dolce \u003cstrong\u003ediluted in a brushing spray\u003c\/strong\u003e to maintain the coat between baths.\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\"\u003eUse it \u003cstrong\u003epure in papillotes\u003c\/strong\u003e to protect growing coats.\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: #f0f7ff; border-left: 3px solid #4a90d9; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e\n 💡 \u003cstrong\u003ePRO TIP:\u003c\/strong\u003e for the ultimate \u003cstrong\u003e“Show” result\u003c\/strong\u003e, mix Aqua Dolce with \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e or \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 \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;\"\u003eRecommended Combinations \u0026amp; Breeds\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\u003eFavorite combinations\u003c\/strong\u003e: \u003cstrong\u003eBain Pro \/ Aquarosa Pro\u003c\/strong\u003e (shampoos), \u003cstrong\u003eBio Energy\u003c\/strong\u003e (pre-bath), \u003cstrong\u003eMix Pink \/ Aqua Beauty\u003c\/strong\u003e (finishing).\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003emaximum sculpting desired…\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 tbsp \/ L — no rinsing\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003edesired sculpted volume…\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 tsp \/ L — thorough rinsing\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003elocalized damaged areas…\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\u003ePure product, leave on for 5 minutes, quick 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\"\u003eYES\u003c\/span\u003e \u003cspan\u003eultimate “Show” result…\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 with Hydrating Cream or 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\"\u003eYES\u003c\/span\u003e \u003cspan\u003edaily maintenance between baths…\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\u003eDiluted brushing spray\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\"\u003eYES\u003c\/span\u003e \u003cspan\u003epapillotes for growing coats…\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\u003ePure Aqua Dolce in papillotes\u003c\/strong\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 \u003c!-- Races en pilules arrondies --\u003e\n \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Aqua Dolce makes the difference:\u003c\/h3\u003e\n \u003cdiv class=\"aqr-races-mosaic\"\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats \u003cspan\u003e(degreasing and smoothing action)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly coats \u003cspan\u003e(Poodles, Bichons, Kerry Blue Terriers)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐶 Long, silky coats \u003cspan\u003e(Yorkshire, Shih Tzu, Afghan Hounds)\u003c\/span\u003e\u003c\/span\u003e\n \u003cspan class=\"aqr-race-tag\"\u003e🐕 Double-coated \u0026amp; primitive breeds \u003cspan\u003e(Spitz, Shepherds, Samoyeds, Collies)\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;\"\u003eThe ultimate all-purpose treatment — from the pampered house cat to the show champion.\u003c\/p\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=\"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;\"\u003eOver 90% biodegradable | Free from SLES, DEA, parabens, and silicone | Not tested on animals | PEHD02 Recyclable\u003c\/p\u003e\n \u003c\/div\u003e\n \u003c\/div\u003e\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 (corded)","description":"Heiniger Saphir Cord (with cable)\u003cbr\u003eProfessional corded clipper for grooming dogs and cats.\u003cbr\u003e\u003cbr\u003eSturdy and durable.\u003cbr\u003eErgonomic, lightweight, and weight-balanced to prevent fatigue.\u003cbr\u003eConvertible to a battery-operated clipper (HE0012 battery and HE0011 charging station not included).\u003cbr\u003e \u003cbr\u003eTECHNICAL DATA\u003cbr\u003e- 1 speed: 3,200 rpm.\u003cbr\u003e- Weight: 330 g.\u003cbr\u003e- Dimensions: 20.4 x 5 x 4.1 cm.\u003cbr\u003e- Cable length: 3 m.\u003cbr\u003e- Uses universal blades (Ibanez, Wahl, Moser, Andis, Oster).\u003cbr\u003e \u003cbr\u003e\u003cbr\u003e\u003cbr\u003eINCLUDES:\u003cbr\u003e- 1 Heiniger No. 10 blade (1.5 mm).\u003cbr\u003e- Cleaning brush and oil.\u003cbr\u003e\u003cbr\u003e1-year Ibanez professional warranty.","brand":"Setter Bakio S.L.","offers":[{"title":"Lawn mower","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\/files\/heiniger-saphir-cord-cortapelo-perro_b07352c7-f869-435c-8665-67297f9bd9fe.jpg?v=1792226379"},{"product_id":"pulseur-sechoir-volcano-options-murale-sur-pied","title":"VOLCANO dryer blower (118 L\/s airflow)","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;\"\u003eThe Ibáñez \u003cstrong\u003eVOLCANO BLOWER DRYER\u003c\/strong\u003e is a \u003cstrong\u003eprofessional 2-in-1 dryer\u003c\/strong\u003e — an expulsion blower and complete dryer in one device. Modern, lightweight, and compact, it reduces frizz and leaves the coat shiny, smooth, and easy to style. Its powerful motor (up to 95 m\/s, 250 CFM) makes it ideal for high-volume salons while remaining quiet to minimize animal stress. \u003cstrong\u003e1-year warranty — Ibáñez professional warranty.\u003c\/strong\u003e\n\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;\"\u003eBenefits \u0026amp; Results\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 20px;\"\u003eDesigned for daily use and intensive professional work, the Volcano combines the power of an expulsion blower with the versatility of a complete dryer. Its lightweight, compact design makes it equally at home in a fixed salon, grooming van, or at a show.\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\u003e2-in-1 blower \u0026amp; dryer:\u003c\/strong\u003e Full speed without heat + narrow nozzle = blower. Adjustable speed + temperature + suitable nozzles = dryer.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003ePowerful and quiet motor:\u003c\/strong\u003e 95 m\/s and 250 CFM, at just 82 dB — high performance without stressing the animal.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLightweight, compact and stable:\u003c\/strong\u003e Easy to transport and designed to fit any environment — salon, home, show, or van.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eNon-heating handle:\u003c\/strong\u003e Heat-resistant neoprene handle for safe, comfortable handling during long sessions.\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eHigh-quality materials\u003c\/strong\u003e — built to last with a one-year Ibáñez professional warranty.\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;\"\u003eUse\u003c\/h2\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThe Volcano can be used in two ways depending on your needs. In \u003cstrong\u003eblower mode\u003c\/strong\u003e: set it to full speed, with no heat, using the narrow nozzle to quickly expel water from the coat. In \u003cstrong\u003edryer mode\u003c\/strong\u003e: adjust the speed, activate one of the two heat settings, and choose the nozzle suited to the type of coat being worked on.\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; margin-bottom: 0;\"\u003eThe expandable hose offers great freedom of movement. The nozzle-changing system is simple and secure. The nozzle is reinforced with non-slip foam, improving grip and reducing fatigue during long sessions. The hose and filter are easy to remove for daily cleaning.\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;\"\u003eTechnical Information\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\u003eMotor\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e1 motor — power consumption from 2,200 W to 2,800 W\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\u003eMaximum speed\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e95 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\u003eAirflow\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003eUp to 250 CFM \/ 118 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\u003eHeat control\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e2 heat settings — maximum increase of 48 °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\u003eExpandable hose\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e70 to 230 cm — 5.2 cm diameter\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\u003eIncluded nozzles\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003e3 interchangeable nozzles\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\u003eNoise level\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff;\"\u003e82 dB\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\u003eHandle\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9;\"\u003eHeat-resistant neoprene handle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff;\"\u003e\u003cstrong\u003eWarranty\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff;\"\u003e1 year — Ibáñez professional warranty\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c!-- BLOC 5 : COMPARATIF VOLCANO VS FORCETEK --\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;\"\u003eVolcano vs ForceTek — Which blower should you choose?\u003c\/h2\u003e\n\u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003eBoth Ibáñez blowers are very high-quality professional tools. Here are the key differences to help you choose:\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; width: 30%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; width: 35%; text-align: center;\"\u003eVolcano\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #1a1a1a; color: #fff; font-weight: 600; width: 35%; text-align: center;\"\u003eForceTek\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;\"\u003e\u003cstrong\u003eMotors\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e1 motor\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e2 motors\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\u003eMax. speed\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e95 m\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e77 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\u003eAirflow\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e250 CFM \/ 118 l\/s\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e310 CFM \/ 146 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\u003eTemperature\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e2 levels — max. 48 °C\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003eAdjustable 37 °C – 67 °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\u003eHose\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e70 – 230 cm\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #fff; text-align: center;\"\u003e90 – 180 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\u003eIonizer\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e✅ Yes\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; border-bottom: 1px solid #eee; background: #f9f9f9; text-align: center;\"\u003e—\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff;\"\u003e\u003cstrong\u003eWarranty\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff; text-align: center;\"\u003e1-year Ibáñez\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 12px; background: #fff; text-align: center;\"\u003e1-year Ibáñez\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📌 In summary:\u003c\/strong\u003e The \u003cstrong\u003eVolcano\u003c\/strong\u003e is ideal if you prioritize lightness, compactness, the very long hose, and the integrated ionizer. The \u003cstrong\u003eForceTek\u003c\/strong\u003e is the right choice if you need maximum airflow and precise temperature control.\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;\"\u003eFrequently Asked Questions\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\"\u003eCan the Volcano be used solely as a blower, without heat?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eYes. At full speed, without heat and with the narrow nozzle, it works as an expulsion blower. By adjusting the speed, temperature, and nozzles, it becomes a complete dryer.\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\"\u003eHow do you maintain the Volcano Blower Dryer?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eThe hose and filter are easy to remove, clean, and put back in place for simple and effective daily maintenance.\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\"\u003eIs the Volcano suitable for all coat types?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eYes, thanks to its adjustable speed and temperature settings and its three interchangeable nozzles, it is suitable for all coat types, from the finest to the thickest.\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\"\u003eWhat is the difference between the Volcano Blower and the ForceTek Blower?\u003c\/h3\u003e\n\u003cdiv itemtype=\"https:\/\/schema.org\/Answer\" itemprop=\"acceptedAnswer\" itemscope=\"\"\u003e\n\u003cp style=\"font-size: 13px; margin: 0;\" itemprop=\"text\"\u003eThe Volcano is lighter and more compact (95 m\/s, 250 CFM), making it ideal for salons looking for a versatile, easy-to-transport tool. The ForceTek has two motors for higher airflow (310 CFM) and more precise temperature control (37 °C to 67 °C). Both come with a 1-year Ibáñez warranty.\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 signs that may encourage you to choose the Volcano Blower Dryer\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✅ You are looking for a \u003cstrong\u003elightweight and compact\u003c\/strong\u003e professional dryer, ideal for daily use in a salon or van.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ You want to \u003cstrong\u003ereduce drying time\u003c\/strong\u003e and achieve a shiny, smooth coat that is easy to style.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ You need a versatile \u003cstrong\u003e2-in-1 blower and dryer\u003c\/strong\u003e without having to invest in two separate devices.\u003c\/li\u003e\n\u003cli style=\"margin-bottom: 8px;\"\u003e✅ You want to \u003cstrong\u003eminimize your pet’s stress\u003c\/strong\u003e during drying thanks to a controlled noise level (82 dB).\u003c\/li\u003e\n\u003cli\u003e✅ You are looking for a \u003cstrong\u003ereliable product with a warranty\u003c\/strong\u003e — made from high-quality materials and covered by the 1-year Ibáñez professional warranty.\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-in-1 Blower \u0026 Dryer  | 95 m\/s — 250 CFM | 82 dB | 1-year Ibáñez Professional Warranty\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Setter Bakio S.L.","offers":[{"title":"Pulseur Only","offer_id":37819832860851,"sku":"SH0001 (83)","price":210.0,"currency_code":"EUR","in_stock":true},{"title":"Wall-mounted Support (without blower)","offer_id":37819832893619,"sku":"SH0011","price":33.0,"currency_code":"EUR","in_stock":true},{"title":"Stand + Tube (without blower)","offer_id":37819832926387,"sku":"SH0010","price":141.1,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/expulsor-secador-para-perros_54bd35dd-c981-4a37-8c01-a44f5b36b1f2.jpg?v=1792226379"}],"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\/en\/collections\/toilettage.oembed?page=20","provider":"Petdesign.fr","version":"1.0","type":"link"}