{"title":"Nuevos productos Especial Uno","description":"","products":[{"product_id":"chunker-yulia-14-dents-special-one","title":"Yulia 7\" - Ciseaux Chunker Courbes 24 Dents Special One","description":"\u003cp\u003eLes ciseaux \u003cstrong\u003eYulia\u003c\/strong\u003e de Special One sont des chunkers courbes de 7 pouces, à une seule lame dentée, fabriqués en acier japonais VG10. Ils offrent la puissance d'une lame pleine tout en gardant une marge de sécurité qui évite les erreurs les plus courantes, et désépaississent jusqu'à 90 % du poil pour un travail rapide et précis, même sur les pelages les plus difficiles.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Yulia ?\u003c\/h2\u003e\n\u003cp\u003ePlus qu'un simple chunker, le modèle \u003cstrong\u003eYulia\u003c\/strong\u003e est un outil de précision qui permet des coupes rapides et régulières sur les pelages complexes. La lame dentée adopte un dessin en « L » original : la pointe rappelle le style biseauté (bevel) tout en conservant une lame concave, et les dents fines et rapprochées séparent les mèches de façon homogène. Une grande partie du pelage est retirée dès le premier passage, ce qui laisse très peu de reprises à faire en finition. Un modèle déjà très recommandé par les professionnels du toilettage pour ses performances et sa fiabilité.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Yulia\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLongueur : 7 pouces\u003c\/li\u003e\n\u003cli\u003eType : chunker courbe, une seule lame dentée\u003c\/li\u003e\n\u003cli\u003e24 dents, dessin des dents en « L » : désépaississement jusqu'à 90 %, coupe régulière et sûre\u003c\/li\u003e\n\u003cli\u003eAcier japonais VG10 : grande dureté, longévité et tenue du fil dans le temps\u003c\/li\u003e\n\u003cli\u003ePoignée classique inversée (reverse) avec 2 repose-doigts : confort accru et moins de tension dans la main\u003c\/li\u003e\n\u003cli\u003eSilencieux intégré : coupe plus fluide et plus silencieuse\u003c\/li\u003e\n\u003cli\u003ePivot réglable : tension des lames ajustable selon les préférences du toiletteur\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\n\u003cp\u003eLes ciseaux \u003cstrong\u003eYulia\u003c\/strong\u003e sont faits pour les pelages de texture fine à moyennement fine. Ils excellent sur le Caniche (toy, nain et moyen), le Shih-Tzu, le Poméranien, les races croisées comme le Maltipoo, le Cockapoo et le Cavapoo, ainsi que sur les pelages particulièrement laineux et difficiles à travailler.\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819997618355,"sku":"SO-YULIA","price":330.98,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/chunker-yulia-14-dents-special-one.jpg?v=1793140006"},{"product_id":"27-dents-lizard-ciseaux-thinners-special-one","title":"27 Dents Lizard - Ciseaux Thinners Special One","description":"\u003cp\u003eLes ciseaux \u003cstrong\u003eLizard\u003c\/strong\u003e de Special One sont un chunker fin de 7 pouces, doté de 27 dents robustes et sûres. Fabriqués en acier japonais Hitachi 440C, ils sont conçus pour être universels et finir tous les types de pelage.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Lizard ?\u003c\/h2\u003e\n\u003cp\u003eLeur polyvalence permet de désépaissir, d'estomper et de finir les pelages lisses comme ondulés, ce qui les rend utiles pour une grande variété de travaux en toilettage. Véritable outil de tous les jours, les \u003cstrong\u003eLizard\u003c\/strong\u003e donnent d'excellents résultats même sur les pelages fins et lisses, avec une finition brute et naturelle. Ils préparent le gros du travail avant le lissage final avec le modèle Passion.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Lizard\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLongueur : 7 pouces\u003c\/li\u003e\n\u003cli\u003eType : chunker fin, une seule lame dentée\u003c\/li\u003e\n\u003cli\u003e27 dents robustes en forme de « T »\u003c\/li\u003e\n\u003cli\u003eLame en acier japonais Hitachi 440C : durable et très affûtée\u003c\/li\u003e\n\u003cli\u003ePoignée ergonomique offset : protège la main de la fatigue et aide à prévenir le syndrome du canal carpien\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe : aide à détendre les muscles et à réduire la tension pendant le toilettage\u003c\/li\u003e\n\u003cli\u003ePivot réglable : tension entre les deux lames ajustable selon vos besoins\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation des ciseaux Lizard\u003c\/h2\u003e\n\u003cp\u003eLes ciseaux \u003cstrong\u003eLizard\u003c\/strong\u003e sont particulièrement efficaces pour dégrossir le poil du cou du Golden Retriever et les franges du Cocker Spaniel, et conviennent aussi aux pelages fins et lisses.\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819998077107,"sku":"SO-LIZARD","price":223.62,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/27-dents-lizard-ciseaux-thinners-special-one.png?v=1793140006"},{"product_id":"gaucher-satin-85-ciseaux-droits-special-one","title":"Gaucher Satin 8,5\" - Ciseaux Droits Special One","description":"\u003cp\u003eLes ciseaux \u003cstrong\u003eSatin Left\u003c\/strong\u003e sont le modèle de base de la gamme Satin de Special One pour les gauchers. Proposés ici en version droite de 8,5 pouces, ils offrent de très bonnes performances et une grande polyvalence, pour tous les types de coupe et tous les pelages, de la finition au travail des pelages volumineux de texture moyenne et fine.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Satin Left ?\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLames concaves à affûtage japonais : une coupe fluide et précise, idéale pour le travail de précision et la finition.\u003c\/li\u003e\n\u003cli\u003eAcier japonais 440C : grande dureté, longévité et un tranchant impeccable même après un usage intensif.\u003c\/li\u003e\n\u003cli\u003eSurface satinée antireflet : la finition satinée limite les distractions visuelles et aide à rester concentré sur la coupe.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eBien équilibrés, les \u003cstrong\u003eSatin Left\u003c\/strong\u003e donnent une sensation de sécurité et de confort pendant le travail. Leur poignée ergonomique offset avec repose-doigt fixe réduit la tension dans la main et assure un contrôle optimal, même lors des longues séances de toilettage.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Satin Left\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLongueur : 8,5 pouces\u003c\/li\u003e\n\u003cli\u003eLame : droite, concave, affûtage japonais\u003c\/li\u003e\n\u003cli\u003eMain : gaucher\u003c\/li\u003e\n\u003cli\u003eAcier japonais 440C\u003c\/li\u003e\n\u003cli\u003eFinition satinée antireflet\u003c\/li\u003e\n\u003cli\u003ePoignée ergonomique offset avec repose-doigt fixe\u003c\/li\u003e\n\u003cli\u003eSilencieux intégré : coupe silencieuse et fluide\u003c\/li\u003e\n\u003cli\u003ePivot réglable : tension des lames personnalisable selon le toiletteur\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\n\u003cp\u003eLes ciseaux \u003cstrong\u003eSatin Left\u003c\/strong\u003e conviennent à tous les types de pelage et de coupe, de la finition aux pelages plus volumineux de texture moyenne et fine.\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819998372019,"sku":"SO-SATIN-LEFT","price":223.62,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/gaucher-satin-8-5-ciseaux-droits-special-one.png?v=1793140033"},{"product_id":"ciseaux-courbes-toiletteur-microdenture-specifique-par-special-one-1","title":"T38 Left 7\" - Ciseaux Sculpteurs Gauchers 38 Dents Special One","description":"\u003cp\u003eLes ciseaux \u003cstrong\u003eT38 Left\u003c\/strong\u003e de Special One sont des ciseaux sculpteurs de 7 pouces à une seule lame dentée, conçus spécialement pour les gauchers. Ce grand classique polyvalent sert à désépaissir et à finir les pelages fins, moyens et lisses de densité modérée, en retirant environ 80 % du poil de façon régulière et en douceur.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux T38 Left ?\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDésépaississement naturel : les dents, dessinées avec précision, retirent l'excès de poil sans laisser de marques visibles.\u003c\/li\u003e\n\u003cli\u003eExcellent équilibre : un contrôle total jusqu'à la pointe, pour une coupe fluide et régulière à chaque geste.\u003c\/li\u003e\n\u003cli\u003eModèle polyvalent : un choix fiable pour les toiletteurs débutants comme pour les professionnels, idéal pour les finitions sur pelages de densité moyenne.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eAvec leur poignée pensée pour la main gauche, les \u003cstrong\u003eT38 Left\u003c\/strong\u003e offrent une ergonomie adaptée qui réduit la tension dans la main et reste confortable pendant les longues séances de toilettage.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux T38 Left\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLongueur : 7 pouces\u003c\/li\u003e\n\u003cli\u003eMain : gaucher\u003c\/li\u003e\n\u003cli\u003eType : sculpteurs, une seule lame dentée\u003c\/li\u003e\n\u003cli\u003e38 dents en forme de « M », très finement espacées : environ 80 % de désépaississement\u003c\/li\u003e\n\u003cli\u003eLame en acier japonais Hitachi 440C : durable et très affûtée\u003c\/li\u003e\n\u003cli\u003ePoignée ergonomique offset : grand confort en utilisation prolongée, moins de fatigue de la main\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe : aide à détendre les muscles et à réduire la tension pendant le travail\u003c\/li\u003e\n\u003cli\u003ePivot réglable : tension entre les deux lames ajustable selon vos besoins\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\n\u003cp\u003eLes ciseaux \u003cstrong\u003eT38 Left\u003c\/strong\u003e conviennent aux pelages fins, moyens et lisses, pas trop fournis, quand on recherche une finition naturelle sans marques.\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":37819998765235,"sku":"SO-T38-LEFT","price":298.04,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/gaucher-sculpteurs-38-dents-satin-ciseaux-sculpteur-special-one.png?v=1793140033"},{"product_id":"ciseaux-coarse-special-one-chunker","title":"12 Dents - Coarse 7\" - Ciseaux Chunker Special One","description":"\u003cp\u003eLes ciseaux \u003cstrong\u003eCoarse\u003c\/strong\u003e de Special One sont des ciseaux à une seule lame dentée de 7 pouces, un best-seller de la marque et un vrai indispensable pour tout toiletteur professionnel. Leur longueur compacte assure la précision sur toute la surface de la lame.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Coarse ?\u003c\/h2\u003e\n\u003cp\u003eLa denture large et la force mécanique de la fermeture poussent le poil dans les espaces entre les dents, pour un désépaississement d'environ 70 %. Les ciseaux \u003cstrong\u003eCoarse\u003c\/strong\u003e permettent ainsi de travailler vite et en toute sécurité : ils sont parfaits pour dégrossir, ébaucher et retirer de grandes quantités de poil, même très laineux. Grâce à leur large espace interdentaire, ils retiennent beaucoup de poil coupé sans qu'il faille nettoyer les lames sans arrêt, ce qui rend le travail plus rapide et plus confortable.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Coarse\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLongueur : 7 pouces\u003c\/li\u003e\n\u003cli\u003eType : une seule lame dentée (chunker)\u003c\/li\u003e\n\u003cli\u003e12 dents larges : désépaississement d'environ 70 %\u003c\/li\u003e\n\u003cli\u003eLame en acier japonais Hitachi 440C : résistant à la corrosion, durable et très affûté\u003c\/li\u003e\n\u003cli\u003ePoignée ergonomique offset : confort supérieur en utilisation prolongée, aide à prévenir le syndrome du canal carpien\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe : aide à détendre les muscles et à réduire la tension pendant le toilettage\u003c\/li\u003e\n\u003cli\u003ePivot réglable : tension entre les deux lames ajustable selon vos besoins\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\n\u003cp\u003eLes ciseaux \u003cstrong\u003eCoarse\u003c\/strong\u003e sont particulièrement recommandés pour les pelages ondulés et forts, comme ceux du Lagotto Romagnolo, du Kerry Blue Terrier et du Terrier noir russe. Ils sont aussi parfaits pour la coupe commerciale du Shih Tzu, du Cockapoo, du Bichon Frisé et du Caniche aux pelages forts et résistants.\u003c\/p\u003e","brand":"PetDesign shop","offers":[{"title":"Default Title","offer_id":39479855415475,"sku":"SO-COARSE","price":223.62,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/12-dents-coarse-7-ciseaux-chunker-special-one.png?v=1793144576"},{"product_id":"4poodle-shampoing-caniche-special-one","title":"4Poodle - Edition Speciale - Défrise et volumise","description":"\u003c!-- ============================================== SISTEMA DE DISEÑO — Refinamiento visual ============================================== --\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOQUE 1: INTRODUCCIÓN --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e              \u003cstrong\u003e4POODLE PRO\u003c\/strong\u003e (pronunciado \u0026quot;For Poudeul Pro\u0026quot;) es el champú que revolucionará tu forma de secarte el pelo con secador. \u003cstrong\u003epara añadir volumen y alisar\u003c\/strong\u003e.  Una innovación técnica nunca antes vista en cosméticos animales, que aporta volumen, elasticidad y \u003cstrong\u003eefecto queratina intenso\u003c\/strong\u003e en todos los pelajes rizados y voluminosos.     \u003c\/div\u003e          \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;\"\u003e¿A quién va dirigido este producto?\u003c\/h2\u003e          \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTodos lo encontrarán realmente útil, tanto para los días de competición como para los baños de aseo semanales. Sus beneficios no se limitan a los caniches: se extiende a \u003cstrong\u003eTodo tipo de cabello para alisar, dar volumen o convertir en algo explosivo.\u003c\/strong\u003e.\u003c\/p\u003e            \u003cdiv class=\"aqr-audience\"\u003e              \u003cdiv class=\"aqr-audience-grid\"\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \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                      \u003cdiv class=\"aqr-audience-name\"\u003ePeluqueros\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \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                      \u003cdiv class=\"aqr-audience-name\"\u003eGanaderos\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \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                      \u003cdiv class=\"aqr-audience-name\"\u003eIndividuos\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \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                      \u003cdiv class=\"aqr-audience-name\"\u003eCompetidores\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \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                      \u003cdiv class=\"aqr-audience-name\"\u003eadiestradores\u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \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      \u003c\/div\u003e        \u003c!-- BLOQUE 2: EXPERIENCIA \u0026  RESULTADOS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e          \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;\"\u003ePericia \u0026amp; Resultados\u003c\/h2\u003e          \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eGracias a \u003cstrong\u003eCeramidas 2 y proteínas de cachemira\u003c\/strong\u003e,  4Poodle Pro reconstruye el pelo desde adentro hacia afuera, dándole densidad y \u003cstrong\u003eelasticidad excepcional\u003c\/strong\u003e inmediatamente después de salir del baño, luego un \u003cstrong\u003eEfecto queratina intenso y duradero\u003c\/strong\u003e.  El cabello se seca muy rápido, se cepilla fácilmente y llega listo para cortar con tijeras o para presentarlo en competiciones.\u003c\/p\u003e          \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\u003eCuidado con los nudos que vuelven a aparecer:\u003c\/strong\u003e Cuando se usa solo para lograr el máximo volumen, 4Poodle Pro puede acelerar la reaparición de los nudos. Para el mantenimiento, finalice siempre con un acondicionador intensivo. \u003cstrong\u003eCrema hidratante y\/o Bombastic\u003c\/strong\u003e.\u003c\/div\u003e          \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e              \u003cdiv class=\"aqr-benefits-grid\"\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \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                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eVolumen máximo\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eEl mejor volumen posible con la mejor textura, incluso en los cabellos más finos.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \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 3v4M3 5h4M6 17v4M4 19h4\"\u003e\u003c\/path\u003e\u003cpath d=\"M13 3l3 8 8 3-8 3-3 8-3-8-8-3 8-3z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eNuevo atuendo\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eRedefine y estructura el pelaje de forma permanente después de cada baño.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \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                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eSecado con secador sin igual\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eElasticidad inmediata: el secado con secador resulta más suave y se ahorra tiempo real.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \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                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eSecado rápido\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eEl cabello se seca mucho más rápido después del lavado.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \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                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eEfecto queratina de larga duración\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eLa acción de la queratina continúa mucho después del baño.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \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=\"3.6\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 2v2.5M12 19.5V22M4.2 4.2l1.8 1.8M18 18l1.8 1.8M2 12h2.5M19.5 12H22M4.2 19.8l1.8-1.8M18 6l1.8-1.8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eprotección UV\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eFiltro UV-A integrado para proteger la piel y el cabello de los efectos nocivos del sol.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e          \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      \u003c\/div\u003e        \u003c!-- UNIDAD DE RADAR (trasladada a la sección de Experiencia) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \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;\"\u003eComprenda mejor las acciones de 4Poodle Pro.\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn análisis detallado de su desempeño cosmético, nota por nota.\u003c\/p\u003e          \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              \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e                                    \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                  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \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        \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 3 }, { label: \"Démêlant\", value: 1 }, { label: \"Texture\", value: 3 }, { label: \"Volume\", value: 4 }, { label: \"Brillance\", 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!-- BLOQUE 3: COMPOSICIÓN (MAPEO JS de Active 4Poodle Pro - verificado) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \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;\"\u003eComposición de 4Poodle Pro: ingredientes activos naturales \u0026amp; acción dirigida\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUna formulación técnica de gran precisión — \u003cstrong\u003ereconstrucción interna, hidratación y protección\u003c\/strong\u003e,  Sin SLES ni parabenos. Aquí, zona por zona, se explica cómo actúa cada ingrediente activo sobre la piel y el cabello.\u003c\/p\u003e            \u003c!-- CARTOGRAFÍA --\u003e          \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e              \u003cdiv class=\"aqr-grid\"\u003e                    \u003cdiv class=\"aqr-col-list\"\u003e                      \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-schema\"\u003e                      \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e                          \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de 4Poodle 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                          \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-info\"\u003e                      \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e            \u003c\/div\u003e            \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            \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:'ceramide', label:'Céramide 2', latin:'Céramides végétaux', family:'cond',\n          desc:\"Lipide structurant de la fibre : tel le ciment entre les briques, il restaure la cohésion intercellulaire du poil et forme une couche protectrice contre la déshydratation et les agressions.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Reconstruction interne\", benefit:\"Comble le ciment intercellulaire — la fibre retrouve cohésion, densité et résistance.\" },\n            { anchor:'cuticule', action:\"Scellage anti-déshydratation\", benefit:\"Lisse les écailles et verrouille l'hydratation à l'intérieur du poil.\" }\n          ]\n        },\n        {\n          id:'cachemire', label:'Protéines de Cachemire', latin:'Protéines de kératine', family:'cond',\n          desc:\"Protéines nobles à forte affinité kératinique : elles densifient la fibre et lui apportent une élasticité exceptionnelle, immédiatement perceptible au brushing.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Densité \u0026 élasticité\", benefit:\"Donnent corps et ressort au poil : un volume travaillable et un brushing plus fluide.\" },\n            { anchor:'cuticule', action:\"Séchage accéléré\", benefit:\"Gainent la fibre pour un toucher lisse, facile à brosser et qui sèche plus vite.\" }\n          ]\n        },\n        {\n          id:'provitb5', label:'Provitamine B5', latin:'Panthénol', family:'bio',\n          desc:\"Le panthénol agit sur les deux substrats : fortifiant et embellissant sur le poil, réparateur et apaisant sur la peau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Fortifiant \u0026 brillance\", benefit:\"Renforce la fibre de l'intérieur et ravive sa brillance.\" },\n            { anchor:'epiderme', action:\"Réparation \u0026 apaisement\", benefit:\"Apaise la peau et soutient sa réparation.\" }\n          ]\n        },\n        {\n          id:'glycerine', label:'Glycérine végétale', latin:'Glycérol végétal', family:'aqua',\n          desc:\"Humectant de référence, à la fois occlusif et émollient : indispensable pour une hydratation durable de la peau et du poil.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation occlusive\", benefit:\"Retient l'eau et protège la surface des agressions extérieures.\" },\n            { anchor:'epiderme', action:\"Émollience\", benefit:\"Lisse et assouplit la peau comme le poil.\" }\n          ]\n        },\n        {\n          id:'uree', label:'Urée (Carbamide)', latin:'Carbamide', family:'aqua',\n          desc:\"Actif professionnel de référence : hydrate les couches supérieures de l'épiderme, élimine les squames et stimule le renouvellement cellulaire, avec une action purifiante.\",\n          targets: [\n            { anchor:'epiderme', action:\"Hydratation \u0026 kératolyse douce\", benefit:\"Hydrate l'épiderme, élimine les squames et active le renouvellement cellulaire.\" },\n            { anchor:'glande_sud', action:\"Action purifiante\", benefit:\"Limite le développement bactérien à la surface de la peau.\" }\n          ]\n        },\n        {\n          id:'leucidal', label:'Leucidal', latin:'Ferment de radis', family:'botanic',\n          desc:\"Conservateur 100 % naturel issu de la fermentation du radis : peptides aux propriétés antibactériennes, antipelliculaires et antimicrobiennes.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Assainissant naturel\", benefit:\"Action antibactérienne et antipelliculaire au niveau du film cutané.\" },\n            { anchor:'epiderme', action:\"Équilibre microbien\", benefit:\"Préserve l'équilibre de la flore de surface — sans conservateur de synthèse.\" }\n          ]\n        },\n        {\n          id:'coco', label:'Tensioactifs de noix de coco', latin:'Dérivés de Cocos nucifera', family:'botanic',\n          desc:\"Base lavante douce d'origine végétale : nettoie en respectant la peau et conditionne le poil sans jamais l'agresser.\",\n          targets: [\n            { anchor:'cuticule', action:\"Lavage doux \u0026 conditionnant\", benefit:\"Nettoie sans décaper et dépose un conditionnement léger sur la fibre.\" },\n            { anchor:'epiderme', action:\"Douceur cutanée\", benefit:\"Respecte la peau et préserve son confort.\" }\n          ]\n        },\n        {\n          id:'citronuv', label:'Citron \u0026 Filtre UV-A', latin:'Citrus limon \u0026 filtre UV', family:'bio',\n          desc:\"Le citron resserre les écailles et stabilise le pH de la formule ; le filtre UV-A protège la peau et les poils des effets nocifs du soleil.\",\n          targets: [\n            { anchor:'cuticule', action:\"Équilibre du pH\", benefit:\"Resserre les écailles et stabilise le pH pour une fibre lisse et brillante.\" },\n            { anchor:'tige_poil', action:\"Bouclier UV-A\", benefit:\"Le filtre UV-A protège la fibre des effets nocifs du soleil.\" }\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\/div\u003e        \u003c!-- BLOQUE 4: PROTOCOLOS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \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;\"\u003eProtocolos \u0026amp; Sugerencias de uso\u003c\/h2\u003e          \u003c!-- DILUCIÓN P4: 3 cartas simples (Proporción · Rendimiento · Equivalencias animadas) --\u003e          \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e              \u003cdiv class=\"aqr-dilution-eyebrow\"\u003edilución de referencia\u003c\/div\u003e                \u003cdiv class=\"aqr-dilution-grid\"\u003e                    \u003c!-- TARJETA 1: Ratio --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRelación\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e10\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eUna parte por cada 10 partes de agua\u003cbr\u003e— o puro\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- MAPA 2: Rendimiento --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eProducir\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e250 ml\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 2,5 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e1 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 10 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e5 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 50 L\u003c\/div\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003epreparado para usar\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- TARJETA 3: Equivalencias animadas --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePara \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e500 ml\u003c\/span\u003e producto terminado\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003een volumen\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e gramo \u003cspan\u003een peso\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e  \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecucharadas\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e  \u003cspan id=\"aqrCyclePumpLabel\"\u003epresiones de la bomba\u003c\/span\u003e  \u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e          \u003c\/div\u003e            \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            \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 500 mL \/ 1 L \/ 2 L (dilution 1\/10)\n      var cycles = [\n        { target: '500 mL', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '1 L',    ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '2 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                          \u003cdetails class=\"aqr-proto-acc\" open\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eBaño de gran volumen — exposición \u0026amp; tijeras cortan\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                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003ePara días de competición o cortes de tijera de calidad\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eMascarilla prebaño\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003ePrepara el pelaje con la mascarilla previa al baño. \u003cstrong\u003eBioenergía Plus\u003c\/strong\u003e,  asociado con \u003cstrong\u003eFluido higro\u003c\/strong\u003e O \u003cstrong\u003eRimbombante\u003c\/strong\u003e.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eAplicación sobre la mascarilla\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAplicar 4Poodle Pro \u003cstrong\u003epuro o diluido a 1\/10\u003c\/strong\u003e Aplicar directamente sobre la mascarilla, sin enjuagar. Masajear, enjuagar y repetir.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eOpción de volumen máximo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003ePara un baño de exhibición o competición, se puede omitir el acondicionador si busca el \u003cstrong\u003evolumen máximo\u003c\/strong\u003e.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eFinal del espectáculo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eSecar y terminar con \u003cstrong\u003eAbsolute 4Poodle\u003c\/strong\u003e :  El dúo 4Poodle Pro + Absolute 4Poodle es la referencia absoluta para el cuidado del cabello rizado en cuanto a presentación.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e                \u003cdetails class=\"aqr-proto-acc\"\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eBaño de mantenimiento semanal — volumen \u0026amp; protección contra nudos\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                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003ePara baños regulares, sin sacrificar volumen.\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eMascarilla prebaño\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003ePrepara el cabello con \u003cstrong\u003eBioenergía Plus\u003c\/strong\u003e como mascarilla prebaño (20 min).\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eLavado\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAplique 4Poodle Pro, enjuague y repita.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eImprescindible: protección contra nudos\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalizar con \u003cstrong\u003eCrema hidratante diluida 1\/50\u003c\/strong\u003e + una cucharada de \u003cstrong\u003eRimbombante\u003c\/strong\u003e.  Esta acción protege el cabello y \u003cstrong\u003eretrasa significativamente el retorno de los nodos\u003c\/strong\u003e entre baños.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e                \u003cdetails class=\"aqr-proto-acc\"\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eReconstrucción mineral reforzada con Bombástico\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                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003ePara pieles que están muy dañadas, deshidratadas o que carecen de densidad.\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eAsociación de protocolos\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eCombine 4Poodle Pro con el protocolo de reconstrucción mineral. \u003cstrong\u003eRimbombante\u003c\/strong\u003e :  Incorpora Bombastic a tu mascarilla pre-baño o acondicionador final.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eEfecto combinado\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eEl efecto \u003cstrong\u003eCeramidas + Cachemira + Bombástico\u003c\/strong\u003e Reestructura la fibra en profundidad y restaura su densidad y brillo duraderos.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eRepita si es necesario.\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eRepita el protocolo \u003cstrong\u003e2 a 3 veces\u003c\/strong\u003e si el pelaje está muy degradado.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e          \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                \u003c\/div\u003e        \u003c!-- BLOQUE 5: ASOCIACIONES \u0026  CARRERAS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \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;\"\u003eAsociaciones recomendadas \u0026amp; carreras\u003c\/h2\u003e          \u003c!-- 4Poodle Pro en su esencia + complementos modulares Si... → Entonces --\u003e          \u003cdiv class=\"aqr-assoc\"\u003e              \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eToda la gama Special One\u003c\/strong\u003e Es compatible con 4Poodle Pro.Nuestras alianzas favoritas:\u003c\/p\u003e                \u003cdiv class=\"aqr-assoc-rules\"\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eSe recomienda una mascarilla antes del baño…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eBio Energy Plus + Hygro Fluid o Bombastic\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eEs necesario un acondicionador de mantenimiento…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eCrema hidratante + Bombastic\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eSe busca un acabado de exposición…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAbsolute 4Poodle (espray)\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \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            \u003c!-- Carreras en pastillas redondeadas --\u003e          \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eDonde 4Poodle Pro marca la diferencia:\u003c\/h3\u003e          \u003cdiv class=\"aqr-races-mosaic\"\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐱 Todos los gatos\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e✂️ Cortar con tijeras \u0026amp; peine \u003cspan\u003e(todos los perros en la sala de estar)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐩 Pieles rizadas \u003cspan\u003e(Caniches, Bichones, Kerry Blue, Soft Coated, Bedlington, Havanés, Coton de Tuléar)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🧸 Doble cabello \u0026amp; perros de agua \u003cspan\u003e(Pastor australiano, Samoyedo, Terranova, Spitz)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e💥 Para alisar o dar volumen \u003cspan\u003e(Schnauzer, Fox Terrier, Cocker Spaniel Americano)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐕 Terriers \u003cspan\u003e(para dar volumen a las piernas)\u003c\/span\u003e\u003c\/span\u003e          \u003c\/div\u003e          \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eLista extensa pero no exhaustiva, ideal para dar volumen o alisar todo tipo de pieles.\u003c\/p\u003e            \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            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Sin SLES ni parabenos | No probado en animales | HDPE reciclable\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"5 Litres","offer_id":40019132842163,"sku":"WEX-4POO5000 (57)","price":153.9,"currency_code":"EUR","in_stock":false},{"title":"1 Litre","offer_id":40019132809395,"sku":"WEX-4POO1000 (46)","price":52.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/4poodle-edition-speciale-defrise-et-volumise.png?v=1793144669"},{"product_id":"absolute-4poodle-toilettage-caniche","title":"Absolute 4Poodle: el mejor spray de volumen antiestático","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOQUE 1: INTRODUCCIÓN --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e              \u003cstrong\u003eABSOLUTE 4POODLE\u003c\/strong\u003e es el spray acondicionador de acabado antiestático Special One, dedicado a todo tipo de cabello con volumen o aquellos que necesitan ser alisados. Su preciosa fórmula, enriquecida con \u003cstrong\u003eproteínas de cachemira y extracto de trufa blanca Alba\u003c\/strong\u003e — Aporta textura y volumen al pelaje sin apelmazarlo. \u003cstrong\u003eÚnico en el mercado\u003c\/strong\u003e por el brillo y el efecto alisador que proporciona.     \u003c\/div\u003e            \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003e¿A quién va dirigido este producto?\u003c\/span\u003e          \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eImprescindible para razas cuyo pelaje se esponja, se riza o necesita ser domesticado antes de cortarlo o exhibirlo en exposiciones.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Peluqueros\u0026amp;                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Ganaderos\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Individuos\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Competidores\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ adiestradores\u003c\/td\u003e                      \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOQUEO DE RADAR: DIAGRAMA COSMOLÓGICO --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \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              \u003cdiv style=\"padding:24px 28px 20px;overflow:visible;\"\u003e                  \u003cspan style=\"font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#999;margin-bottom:22px;display:block;\"\u003eDiagrama cosmético de Absolute 4Poodle\u003c\/span\u003e                  \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                  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \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        \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Brillance\",    value: 5 },\n        { label: \"Défrisage\",    value: 5 },\n        { label: \"Démêlant\",     value: 3 },\n        { label: \"Hydratation\",  value: 4 },\n        { label: \"Volume\",       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        \u003c!-- BLOQUE 2: EXPERIENCIA \u0026  RESULTADOS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePericia \u0026amp; Resultados\u003c\/span\u003e            \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eListo para usar, Absolute 4Poodle hidrata la estructura rizada del pelaje y ayuda a \u003cstrong\u003eDomina los rizos, incluso los más difíciles.\u003c\/strong\u003e.  Desde el primer uso, el pelaje queda ligero, hidratado y manejable de forma natural, listo para recortar, peinar o presentar en concursos. También es ideal como acondicionador de última hora cuando el pelaje se encrespa o pierde volumen.\u003c\/p\u003e            \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e              \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eAlisado del cabello \u0026amp; volumen :\u003c\/strong\u003e Controla los rizos y aporta textura sin apelmazar el pelaje.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eBrillantez excepcional:\u003c\/strong\u003e Un resultado luminoso y satinado desde la primera aplicación.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eAntiestático:\u003c\/strong\u003e Elimina la carga electrostática para un pelaje disciplinado y ordenado.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eEfecto de relleno:\u003c\/strong\u003e La trufa de Alba proporciona una densidad visual y una elasticidad duraderas.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eHidratación \u0026amp; compacidad:\u003c\/strong\u003e Las proteínas del cachemir hacen que el pelaje sea compacto, brillante y nutrido.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eRegeneración durante el cepillado:\u003c\/strong\u003e Revitaliza el pelaje con cada pincelada.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eListo para el corte:\u003c\/strong\u003e Ideal antes de cortar con tijeras: el cabello queda perfectamente relajado y uniforme.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eInvisible bajo todos los vestidos:\u003c\/strong\u003e No deja residuos visibles, independientemente del color del pelaje.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eMultiaplicación:\u003c\/strong\u003e Puede utilizarse varias veces al día sin riesgo de acumulación.\u003c\/li\u003e                  \u003cli\u003e✅  \u003cstrong\u003eFragancia distintiva:\u003c\/strong\u003e Una nota olfativa elegante y persistente, firmada por Special One.\u003c\/li\u003e              \u003c\/ul\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003c!-- BLOQUE 3: ACTIVOS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSinergia de ingredientes activos naturales\u003c\/span\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUna fórmula preciosa y refinada, elaborada en torno a dos ingredientes excepcionales que rara vez se utilizan en cosméticos para animales.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Proteínas de cachemira\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eDejan el pelaje compacto, brillante e hidratado. Forman una ligera capa protectora que estructura el pelo rizado sin apelmazarlo.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Extracto de trufa blanca Alba orgánica\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eExcelencia italiana con extraordinarias propiedades antienvejecimiento y revitalizantes. Proporciona un efecto voluminizador sin precedentes y una elasticidad duradera al pelaje.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOQUE 4: PROTOCOLOS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocolos \u0026amp; Sugerencias de uso\u003c\/span\u003e            \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e              💡 Producto \u003cstrong\u003epreparado para usar\u003c\/strong\u003e,  Sin diluir. Rocíe a una distancia de 20 a 30 cm del pelaje seco o húmedo y luego cepille.     \u003c\/div\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eEjemplo 1 🔥 Acabado después del baño: alisado \u0026amp; corte de tijera\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDESPLÁCESE HACIA ABAJO ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         El paso final ideal después del baño y el secado:\u003cbr\u003e         1. Rocíe Absolute 4Poodle sobre todo el pelaje seco o húmedo, desde una distancia de 20 a 30 cm.\u003cbr\u003e         2. Cepillo \u003cstrong\u003ecapa por capa, dividiendo el cabello en secciones.\u003c\/strong\u003e — el cabello se relaja, los rizos se abren y el volumen se revela de manera uniforme.\u003cbr\u003e         3. El pelaje ahora está \u003cstrong\u003ePerfectamente disciplinado y listo para el corte con tijeras.\u003c\/strong\u003e :  Homogéneo, ligero y sin resistencia. Puede reaplicarse tantas veces como sea necesario durante el corte.\u003cbr\u003e         Si desea corregir el resultado: finalice con \u003cstrong\u003eSolución final ecológica o gas fuerte\u003c\/strong\u003e.\u003cbr\u003e\u003cbr\u003e                  \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 10px 12px; font-size: 12px;\"\u003e                      ⚠️  \u003cstrong\u003eExcepción de moño alto:\u003c\/strong\u003e No aplique Absolute 4Poodle al moño superior antes de la laca para el cabello; el producto impediría que el fijador se adhiera correctamente.         \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eEjemplo 2 🔥 Retoque exprés previo al anillo: alisado \u0026amp; pérdida de volumen\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDESPLÁCESE HACIA ABAJO ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         Cuando el cabello se encrespa o pierde volumen entre el baño y la presentación:\u003cbr\u003e         1. Rocíe Absolute 4Poodle directamente sobre las zonas afectadas.\u003cbr\u003e         2. Cepillar para \u003cstrong\u003eregenerar el volumen, eliminar la electrostática\u003c\/strong\u003e y devolverle su forma.\u003cbr\u003e         Resultado inmediato: un pelaje reestructurado, brillante e impecable para la competición, sin necesidad de un baño completo.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eEjemplo 3 🔥 Cepillado de mantenimiento diario\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDESPLÁCESE HACIA ABAJO ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         Absolute 4Poodle se puede integrar en la rutina de aseo entre baños:\u003cbr\u003e         1. Rocíe sobre la capa seca desde una distancia de 20 a 30 cm.\u003cbr\u003e         2. Cepille suavemente el producto. \u003cstrong\u003eregenera el pelaje con cada pasada\u003c\/strong\u003e,  Mantiene la hidratación y limita la necesidad de volver a rizar el cabello a diario.\u003cbr\u003e         La fragancia exclusiva de Special One se deposita en el abrigo con cada uso.       \u003c\/div\u003e          \u003c\/details\u003e      \u003c\/div\u003e        \u003c!-- BLOQUE 5: ASOCIACIONES \u0026  CARRERAS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAsociaciones recomendadas \u0026amp; carreras\u003c\/span\u003e            \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eAbsolute 4Poodle es el toque final para un baño completo. Dos protocolos típicos:\u003c\/p\u003e          \u003cdiv style=\"background: #fff; border: 1px solid #eee; padding: 12px 16px; font-size: 13px; margin-bottom: 15px; line-height: 2;\"\u003e              🔹  \u003cstrong\u003eBioenergía\u003c\/strong\u003e → \u003cstrong\u003eChampú 4Poodle Pro\u003c\/strong\u003e → \u003cstrong\u003eCrema hidratante\u003c\/strong\u003e → \u003cstrong\u003eAbsolute 4Poodle\u003c\/strong\u003e\u003cbr\u003e              🔹  \u003cstrong\u003eBioenergía\u003c\/strong\u003e → \u003cstrong\u003ePlatino Pro\u003c\/strong\u003e → \u003cstrong\u003eCrema hidratante\u003c\/strong\u003e → \u003cstrong\u003eAbsolute 4Poodle\u003c\/strong\u003e\u003cbr\u003e              🔹 Si es necesario realizar alguna reparación: \u003cstrong\u003eSolución definitiva ecológica\u003c\/strong\u003e O \u003cstrong\u003eGas fuerte\u003c\/strong\u003e en acabado     \u003c\/div\u003e            \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 10px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️  \u003cstrong\u003eCaniches (Toy, Miniatura, Estándar, Real)\u003c\/strong\u003e — Producto diseñado históricamente para esta raza, con un resultado incomparable en el rizo.\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Bichon Frisés, Bolonais — volumen controlado y alisado.\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Kerry Blue Terrier, Soft Coated Wheaten, Bedlington: pelo rizado u ondulado que debe ser domado antes de cortarlo.\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Todas las razas cuyo pelo se esponja, se ondula o requiere alisado antes de exhibirlo o cortarlo.\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Perros de exposición: preparación de última hora, brillo y presentación previa al ring garantizados.\u003c\/td\u003e\u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Sin SLES ni parabenos | No probado en animales | HDPE reciclable\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250ml","offer_id":40021095678131,"sku":"WEX-A4POO250 (44)","price":39.0,"currency_code":"EUR","in_stock":true},{"title":"1 litro","offer_id":57210623099225,"sku":"(75)","price":93.6,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/absolute-4poodle-le-meilleur-spray-volume-antistatique.png?v=1793144669"},{"product_id":"bombastic-special-one","title":"BOMBASTIC - el sérum esencial ✨","description":"\u003c!-- ============================================== SISTEMA DE DISEÑO — Refinamiento visual ============================================== --\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003c!-- BLOQUE 1: INTRODUCCIÓN --\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e  \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e  \u003cstrong\u003eRIMBOMBANTE\u003c\/strong\u003e es el \u003cstrong\u003eFibra líquida reconstructiva\u003c\/strong\u003e Special One: sin champú, sin acondicionador, sin sérum graso. Una verdadera innovación en zoocosmética. \u003cstrong\u003eIngredientes activos remineralizantes, antioxidantes e ultrahidratantes, además de oligoelementos.\u003c\/strong\u003e,  asociado con \u003cstrong\u003ecatalizador biotecnológico\u003c\/strong\u003e permitiendo una absorción celular única. \u003cem\u003eUna vez que lo pruebes, no podrás vivir sin él.\u003c\/em\u003e  \u003c\/div\u003e  \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;\"\u003e¿A quién va dirigido este producto?\u003c\/h2\u003e  \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eTodos encontrarán algo de verdadero interés en ello: Bombastic se puede integrar en \u003cstrong\u003ecualquier paso\u003c\/strong\u003e Cuidado personal: mascarilla previa al baño, en el champú, acondicionador o como paso adicional entre el champú y el acondicionador.\u003c\/p\u003e  \u003cdiv class=\"aqr-audience\"\u003e  \u003cdiv class=\"aqr-audience-grid\"\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003ePeluqueros\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eGanaderos\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eIndividuos\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eCompetidores\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eadiestradores\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOQUE 2: EXPERIENCIA \u0026  RESULTADOS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e  \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;\"\u003ePericia \u0026amp; Resultados\u003c\/h2\u003e  \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eGracias a la levadura \u003cstrong\u003eSaccharomyces cerevisiae\u003c\/strong\u003e,  El complejo mineral de Bombastic funciona con \u003cstrong\u003eglicopéptidos de bajo peso molecular\u003c\/strong\u003e Para \u003cstrong\u003esuperando las barreras celulares\u003c\/strong\u003e y penetran profundamente en el pelaje. Un nivel de absorción que las formulaciones convencionales no pueden alcanzar. ¿El resultado? \u003cem\u003eUn pelaje como nunca antes habías visto.\u003c\/em\u003e\u003c\/p\u003e  \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin-bottom: 18px;\"\u003e⚠️  \u003cstrong\u003eZonas que se deben evitar:\u003c\/strong\u003e No aplique Bombastic en áreas donde se deba evitar absolutamente el volumen: el lomo de un perro de montaña bernés o un golden retriever con pelo rebelde, un cuello abultado, muslos con remolinos o el pelo de un yorkshire terrier\/maltés que necesita caer como una cortina para el ring.\u003c\/div\u003e  \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e  \u003cdiv class=\"aqr-benefits-grid\"\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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 21h18M5 21V11h4v10M15 21V7h4v14M9 16h6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eReconstrucción profunda\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eReconstruye la fibra capilar \u003cstrong\u003edesde dentro\u003c\/strong\u003e gracias al complejo biotecnológico de fermentos y minerales.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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 21v-8M12 13c0-3 2-5 5-5M12 13c0-3-2-5-5-5M12 21H8m4 0h4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eCrecimiento mejorado\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eMejora del crecimiento del cabello, \u003cstrong\u003ecualitativa y cuantitativamente\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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 5h4M5 5v4M5 5l5 5M19 5h-4M19 5v4M19 5l-5 5M5 19h4M5 19v-4M5 19l5-5M19 19h-4M19 19v-4M19 19l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eVolumen conservado\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eA pesar de su naturaleza ultra nutritiva, Bombastic \u003cstrong\u003emantiene o incluso amplifica el volumen\u003c\/strong\u003e y vestimenta natural, independientemente de la raza.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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=\"M10 14a4 4 0 0 0 5.66 0l3-3a4 4 0 0 0-5.66-5.66l-1 1\"\u003e\u003c\/path\u003e\u003cpath d=\"M14 10a4 4 0 0 0-5.66 0l-3 3a4 4 0 1 0 5.66 5.66l1-1\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eAntinudo\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003e  \u003cstrong\u003eRetraso significativo\u003c\/strong\u003e El regreso de los nudos después del baño.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eBrillantez \u0026amp; atuendo\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eA \u003cstrong\u003eresultados de brillo y cuidado\u003c\/strong\u003e Mejoró significativamente.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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 19l14-14M16 5l3 3M9 5h.01M19 11h.01M5 11h.01M11 19h.01\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eEsa cierta cosa\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eEste efecto visual y táctil que es difícil de describir con palabras, pero que\u003cstrong\u003euno siente inmediatamente\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- UNIDAD DE RADAR (trasladada a la sección de Experiencia) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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;\"\u003eComprender mejor las acciones de Bombástico\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn análisis detallado de su desempeño cosmético, nota por nota.\u003c\/p\u003e  \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  \u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e  \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  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 5 }, { label: \"Brillance\", value: 4 }, { label: \"Soin peau\", value: 4 }, { label: \"Démêlant\", value: 4 }, { label: \"Volume\", 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!-- BLOQUE 3: COMPOSICIÓN (MAPEO JS activo de Bombastic - verificado) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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;\"\u003eComposición de Bombastic: biotecnología al servicio del cabello\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUna fórmula única donde la \u003cstrong\u003eLa biotecnología se está utilizando en la zoocosmética.\u003c\/strong\u003e — sin SLES, sin parabenos, sin silicona.\u003c\/p\u003e  \u003c!-- CARTOGRAFÍA --\u003e  \u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e  \u003cdiv class=\"aqr-grid\"\u003e  \u003cdiv class=\"aqr-col-list\"\u003e  \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-schema\"\u003e  \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e  \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Bombastic\" 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  \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-info\"\u003e  \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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:'q10', label:'Coenzyme Q10', latin:'Ubiquinone', family:'cond',\n          desc:\"Précieux antioxydant cellulaire : il protège les cellules du poil et de la peau contre le vieillissement et les agressions oxydatives — indispensable à la jeunesse du manteau.\",\n          targets: [\n            { anchor:'epiderme', action:\"Action antioxydante\", benefit:\"Protège les cellules de la peau contre le stress oxydatif et le vieillissement.\" },\n            { anchor:'derme', action:\"Énergie cellulaire\", benefit:\"Soutient le métabolisme énergétique des cellules cutanées.\" }\n          ]\n        },\n        {\n          id:'macadamia', label:'Huile de Macadamia', latin:'Macadamia ternifolia', family:'botanic',\n          desc:\"Hydratante et restructurante : elle nourrit la fibre en profondeur et maintient le poil souple, brillant et dense.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition restructurante\", benefit:\"Nourrit la fibre et maintient densité, souplesse et brillance.\" },\n            { anchor:'cuticule', action:\"Souplesse retrouvée\", benefit:\"Adoucit la cuticule et apporte un toucher gainé sans alourdir.\" }\n          ]\n        },\n        {\n          id:'biotech', label:'Complexe Biotechnologique', latin:'Saccharomyces cerevisiae + Minéraux', family:'aqua',\n          desc:\"\u003cstrong\u003eZinc, fer, magnésium, silicium, cuivre fermenté\u003c\/strong\u003e — activés par la levure pour \u003cstrong\u003esurmonter les barrières cellulaires\u003c\/strong\u003e et agir en profondeur avec une efficacité impossible par les voies classiques. C’est le cœur de l’innovation Bombastic.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Reminéralisation profonde\", benefit:\"Apporte oligo-éléments fermentés directement au cœur de la fibre.\" },\n            { anchor:'follicule', action:\"Soutien à la pousse\", benefit:\"Stimule la croissance qualitative et quantitative du poil.\" }\n          ]\n        },\n        {\n          id:'fleurs', label:'Distillats de Fleurs \u0026amp; Plantes', latin:'Hydrolats végétaux', family:'bio',\n          desc:\"Agents actifs végétaux qui complètent le complexe minéral pour apporter \u003cstrong\u003edouceur, éclat et vitalité\u003c\/strong\u003e au manteau.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisement \u0026amp; éclat\", benefit:\"Apaise le terrain cutané et apporte un éclat lumineux au poil.\" },\n            { anchor:'cuticule', action:\"Toucher doux\", benefit:\"Confère un toucher fondant et un fini soyeux à la fibre.\" }\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!-- INSERCIÓN DE NARRACIÓN: innovación biotecnológica --\u003e  \u003cdiv style=\"margin-top: 25px; padding: 22px 24px; background: #fff; border-left: 3px solid #1d1d1f;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin-bottom: 12px; display: block;\"\u003e🧬 La firma pomposa\u003c\/span\u003e  \u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eCuando la biotecnología supera las barreras celulares\u003c\/p\u003e  \u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eLa mayoría de los ingredientes activos cosméticos permanecen en \u003cem\u003esuperficie\u003c\/em\u003e del cabello, mantenido en su lugar por la barrera natural de la cutícula. \u003cstrong\u003eComplejo de Biotecnología\u003c\/strong\u003e Bombastic utiliza un \u003cstrong\u003elevadura específica — \u003cem\u003eSaccharomyces cerevisiae\u003c\/em\u003e\u003c\/strong\u003e — que produce \u003cstrong\u003eglicopéptidos de bajo peso molecular\u003c\/strong\u003e capaz de \u003cstrong\u003ecruzar esta barrera celular\u003c\/strong\u003e.  Los minerales (zinc, hierro, magnesio, silicio, cobre) se entregan de esta manera \u003cem\u003een el corazón\u003c\/em\u003e de la fibra, y no simplemente depositada en su superficie. Esta es una eficacia que las formulaciones convencionales no pueden lograr.\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- BLOQUE 4: PROTOCOLOS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \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;\"\u003eProtocolos \u0026amp; Sugerencias de uso\u003c\/h2\u003e  \u003c!-- DILUCIÓN P4: 3 cartas simples (Proporción · Rendimiento · Equivalencias animadas) --\u003e  \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e  \u003cdiv class=\"aqr-dilution-eyebrow\"\u003edilución de referencia\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-grid\"\u003e  \u003c!-- TARJETA 1: Ratio --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRelación\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e60\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-note\"\u003e1 cucharada\/L\u003cbr\u003eo como complemento de un producto\u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- MAPA 2: Rendimiento --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eProducir\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e150 ml\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 9 L\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e500 ml\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 30 litros\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e3 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 180 L\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-note\"\u003epreparado para usar\u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- TARJETA 3: Equivalencias animadas --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePara \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e producto terminado\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cstrong id=\"aqrCycleMl\"\u003e17\u003c\/strong\u003e mL \u003cspan\u003een volumen\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleG\"\u003e17\u003c\/strong\u003e gramo \u003cspan\u003een peso\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleSpoon\"\u003e1\u003c\/strong\u003e  \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecucharada\u003c\/span\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \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  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eAseo rápido \u0026amp; económico\u003c\/span\u003eEl método preferido por los profesionales\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  \u003cdiv class=\"aqr-proto-body\"\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eEn el champú\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAgregar \u003cstrong\u003e1 a 2 cucharadas de Bombastic\u003c\/strong\u003e en tu champú. Lava tu cabello dos veces con esta mezcla. Enjuaga.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003eTIENE\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eOpción de pulverización (la más económica)\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eDiluido \u003cstrong\u003e1 c.una cucharada de Bombastic por litro de agua\u003c\/strong\u003e,  Rocíe sobre el pelaje húmedo. Deje actuar. \u003cstrong\u003e3-5 minutos\u003c\/strong\u003e,  Enjuague y comience a secar\/cepillar.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eOpción sin enjuague\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eMezcla \u003cstrong\u003e1 cucharadita de Bombastic + 1 cucharadita de Crema Hidratante + agua\u003c\/strong\u003e.  Aplicar por todo el cuerpo y proceder directamente al secado con secador. \u003cstrong\u003eno enjuagar\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eReestructuración intensa del pelaje\u003c\/span\u003ePrebaño + acondicionador de doble dosis\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  \u003cdiv class=\"aqr-proto-body\"\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eMascarilla prebaño\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAgregar \u003cstrong\u003e1 cucharada de Bombastic por litro de agua\u003c\/strong\u003e en tu mascarilla habitual antes del baño (Bio Energy Plus, Hygro Fluid, etc.).\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAcondicionador\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAgregar \u003cstrong\u003e1 a 2 cucharadas de Bombastic\u003c\/strong\u003e en tu mascarilla acondicionadora. Déjala actuar. \u003cstrong\u003e5 minutos\u003c\/strong\u003e.  Enjuagar.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eMáxima sinergia\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eEste doble beneficio —antes y después del champú— \u003cstrong\u003emaximiza la penetración de los ingredientes activos minerales\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eMascarilla facial gruesa casera\u003c\/span\u003ePuntas dañadas \u0026amp; nutrición dirigida\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  \u003cdiv class=\"aqr-proto-body\"\u003e  \u003cdiv style=\"background: #f0f7ff; border-left: 3px solid #4a90d9; border-radius: 8px; padding: 10px 14px; font-size: 12.5px; line-height: 1.55; margin-bottom: 12px;\"\u003e💡  \u003cstrong\u003eConservación :\u003c\/strong\u003e La mousse preparada permanece estable pero debe utilizarse \u003cstrong\u003edentro de 48 horas\u003c\/strong\u003e Dependiendo de su preparación. Consérvelo en un lugar fresco y seco, alejado del calor y de la luz directa.\u003c\/div\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003emezcla 50\/50\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eMezcla \u003cstrong\u003e50 ml de Bombastic + 50 ml de agua fría\u003c\/strong\u003e en un recipiente. Déjelo reposar unos minutos; la textura \u003cstrong\u003eSe espesa sorprendentemente\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAplicación dirigida\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAplique esta mascarilla espesa al \u003cstrong\u003epelaje seco, puntas dañadas, áreas que carecen de brillo o densidad.\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eResultado 3 en 1\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eVolumen, nutrición y luminosidad en un solo paso. \u003cstrong\u003esin añadir peso\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003e🎀 Envolver papillotes — firma Yulia Marenkova\u003c\/span\u003eUsado solo, el favorito de los caniches de exhibició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\u003c\/summary\u003e  \u003cdiv class=\"aqr-proto-body\"\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003eTIENE\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAplicación pura\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eUsado \u003cstrong\u003esolo\u003c\/strong\u003e (sin diluir), Bombastic es el producto preferido del distribuidor internacional. \u003cstrong\u003eYulia Marenkova\u003c\/strong\u003e para llevar a cabo la \u003cstrong\u003elas patillas de sus caniches de exposición\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eEfecto deseado\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eEfecto \u003cstrong\u003enutrición seca\u003c\/strong\u003e que no engrasa la fibra: el cabello permanece seco al tacto dentro del envoltorio de aluminio, lo que evita el efecto de \u0026quot;cabello asfixiado\u0026quot;.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003ePromueve el crecimiento\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eEn el tratamiento a largo plazo de papilotes, este método de aplicación \u003cstrong\u003epromueve activamente el crecimiento\u003c\/strong\u003e y la calidad del nuevo cabello gracias al complejo mineral biotecnológico.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdiv style=\"margin-top: 18px; padding: 14px 18px; background: #f5f5f7; border: 1px solid #e5e5e7; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e📌  \u003cstrong\u003eImportante :\u003c\/strong\u003e Rimbombante \u003cstrong\u003eno es un producto suavizante\u003c\/strong\u003e.  Fortalece la estructura del pelaje y mejora la resistencia del pelo al cepillado y al secado, pero no está diseñado para el alisado mecánico.Para un efecto suavizante, combínalo con \u003cstrong\u003eFluido higro\u003c\/strong\u003e O \u003cstrong\u003eCrema hidratante\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOQUE 5: ASOCIACIONES \u0026  CARRERAS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \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;\"\u003eAsociaciones recomendadas \u0026amp; carreras\u003c\/h2\u003e  \u003c!-- Villanelle en el corazón + suplementos modulares Si... → Entonces --\u003e  \u003cdiv class=\"aqr-assoc\"\u003e  \u003cp class=\"aqr-assoc-intro\"\u003eToda la gama Special One es compatible con Bombastic. Nuestras combinaciones favoritas: 🤝  \u003cstrong\u003eBain Pro\/Aquarosa Pro\/Aquapure Pro\/4Poodle Pro\u003c\/strong\u003e (champús) \u003cstrong\u003eBioenergía\u003c\/strong\u003e (antes del baño) \u003cstrong\u003eCrema hidratante\/Aqua Dolce\u003c\/strong\u003e (máscara final) \u003cstrong\u003eAbsolute 4Poodle\/Rosa Mixto\/Estilo 360\u003c\/strong\u003e (refinamiento).\u003c\/p\u003e  \u003cdiv class=\"aqr-assoc-rules\"\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eSe necesita una profunda reconstrucción…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eDosis doble: 1 cucharada antes del baño + 1-2 cucharadas después del baño.\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eArreglo rápido en la peluquería…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003e1-2 cucharadas en champú + pulverizador diluido después del enjuague.\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eEnvolturas para el pelo de caniches de exposición grandes y medianos…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eRimbombante \u003cstrong\u003epuro si tu perro tiene un pelaje suficientemente grueso\u003c\/strong\u003e (Firma de Yulia Marenkova, a quien le encanta hacer esto con sus caniches grandes y medianos, blancos y negros)\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eefecto alisador deseado…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAsocia Bombástico con \u003cstrong\u003eFluido higro\u003c\/strong\u003e O \u003cstrong\u003eCrema hidratante\u003c\/strong\u003e\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eZona de volumen controlado (fondo Bouvier, cortina Yorkshire)...\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003e❌ No aplicar en estas áreas específicas\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003epuntas muy dañadas…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eMascarilla casera 50\/50 (Bombastic + agua fría)\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003c!-- Carreras en pastillas redondeadas --\u003e  \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eDonde Bombastic marca la diferencia:\u003c\/h3\u003e  \u003cdiv class=\"aqr-races-mosaic\"\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐱 Todos los gatos\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐩 Pieles rizadas \u003cspan\u003e(Caniches, Bichones, Kerry Blue, Soft Coated, Bedlington…)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐕🦺 Todos los pastores \u003cspan\u003e(Australianos, belgas, alemanes…)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐶 Todos los Cocker Spaniels \u003cspan\u003e(estadounidense, inglés)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🏔️ razas tibetanas \u003cspan\u003e(Shih Tzu, Lhasa Apso, Terrier tibetano…)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e👑 Spaniels miniatura ingleses \u003cspan\u003e(Jinete \u0026amp; Rey Carlos)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e💎 Pieles largas \u0026amp; sedoso \u003cspan\u003e(Afganos…)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🌊 Perros de agua, Retrievers \u0026amp; pastores de ganado \u003cspan\u003e(Terranova, Boyero de Berna, Golden Retriever…)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐺 Primitivos\/Doble capa \u003cspan\u003e(Spitz, Eurasiers, Samoyedos…)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🦴 Terriers \u003cspan\u003e(Escocés, Westie, galés…)\u003c\/span\u003e\u003c\/span\u003e  \u003c\/div\u003e  \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eLista larga y no exhaustiva: Bombastic se adapta a todo tipo de fibras, desde las más suaves hasta las más rebeldes.\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e  \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Sin SLES, parabenos ni siliconas | No probado en animales | Reciclable en HDPE\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e","brand":"Petdesign.fr","offers":[{"title":"1 litro","offer_id":40087665017011,"sku":"WEX-BOM1000 (51)","price":86.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/bombastic-le-serum-incontournable.png?v=1793144669"},{"product_id":"aqua-baby-paw","title":"Aqua Baby Paw - Shampoing Mousse Chiots","description":"\u003c!-- ============================================== SISTEMA DE DISEÑO — Refinamiento visual ============================================== --\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003c!-- BLOQUE 1: INTRODUCCIÓN --\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e  \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e  \u003cstrong\u003ePATA DE BEBÉ AGUA\u003c\/strong\u003e es el champú espumoso \u003cstrong\u003eultrasuave\u003c\/strong\u003e Especial formulado con amor \u003cstrong\u003eEl primer baño de tu cachorro\u003c\/strong\u003e.  Elaborado con ingredientes de origen orgánico controlado y con un delicioso aroma a algodón de azúcar, mantiene el equilibrio fisiológico de la delicada piel de los bebés: un pelaje suave, brillante y delicadamente perfumado.\u003c\/div\u003e  \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;\"\u003e¿A quién va dirigido este producto?\u003c\/h2\u003e  \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eDiseñado específicamente para \u003cstrong\u003ecachorros de hasta 6 meses de edad\u003c\/strong\u003e y perros adultos con piel sensible. Compatible con todos los productos de la gama Special One.\u003c\/p\u003e  \u003cdiv class=\"aqr-audience\"\u003e  \u003cdiv class=\"aqr-audience-grid\"\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003ePeluqueros\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eGanaderos\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eIndividuos\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOQUE 2: EXPERIENCIA \u0026  RESULTADOS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e  \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;\"\u003ePericia \u0026amp; Resultados\u003c\/h2\u003e  \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eLa piel de un cachorro es mucho más delicada que la de un perro adulto y requiere una limpieza extremadamente suave. \u003cstrong\u003eMousse suave y nutritiva\u003c\/strong\u003e Elimina profundamente las impurezas sin irritar, dañar la película hidrolipídica ni alterar el pH, dejando el pelaje ligero, sedoso y con un agradable aroma. Ideal para baños frecuentes desde las primeras semanas de vida.\u003c\/p\u003e  \u003cdiv style=\"margin-top: 20px;\" class=\"aqr-benefits\"\u003e  \u003cdiv class=\"aqr-benefits-grid\"\u003e  \u003cdiv style=\"--i: 0;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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=\"M19 4c0 6-5 11-11 11l-3 5h2l1-2c6 0 11-5 11-14z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eUltra suave \u0026amp; seguro\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eFórmula orgánica controlada, libre de parabenos, SLES y DEA: perfecta incluso para las pieles más sensibles.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"--i: 1;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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 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  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eEquilibrio fisiológico\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eMantiene el pH natural de la piel y preserva intacta la película hidrolipídica.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"--i: 2;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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=\"4\" cy=\"15\" cx=\"9\"\u003e\u003c\/circle\u003e\u003ccircle r=\"3\" cy=\"9\" cx=\"15\"\u003e\u003c\/circle\u003e\u003ccircle r=\"2\" cy=\"16\" cx=\"17\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eMousse nutritiva\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eLimpia a fondo sin dañar el pelaje; queda suave, brillante y ligeramente perfumado.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"--i: 3;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eCalmante\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eReduce las posibles irritaciones y proporciona un alivio inmediato a la delicada piel del cachorro.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"--i: 4;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eBaños frecuentes\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eIdeal para uso regular, sin riesgo para la piel ni el pelaje de los niños pequeños.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- UNIDAD DE RADAR (trasladada a la sección de Experiencia) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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;\"\u003eComprender mejor las acciones de Aqua Baby Paw\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn análisis detallado de su desempeño cosmético, nota por nota.\u003c\/p\u003e  \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  \u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e  \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  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Peau sensible\", value: 5 }, { label: \"Volume\", value: 4 }, { label: \"Hydratation\", value: 3 }, { label: \"Démêlant\", 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!-- BLOQUE 3: COMPOSICIÓN (MAPEO JS activo Aqua Baby Paw - verificado) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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;\"\u003eComposición de Aqua Baby Paw: ingredientes activos naturales \u0026amp; acción dirigida\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eCinco extractos orgánicos con propiedades complementarias, cuidadosamente seleccionados para la suavidad y protección de la piel joven. \u003cstrong\u003eSin SLES, sin DEA, sin parabenos\u003c\/strong\u003e.  Aquí se explica, zona por zona, cómo actúa cada ingrediente activo sobre la piel y el cabello.\u003c\/p\u003e  \u003c!-- CARTOGRAFÍA --\u003e  \u003cdiv style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\" id=\"aqr-carto\"\u003e  \u003cdiv class=\"aqr-grid\"\u003e  \u003cdiv class=\"aqr-col-list\"\u003e  \u003cul id=\"aqrList\" class=\"aqr-list\"\u003e\u003c\/ul\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-schema\"\u003e  \u003cdiv id=\"aqrSchemaWrap\" class=\"aqr-schema-wrap\"\u003e  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l'Aqua Baby Paw\" 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  \u003cdiv id=\"aqrConnectors\" class=\"aqr-connectors\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-info\"\u003e  \u003cdiv id=\"aqrInfo\" class=\"aqr-info\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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:'avoine', label:'Lait d’Avoine', latin:'Avena sativa', family:'botanic',\n          desc:\"Actif emblématique des soins pour peaux sensibles : il hydrate, apaise, restaure le film hydrolipidique, maintient le pH et prévient sécheresse et rougeurs.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisement \u0026 hydratation\", benefit:\"Apaise la peau délicate et prévient sécheresse et rougeurs.\" },\n            { anchor:'film_hydro', action:\"Restauration du film\", benefit:\"Restaure le film hydrolipidique et maintient le pH naturel.\" }\n          ]\n        },\n        {\n          id:'coton', label:'Fleurs de Coton', latin:'Gossypium', family:'botanic',\n          desc:\"Extrait émollient et frais : il maintient le manteau doux et moelleux tout en protégeant la peau des agressions extérieures.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Douceur \u0026 moelleux\", benefit:\"Laisse le pelage doux et moelleux au toucher.\" },\n            { anchor:'epiderme', action:\"Protection cutanée\", benefit:\"Protège la peau délicate des agressions extérieures.\" }\n          ]\n        },\n        {\n          id:'amande', label:'Huile d’Amande Douce', latin:'Prunus dulcis', family:'cond',\n          desc:\"Riche en vitamines et acides gras essentiels : émolliente, hydratante et assouplissante, elle nourrit en profondeur et confère brillance et douceur au pelage.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Nutrition lipidique\", benefit:\"Nourrit le film hydrolipidique en profondeur avec ses acides gras essentiels.\" },\n            { anchor:'cuticule', action:\"Brillance \u0026 souplesse\", benefit:\"Assouplit la cuticule et confère brillance et douceur au pelage.\" }\n          ]\n        },\n        {\n          id:'abricot', label:'Extrait d’Abricot', latin:'Prunus armeniaca', family:'bio',\n          desc:\"Illuminant, régénérant et protecteur contre la déshydratation : il revigore le manteau et le laisse léger et soyeux au toucher.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Éclat \u0026 régénération\", benefit:\"Revigore et illumine le manteau pour un toucher léger et soyeux.\" },\n            { anchor:'film_hydro', action:\"Anti-déshydratation\", benefit:\"Protège la peau et le poil contre la déshydratation.\" }\n          ]\n        },\n        {\n          id:'camomille', label:'Camomille', latin:'Matricaria chamomilla', family:'botanic',\n          desc:\"Apaisante et anti-inflammatoire : elle rééquilibre la peau, réduit les irritations et apporte une sensation de bien-être immédiate lors du bain.\",\n          targets: [\n            { anchor:'epiderme', action:\"Anti-inflammatoire\", benefit:\"Réduit les irritations et rééquilibre la peau délicate.\" },\n            { anchor:'derme', action:\"Bien-être immédiat\", benefit:\"Apporte une sensation de bien-être et de confort 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  \u003c\/div\u003e  \u003c!-- BLOQUE 4: PROTOCOLOS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e  \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;\"\u003eProtocolos \u0026amp; Sugerencias de uso\u003c\/h2\u003e  \u003c!-- Inserto listo para usar --\u003e  \u003cdiv style=\"margin: 0 0 12px; padding: 14px 18px; background: #f0f7ff; border-left: 3px solid #4a90d9; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e💡  \u003cstrong\u003eAgitar antes de usar.\u003c\/strong\u003e Producto \u003cstrong\u003epreparado para usar\u003c\/strong\u003e — Aplicar sin diluir sobre el cabello húmedo, sin necesidad de diluirlo.\u003c\/div\u003e  \u003cdiv style=\"margin-top: 4px;\" class=\"aqr-proto-list\"\u003e  \u003cdetails open=\"\" class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eEl primer baño del cachorro\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  \u003cdiv class=\"aqr-proto-content\"\u003e  \u003cp class=\"aqr-proto-subtitle\"\u003eUn momento tierno para los más pequeños.\u003c\/p\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAgitar la botella\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAgite bien la botella antes de usarla para homogeneizar la espuma.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAplicación fluida\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAplicar \u003cstrong\u003eunas gotas de espuma sobre el pelaje húmedo\u003c\/strong\u003e,  Luego, masajea suavemente para distribuirlo por todo el pelaje.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eEnjuague\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eEnjuague bien con agua tibia. Repita si es necesario.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAcondicionador (más tarde)\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eInicialmente, no es necesario usar acondicionador. Cuando con el tiempo y los baños repetidos surja la necesidad, cambie a...\u003cstrong\u003eCrema hidratante\u003c\/strong\u003e para mejorar el tratamiento.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- BLOQUE 5: ASOCIACIONES \u0026  CARRERAS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \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;\"\u003eAsociaciones recomendadas \u0026amp; carreras\u003c\/h2\u003e  \u003c!-- Aqua Baby Paw en el corazón + suplementos modulares Si... → Entonces --\u003e  \u003cdiv class=\"aqr-assoc\"\u003e  \u003cp class=\"aqr-assoc-intro\"\u003eCompatible con \u003cstrong\u003eTodos los productos de la gama Special One\u003c\/strong\u003e,  Sin excepción. La única recomendación para progresar:\u003c\/p\u003e  \u003cdiv class=\"aqr-assoc-rules\"\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eEl abrigo empieza a necesitar algunos cuidados…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eCrema hidratante como acondicionador final.\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eEl cachorro crece (más allá de los 6 meses)...\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eActualiza a Aquarosa Pro o Bain Pro.\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003c!-- Carreras en pastillas redondeadas --\u003e  \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eDonde Aqua Baby Paw marca la diferencia:\u003c\/h3\u003e  \u003cdiv class=\"aqr-races-mosaic\"\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐶 Todos los cachorros de hasta 6 meses de edad. \u003cspan\u003e(todas las razas combinadas)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🌿 Perros adultos con piel sensible o reactiva \u003cspan\u003e(Detergente ecológico para todas las edades)\u003c\/span\u003e\u003c\/span\u003e  \u003c\/div\u003e  \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eLista larga y no exhaustiva: un champú espumoso formulado para las pieles más delicadas.\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e  \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Libre de SLES, DEA, parabenos y siliconas | No probado en animales | Reciclable en HDPE\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"Default Title","offer_id":42162381881564,"sku":"WAQ-AQBP150 (123)","price":25.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/aqua-baby-paw-shampoing-mousse-chiots.png?v=1793144923"},{"product_id":"bee-mousse-specialone","title":"Bee Mousse 150mL - almohadilla especial para perros y gatos","description":"\u003c!-- ============================================== SISTEMA DE DISEÑO — Refinamiento visual ============================================== --\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003c!-- BLOQUE 1: INTRODUCCIÓN --\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e  \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e  \u003cstrong\u003eMUSGO DE ABEJA\u003c\/strong\u003e es el \u003cstrong\u003eespuma desinfectante sin enjuague\u003c\/strong\u003e Especial diseñado para \u003cstrong\u003epatas y almohadillas\u003c\/strong\u003e de tu perro. Gracias a la \u003cstrong\u003eClorhexidina\u003c\/strong\u003e y al \u003cstrong\u003ePropóleos\u003c\/strong\u003e,  Desinfecta, protege e hidrata; ideal después de los paseos o cuando el perro llega a la peluquería canina para limitar la propagación de virus.\u003c\/div\u003e  \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;\"\u003e¿A quién va dirigido este producto?\u003c\/h2\u003e  \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eDiseñado para ambos \u003cstrong\u003esalones de peluquería\u003c\/strong\u003e (desinfección de las patas a la llegada) y la \u003cstrong\u003eindividuos\u003c\/strong\u003e (después de cada viaje). Compatible con todos los productos Special One.\u003c\/p\u003e  \u003cdiv class=\"aqr-audience\"\u003e  \u003cdiv class=\"aqr-audience-grid\"\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003ePeluqueros\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eGanaderos\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \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  \u003cdiv class=\"aqr-audience-name\"\u003eIndividuos\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOQUE 2: EXPERIENCIA \u0026  RESULTADOS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e  \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;\"\u003ePericia \u0026amp; Resultados\u003c\/h2\u003e  \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eLas patas de tu perro están en contacto constante con carreteras, hierba, barro y, a veces, sustancias nocivas. Bee Mousse es un \u003cstrong\u003eespuma limpiadora sin enjuague\u003c\/strong\u003e Desinfecta y protege, sin resecar, sin engrasar y sin dejar marcas en el suelo. Práctico, se aplica en dos segundos.\u003c\/p\u003e  \u003cdiv style=\"margin-top: 20px;\" class=\"aqr-benefits\"\u003e  \u003cdiv class=\"aqr-benefits-grid\"\u003e  \u003cdiv style=\"--i: 0;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eAcción de limpieza profunda\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eClorhexidina + Propóleo: elimina las bacterias e impurezas de las compresas, previene infecciones e irritaciones.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"--i: 1;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003ePurificar \u0026amp; suaviza\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eEl propóleo (\u0026quot;el antibiótico natural\u0026quot;) purifica la piel de las almohadillas de las patas y alivia pequeños cortes, rasguños o enrojecimiento.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"--i: 2;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eDelicado \u0026amp; hidratante\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eFórmula suave que no reseca: las patas se mantienen flexibles, sin agrietarse ni resecarse.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"--i: 3;\" class=\"aqr-benefit-card\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \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=\"M13 2L4 14h7l-1 8 9-12h-7z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eRápido \u0026amp; sin agua\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eNo necesita agua ni enjuague: se aplica en dos segundos después de cada paseo o al llegar a la peluquería.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- UNIDAD DE RADAR (trasladada a la sección de Experiencia) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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;\"\u003eComprender mejor las acciones de Bee Mousse\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUn análisis detallado de su desempeño cosmético, nota por nota.\u003c\/p\u003e  \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  \u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e  \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  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Peau sensible\", value: 5 }, { label: \"Action assainissante\", value: 5 }, { 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  \u003c!-- BLOQUE 3: COMPOSICIÓN (MAPEO JS activo Bee Mousse - verificado) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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;\"\u003eComposición de la mousse de abeja: ingredientes activos específicos \u0026amp; acción sobre las almohadillas\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eDos productos destinados a la limpieza y protección de las compresas: \u003cstrong\u003eSin SLES, sin DEA, sin parabenos\u003c\/strong\u003e.  Aquí se describe, zona por zona, cómo actúa cada ingrediente activo sobre la piel de las patas.\u003c\/p\u003e  \u003c!-- CARTOGRAFÍA --\u003e  \u003cdiv style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\" id=\"aqr-carto\"\u003e  \u003cdiv class=\"aqr-grid\"\u003e  \u003cdiv class=\"aqr-col-list\"\u003e  \u003cul id=\"aqrList\" class=\"aqr-list\"\u003e\u003c\/ul\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-schema\"\u003e  \u003cdiv id=\"aqrSchemaWrap\" class=\"aqr-schema-wrap\"\u003e  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Bee Mousse\" 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  \u003cdiv id=\"aqrConnectors\" class=\"aqr-connectors\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-info\"\u003e  \u003cdiv id=\"aqrInfo\" class=\"aqr-info\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \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:'chlorhexidine', label:'Chlorhexidine', latin:'Antibactérien \u0026 antifongique', family:'bio',\n          desc:\"Puissant antibactérien et antifongique de référence : elle élimine les micro-organismes accumulés sur les coussinets après chaque sortie et prévient infections et irritations.\",\n          targets: [\n            { anchor:'epiderme', action:\"Désinfection ciblée\", benefit:\"Élimine bactéries et germes accumulés sur la peau des coussinets.\" },\n            { anchor:'glande_sud', action:\"Prévention des infections\", benefit:\"Réduit les déséquilibres bactériens et prévient les infections cutanées.\" }\n          ]\n        },\n        {\n          id:'propolis', label:'Propolis', latin:'« L’antibiotique naturel »', family:'botanic',\n          desc:\"Résine d’abeille aux propriétés antiseptiques, lénifiantes et protectrices : elle apaise les petites coupures et griffures, et favorise la régénération de la peau des coussinets.\",\n          targets: [\n            { anchor:'epiderme', action:\"Cicatrisation douce\", benefit:\"Apaise les petites coupures, griffures ou rougeurs et soutient la régénération.\" },\n            { anchor:'film_hydro', action:\"Protection durable\", benefit:\"Protège la peau des coussinets des agents extérieurs et la maintient souple.\" }\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  \u003c\/div\u003e  \u003c!-- BLOQUE 4: PROTOCOLOS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e  \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;\"\u003eProtocolos \u0026amp; Sugerencias de uso\u003c\/h2\u003e  \u003c!-- Inserto listo para usar --\u003e  \u003cdiv style=\"margin: 0 0 12px; padding: 14px 18px; background: #f0f7ff; border-left: 3px solid #4a90d9; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e💡  \u003cstrong\u003eAgitar antes de usar.\u003c\/strong\u003e Mousse \u003cstrong\u003epreparado para usar\u003c\/strong\u003e, \u003cstrong\u003esin enjuague\u003c\/strong\u003e — Aplicación directa sobre las compresas, sin agua ni dilución.\u003c\/div\u003e  \u003cdiv style=\"margin-top: 4px;\" class=\"aqr-proto-list\"\u003e  \u003cdetails open=\"\" class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eAplicación en las almohadillas\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  \u003cdiv class=\"aqr-proto-content\"\u003e  \u003cp class=\"aqr-proto-subtitle\"\u003eUn gesto rápido después de cada paseo o al llegar al salón.\u003c\/p\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAgitar la botella\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAgite bien la botella antes de cada uso para homogeneizar la espuma.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAplicación generosa\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAplicar \u003cstrong\u003eapliqué generosamente la espuma en los extremos de las almohadillas sucias.\u003c\/strong\u003e,  sin necesidad de agua.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eLimpiar\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eLimpiar con un \u003cstrong\u003etoalla limpia\u003c\/strong\u003e.  No deja rastro en el suelo; está lista para usarse de nuevo inmediatamente.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eUsos principales\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003e  \u003cstrong\u003eEn la sala de estar\u003c\/strong\u003e,  A la llegada del perro, desinfectarle las patas y prevenir la propagación de virus externos. \u003cstrong\u003eEn la residencia privada\u003c\/strong\u003e,  al regresar de cada paseo diario.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- BLOQUE 5: ASOCIACIONES \u0026  CARRERAS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \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;\"\u003eAsociaciones recomendadas \u0026amp; carreras\u003c\/h2\u003e  \u003c!-- Bee Mousse en el corazón + suplementos modulares Si... → Entonces --\u003e  \u003cdiv class=\"aqr-assoc\"\u003e  \u003cp class=\"aqr-assoc-intro\"\u003eCompatible con \u003cstrong\u003eTodos los productos de la gama Special One\u003c\/strong\u003e,  Sin excepción, se trata de un suplemento diario que se toma independientemente del baño.\u003c\/p\u003e  \u003cdiv class=\"aqr-assoc-rules\"\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eEl perro llega a la peluquería canina…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eDesinfecte las patas con Bee Mousse antes de cualquier otro tratamiento.\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eDe regreso de un paseo por la residencia privada…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAplicación exprés: sin agua, en 2 segundos.\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e  \u003cspan\u003eEntonces se desea un baño completo…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eCompatible con todos los champús Special One.\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003c!-- Carreras en pastillas redondeadas --\u003e  \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eDonde Bee Mousse marca la diferencia:\u003c\/h3\u003e  \u003cdiv class=\"aqr-races-mosaic\"\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐶 Todos los perros \u003cspan\u003e(Todas las razas, todas las edades)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🏠 ferias comerciales \u0026amp; individuos \u003cspan\u003e(uso diario independientemente del baño)\u003c\/span\u003e\u003c\/span\u003e  \u003c\/div\u003e  \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eUn sencillo paso de higiene para integrar en la rutina diaria: volver de un paseo, llegar a la peluquería.\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e  \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Libre de SLES, DEA, parabenos y siliconas | No probado en animales | Reciclable en HDPE\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e","brand":"Petdesign.fr","offers":[{"title":"Default Title","offer_id":42162385223900,"sku":"WAQ-AQBEMO150 (139)","price":20.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/bee-mousse-150ml-special-coussinet-chien-chat.png?v=1793144956"},{"product_id":"baby-paw-parfum","title":"Baby Paw parfum","description":"\u003cp\u003e\u003cstrong\u003eBaby Paw\u003c\/strong\u003e est un parfum pour chien doux et gourmand qui rappelle l'enfance : il s'ouvre sur le citron, l'orange, la fraise et la framboise, puis laisse place aux fleurs blanches et à la vanille.\u003c\/p\u003e\n\u003ch2\u003eLes notes du parfum Baby Paw\u003c\/h2\u003e\n\u003cp\u003eSon sillage tendre évoque des biscuits tout juste sortis du four.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eNotes de tête : citron, orange, fraise, framboise\u003c\/li\u003e\n\u003cli\u003eNotes de fond : fleurs blanches, vanille\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eBien utiliser le parfum Baby Paw\u003c\/h2\u003e\n\u003cp\u003eVaporisez uniquement sur les poils de la queue et du dos, à 20 cm de distance. Deux pulvérisations suffisent. Ne pas vaporiser dans les yeux du chien et tenir hors de portée des enfants.\u003c\/p\u003e\n\u003ch2\u003eContenance et précautions\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFlacon de 100 ml\u003c\/li\u003e\n\u003cli\u003eContient de l'alcool (produit inflammable)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eVos questions sur Baby Paw\u003c\/h2\u003e\n\u003ch3\u003eOù appliquer le parfum ?\u003c\/h3\u003e\n\u003cp\u003eSur les poils de la queue et du dos, à 20 cm, jamais près des yeux.\u003c\/p\u003e\n\u003ch3\u003eCombien de pulvérisations faut-il ?\u003c\/h3\u003e\n\u003cp\u003eDeux suffisent.\u003c\/p\u003e","brand":"Petdesign.fr","offers":[{"title":"Default Title","offer_id":42890970464476,"sku":"(103)","price":46.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/baby-paw-parfum.png?v=1793145148"},{"product_id":"catalogue-special-one-download","title":"Catalogue Petdesign (papier ou téléchargeable gratuitement)","description":"\u003cp\u003e\u003ca href=\"https:\/\/bit.ly\/CataloguePetdesignFR\"\u003e✅​ Cliquez ici pour télécharger le fichier au format pdf\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 1.4em;\"\u003e \u003c\/span\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eEn version papier : un seul catalogue par commande. \u003c\/p\u003e","brand":"Petdesign.fr","offers":[{"title":"Papier","offer_id":42928752885980,"sku":null,"price":0.0,"currency_code":"EUR","in_stock":false},{"title":"Informatique","offer_id":42928752918748,"sku":"CAT-SO-2023","price":0.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/catalogue-petdesign-papier-ou-telechargeable-gratuitement.png?v=1793145148"},{"product_id":"towel-special-one","title":"Serviette Special One","description":"\u003cp\u003eLa \u003cstrong\u003eserviette Special One\u003c\/strong\u003e est une serviette en coton de la marque Special One, proposée en trois coloris.\u003c\/p\u003e\n\u003ch2\u003eLa serviette Special One en coton\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e100 % coton\u003c\/strong\u003e : une matière naturelle et agréable.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGrand format\u003c\/strong\u003e : 80 x 100 cm.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTrois coloris\u003c\/strong\u003e : noir et blanc, rose pâle ou gris.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eFormat et coloris de la serviette Special One\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDimensions : 80 x 100 cm\u003c\/li\u003e\n\u003cli\u003eMatière : 100 % coton\u003c\/li\u003e\n\u003cli\u003eColoris : noir et blanc, rose pâle, gris\u003c\/li\u003e\n\u003cli\u003eFabriquée dans l'Union européenne\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"autre","offers":[{"title":"Gris","offer_id":46878927061337,"sku":"(442- Gris)","price":15.0,"currency_code":"EUR","in_stock":true},{"title":"Noir \u0026 Blanc","offer_id":46878927094105,"sku":"(442- Noir)","price":15.0,"currency_code":"EUR","in_stock":true},{"title":"Rose pâle","offer_id":54738656035161,"sku":"(442- Rose)","price":15.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/serviette-special-one.png?v=1793146318"},{"product_id":"aqua-beauty","title":"AQUA BEAUTY : spray bi phase anti statique plombant gainant démêlant","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eAQUA BEAUTY\u003c\/strong\u003e est le spray conditionneur professionnel Special One qui se distingue par deux actions majeures : un \u003cstrong\u003edémêlage optimisé, aussi rapide qu'efficace\u003c\/strong\u003e, et un \u003cstrong\u003elissage \/ défrisage immédiat\u003c\/strong\u003e du pelage. On le retrouve dans la plupart des mallettes de toilettage.\n    \u003c\/div\u003e\n\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin: 0 0 15px 0; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eDe la mallette du toiletteur professionnel à la brosse du particulier, il a sa place partout.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003eToiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003eÉleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003eParticuliers\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;\"\u003eCompétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003eHandlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR : DIAGRAMME COSMÉTOLOGIQUE --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:24px 28px 20px;overflow:visible;\"\u003e\n        \u003cspan style=\"font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#999;margin-bottom:22px;display:block;\"\u003eDiagramme cosmétologique de l'Aqua Beauty\u003c\/span\u003e\n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label {\n      position: absolute;\n      transform: translate(-50%, -50%);\n      text-align: center;\n      pointer-events: none;\n      white-space: nowrap;\n      opacity: 0;\n      animation: so-fadeUp 0.5s ease forwards;\n    }\n    .so-label .so-lname {\n      font-size: 9px;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n      color: #999;\n      display: block;\n      margin-bottom: 1px;\n      font-family: inherit;\n    }\n    .so-label .so-lval {\n      font-size: 24px;\n      font-weight: 700;\n      color: #1a1a1a;\n      line-height: 1;\n      font-family: inherit;\n    }\n    .so-label .so-lmax {\n      font-size: 12px;\n      font-weight: 400;\n      color: #bbb;\n      font-family: inherit;\n    }\n    .so-footer-bar {\n      margin-top: 18px;\n      border-top: 1px solid #eee;\n      padding-top: 14px;\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 6px;\n      opacity: 0;\n      animation: so-footerIn 0.5s ease forwards 0.8s;\n    }\n    .so-footer-label {\n      font-size: 9px;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.1em;\n      color: #999;\n      font-family: inherit;\n      margin-right: 2px;\n    }\n    .so-footer-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: 4px;\n      background: #1a1a1a;\n      padding: 4px 10px;\n      font-size: 11px;\n      font-weight: 600;\n      color: #fff;\n      font-family: inherit;\n    }\n    .so-footer-chip-score {\n      font-weight: 400;\n      color: rgba(255,255,255,0.4);\n      font-size: 10px;\n    }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp {\n      from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); }\n      to   { opacity: 1; transform: translate(-50%, -50%); }\n    }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-footer-chip { font-size: 10px !important; padding: 3px 8px !important; }\n      .so-footer-label { font-size: 8px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Brillance\",    value: 5 },\n        { label: \"Gainage\",      value: 5 },\n        { label: \"Volume\",       value: 1 },\n        { label: \"Hydratation\",  value: 4 },\n        { label: \"Démêlant\",     value: 5 }\n      ]\n    };\n\n    var svg  = document.getElementById(\"so-radar-svg\");\n    var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria;\n    var n    = data.length;\n    var cx = 180, cy = 180, maxR = 95;\n\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) {\n      var a = ang(i), r = (v \/ mx) * maxR;\n      return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) };\n    }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n\n    for (var l = 1; l \u003c= 5; l++) {\n      var pts = [];\n      for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); }\n      var poly = svgEl(\"polygon\");\n      poly.setAttribute(\"points\", pts.join(\" \"));\n      poly.setAttribute(\"fill\", \"none\");\n      poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\");\n      poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\");\n      if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\");\n      svg.appendChild(poly);\n    }\n\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, 5, 5);\n      var line = svgEl(\"line\");\n      line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy);\n      line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y);\n      line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\");\n      line.setAttribute(\"stroke-width\", \"0.6\");\n      svg.appendChild(line);\n    }\n\n    var shapePts = [];\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, data[i].value, 5);\n      shapePts.push(p.x + \",\" + p.y);\n    }\n    var ptsStr = shapePts.join(\" \");\n\n    var fillPoly = svgEl(\"polygon\");\n    fillPoly.setAttribute(\"points\", ptsStr);\n    fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\");\n    fillPoly.classList.add(\"so-shape-fill\");\n    svg.appendChild(fillPoly);\n\n    var strokePoly = svgEl(\"polygon\");\n    strokePoly.setAttribute(\"points\", ptsStr);\n    strokePoly.setAttribute(\"fill\", \"none\");\n    strokePoly.setAttribute(\"stroke\", \"#1a1a1a\");\n    strokePoly.setAttribute(\"stroke-width\", \"1.8\");\n    strokePoly.setAttribute(\"stroke-linejoin\", \"round\");\n    strokePoly.classList.add(\"so-shape-stroke\");\n    svg.appendChild(strokePoly);\n\n    for (var i = 0; i \u003c n; i++) {\n      (function(i) {\n        var d = data[i];\n        var p = pt(i, d.value, 5);\n        var delay = 0.5 + i * 0.1;\n\n        var halo = svgEl(\"circle\");\n        halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y);\n        halo.setAttribute(\"r\", \"7\");\n        halo.setAttribute(\"fill\", \"none\");\n        halo.setAttribute(\"stroke\", \"#1a1a1a\");\n        halo.setAttribute(\"stroke-width\", \"1\");\n        halo.setAttribute(\"stroke-opacity\", \"0.12\");\n        halo.classList.add(\"so-dot\");\n        halo.style.animationDelay = delay + \"s\";\n        svg.appendChild(halo);\n\n        var dot = svgEl(\"circle\");\n        dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y);\n        dot.setAttribute(\"r\", \"3\");\n        dot.setAttribute(\"fill\", \"#1a1a1a\");\n        dot.classList.add(\"so-dot\");\n        dot.style.animationDelay = delay + \"s\";\n        svg.appendChild(dot);\n\n        var lp = pt(i, 6.5, 5);\n        var pctX = (lp.x \/ 360) * 100;\n        var pctY = (lp.y \/ 360) * 100;\n\n        var lbl = document.createElement(\"div\");\n        lbl.className = \"so-label\";\n        lbl.style.left = pctX + \"%\";\n        lbl.style.top  = pctY + \"%\";\n        lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\";\n        lbl.innerHTML =\n          '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e' +\n          '\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e';\n        area.appendChild(lbl);\n      })(i);\n    }\n\n    var maxVal = 0;\n    for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; }\n    var bests = [];\n    for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n\n    var chipsHtml = '';\n    for (var i = 0; i \u003c bests.length; i++) {\n      chipsHtml +=\n        '\u003cspan class=\"so-footer-chip\"\u003e' +\n          bests[i].label +\n          '\u003cspan class=\"so-footer-chip-score\"\u003e' + bests[i].value + '\/5\u003c\/span\u003e' +\n        '\u003c\/span\u003e';\n    }\n\n    document.getElementById(\"so-radar-footer\").innerHTML =\n      '\u003cdiv class=\"so-footer-bar\"\u003e' +\n        '\u003cspan class=\"so-footer-label\"\u003e★ ' + (bests.length \u003e 1 ? 'Points forts' : 'Point fort') + '\u003c\/span\u003e' +\n        chipsHtml +\n      '\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\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; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eAqua Beauty agit sur le pelage comme un \u003cstrong\u003epuissant agent restructurant et hydratant\u003c\/strong\u003e. Il protège aussi bien la fourrure négligée qui arrive au salon que le manteau très sollicité d'un chien d'exposition. Quelques pulvérisations et le poil redevient glissant, détendu, lisse.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: disc;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eLissage \u0026amp; défrisage :\u003c\/strong\u003e les ondulations et les frisottis disparaissent tout de suite.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eConditioning intense :\u003c\/strong\u003e il gaine, protège et conditionne fortement le poil.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eDémêlage rapide :\u003c\/strong\u003e il défait les nœuds, même à sec.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eAnti-électricité statique :\u003c\/strong\u003e plus d'électricité statique, le brossage devient fluide.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eHydratation :\u003c\/strong\u003e il apporte eau et souplesse à la fibre, en profondeur.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eAnti-casse :\u003c\/strong\u003e le poil résiste mieux et casse moins.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eAnti-nœuds durables :\u003c\/strong\u003e les nœuds reviennent nettement moins vite entre deux bains.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eBrushing facilité :\u003c\/strong\u003e le poil glisse et se détend, même quand il accroche en début de séchage.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e\n\u003cstrong\u003eRéparateur :\u003c\/strong\u003e il répare les dégâts du vent, de la pollution et du séchage intensif.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eNon gras :\u003c\/strong\u003e contrairement aux huiles, il démêle sans graisser. Vous pouvez l'utiliser avant le bain sans risque de mauvais rinçage ni de tache sur les robes blanches.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 3 : ACTIFS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #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; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formule naturelle qui restructure, hydrate et fait briller, sans parabens.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003eExtrait d'Orchidée\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en minéraux et polysaccharides : hydratant, adoucissant, régénérant. Il donne au poil un toucher velouté et élastique.\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\u003eTulipe Africaine (Spathodea campanulata)\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en flavonoïdes, anthocyanes et triterpénoïdes aux propriétés antioxydantes, astringentes et apaisantes. Illumine le manteau, répare les dommages causés par le vent, la pollution et le séchage au sèche-cheveux.\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\u003eProtéines Hydrolysées de Blé\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eTrès bon effet antistatique et filmant, sans graisser le poil. Ordonne les manteaux légers et fins, évite l'effet \"volant\" sans alourdir ni tacher.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #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; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n\n    \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n      💡 Mode d'emploi de base : vaporiser à \u003cstrong\u003e20 ou 30 cm\u003c\/strong\u003e du poil, puis brosser ou peigner.\n    \u003c\/div\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Brossage quotidien entre les bains\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Entre deux bains, Aqua Beauty \u003cstrong\u003efacilite chaque brossage\u003c\/strong\u003e. Vaporisez sur le manteau sec ou légèrement humidifié, à 20 ou 30 cm.\u003cbr\u003e\n        Brossez section par section. Le poil se lisse, se détend et retrouve son éclat naturel sans aucun rinçage. Résultat immédiat, manipulation rapide.\u003cbr\u003e\u003cbr\u003e\n        \u003cstrong\u003e💡 Finition franges Spaniel :\u003c\/strong\u003e vaporisez directement sur les franges et peignez pour les modeler : c'est la dernière touche avant une exposition.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Démêlage à sec : nœuds \u0026amp; fourrures accrochantes\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Sur les zones à nœuds ou lorsque le poil accroche en début de séchage :\u003cbr\u003e\n        1. Vaporisez Aqua Beauty directement sur la zone concernée, à 20 ou 30 cm.\u003cbr\u003e\n        2. Laissez pénétrer quelques secondes.\u003cbr\u003e\n        3. Démêlez à la main ou au peigne, puis finissez à la brosse. Le poil devient \u003cstrong\u003eglissant et détendu\u003c\/strong\u003e, le démêlage s'effectue sans douleur ni casse.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Finition après bain : séchage \u0026amp; brushing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Aqua Beauty trouve sa place en \u003cstrong\u003efinition après le bain\u003c\/strong\u003e, en complément de l'Hydrating Cream ou du Bio Energy :\u003cbr\u003e\n        1. Une fois le poil partiellement séché, vaporisez Aqua Beauty sur l'ensemble du manteau.\u003cbr\u003e\n        2. Brossez section par section en continuant le séchage au sèche-cheveux.\u003cbr\u003e\n        Le poil se lisse, l'électricité statique disparaît et le brushing final devient bien plus simple.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #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; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003eToute la gamme Special One est compatible avec Aqua Beauty. Nos associations préférées :\u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n      \u003cstrong\u003eHydrating Cream \u0026amp; Bio Energy Plus\u003c\/strong\u003e en après-shampoing : l'un conditionne, Aqua Beauty lisse.\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ \u003cstrong\u003eToutes les races, sans exception\u003c\/strong\u003e : il convient à tous les types de manteaux.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ \u003cstrong\u003eMaltais\u003c\/strong\u003e : poil fin, électrostatique, sujet aux nœuds et aux taches d'huile sur robe blanche. Aqua Beauty répond précisément à ces contraintes. Le \"conditionneur des Maltais\".\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures soyeuses et longues (Yorkshire, Afghans, Cockers, Setters) : lissage et brillance remarquables.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Caniches : il allège et ordonne le manteau sans le friser (à la différence d'Absolute 4Poodle, qui lui est dédié au volume).\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures doubles (Bergers, Golden, Spitz) : démêlage facilité entre les bains.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Chiens d'exposition : protection renforcée des manteaux très sollicités, finition impeccable.\u003c\/td\u003e\u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable à plus de 90 % | Sans Paraben | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250ml","offer_id":48523070013785,"sku":"WAQ-AQBE250 (30)","price":44.0,"currency_code":"EUR","in_stock":true},{"title":"1 litro","offer_id":57210605470041,"sku":"(17)","price":103.5,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/aqua-beauty-spray-bi-phase-anti-statique-plombant-gainant-demelant.png?v=1793146575"},{"product_id":"villanelle-special-one-masque-apres-shampoing","title":"VILLANELLE, Crema Ultra-Desenredante \u0026 Secado Rápido","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e  \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e  \u003cstrong\u003eVILLANELLE\u003c\/strong\u003e es el nuevo tratamiento \u0026quot;Ultra-Detangling\u0026quot; de Special One. Diseñado para disolver incluso los nudos más difíciles, reduce hasta \u003cstrong\u003e40% de tiempo de secado\u003c\/strong\u003e a la vez que protege el cabello del estrés térmico.\u003c\/div\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003e¿A quién va dirigido este producto?\u003c\/span\u003e  \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003e¡Imprescindible para la eficiencia y el ahorro de tiempo! Es el producto ideal para desenredar el cabello de forma compleja y eliminar el pelo muerto en grandes cantidades.\u003c\/p\u003e  \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e  \u003ctbody\u003e  \u003ctr\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Peluqueros\u003c\/td\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Ganaderos\u003c\/td\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Individuos\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Competidores\u003c\/td\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ adiestradores\u003c\/td\u003e  \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e  \u003c\/tr\u003e  \u003c\/tbody\u003e  \u003c\/table\u003e  \u003c\/div\u003e  \u003c!-- BLOQUEO DE RADAR: DIAGRAMA COSMOLÓGICO --\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e  \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  \u003cdiv style=\"padding: 24px 28px 20px; overflow: visible;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 22px; display: block;\"\u003eDiagrama cosmético de Villanelle\u003c\/span\u003e  \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  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \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  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Hydratation\",  value: 5 },\n        { label: \"Brillance\",    value: 4 },\n        { label: \"Soin peau\",    value: 3 },\n        { label: \"Volume\",       value: 4 },\n        { label: \"Démêlant\",     value: 5 }\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  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePericia \u0026amp; Resultados\u003c\/span\u003e  \u003cp style=\"font-size: 14px;\"\u003eGracias a \u003cstrong\u003eactivos volátiles innovadores\u003c\/strong\u003e,  Villanelle absorbe el exceso de humedad para favorecer su rápida evaporación, limitando así la exposición del cabello al calor del secador.\u003c\/p\u003e  \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e  \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eDesenredante exprés:\u003c\/strong\u003e Penetra y disuelve los nudos sin causar dolor.\u003c\/li\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eSecado rápido:\u003c\/strong\u003e Tecnología exclusiva de aceleración del secado.\u003c\/li\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eAntimuda:\u003c\/strong\u003e Ideal para protocolos de eliminación de vello muerto.\u003c\/li\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eTextura perfecta:\u003c\/strong\u003e Una textura rica que deja el cabello sedoso y ligero.\u003c\/li\u003e  \u003cli\u003e✅  \u003cstrong\u003eVitalidad:\u003c\/strong\u003e Fortalece la fibra y protege contra las agresiones externas.\u003c\/li\u003e  \u003c\/ul\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSinergia de ingredientes activos naturales\u003c\/span\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUna fórmula de alta calidad que combina una nutrición intensa con una ligereza absoluta.\u003c\/p\u003e  \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e  \u003ctbody\u003e  \u003ctr\u003e  \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Manteca de karité\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eNutre intensamente, proporciona suavidad y una textura penetrante.\u003c\/span\u003e  \u003c\/td\u003e  \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Aceite de algodón orgánico\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eVolumen, flexibilidad y protección antioxidante (vitamina E).\u003c\/span\u003e  \u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Provitamina B5\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eHidrata profundamente y revitaliza las fibras elásticas.\u003c\/span\u003e  \u003c\/td\u003e  \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Zedoario asiático\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eUn pariente antiguo de la cúrcuma \u003cem\u003e(Curcuma Zedoaria)\u003c\/em\u003e.  Su aceite esencial purifica y tonifica el cabello.\u003c\/span\u003e  \u003c\/td\u003e  \u003c\/tr\u003e  \u003c\/tbody\u003e  \u003c\/table\u003e  \u003c!-- INSERTO DE NARRACIÓN DE ZEDOARY --\u003e  \u003cdiv style=\"margin-top: 25px; padding: 22px 24px; background: #fff; border-left: 3px solid #1a1a1a;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 12px; display: block;\"\u003e🌺 El secreto de Villanelle\u003c\/span\u003e  \u003cp style=\"font-size: 14px; margin: 0 0 10px 0;\"\u003e\u003cstrong\u003eZedoaria, un tesoro botánico de las tradiciones ayurvédicas.\u003c\/strong\u003e\u003c\/p\u003e  \u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eUna raíz dorada originaria de los bosques de India e Indonesia, la \u003cstrong\u003eZedoario\u003c\/strong\u003e  \u003cem\u003e(Curcuma Zedoaria)\u003c\/em\u003e Se ha utilizado durante más de 2000 años en la medicina ayurvédica por sus propiedades purificadoras y regeneradoras. Más rara y preciosa que su famosa prima la cúrcuma, se la apoda la \u003cem\u003e\u0026quot;Cúrcuma blanca de los rajás\u0026quot;\u003c\/em\u003e.\u003cbr\u003e\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocolos \u0026amp; Sugerencias de uso\u003c\/span\u003e  \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e  \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eEjemplo 1 🔥 desenredado por choque \u0026amp; Secado récord\u003c\/span\u003e  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDESPLÁCESE HACIA ABAJO ▼\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eDespués del champú, sobre el cabello secado con toalla:\u003cbr\u003e1. Diluir \u003cstrong\u003e1 cucharada\u003c\/strong\u003e en 1 litro de agua tibia.\u003cbr\u003e2. Vierta la emulsión sobre la capa y deje que actúe. \u003cstrong\u003e5 minutos\u003c\/strong\u003e.\u003cbr\u003e3. Enjuagar suavemente. El efecto acelerador del secado se activa inmediatamente.\u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e  \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eEjemplo 2 🔥 Tratamiento de emergencia (nudos) \u0026amp; Muda)\u003c\/span\u003e  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDESPLÁCESE HACIA ABAJO ▼\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003ePara áreas de tacto suave o \u003cstrong\u003ela eliminación del pelo muerto\u003c\/strong\u003e :\u003cbr\u003eAplique una pequeña cantidad de crema pura directamente sobre los nudos o mechones sueltos. Masajee para que la textura suave penetre. Deje actuar durante 5 minutos, cepille si es necesario y luego enjuague bien.\u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e  \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eEjemplo 3 🔥 Integración de potenciadores (champú\/mascarilla)\u003c\/span\u003e  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDESPLÁCESE HACIA ABAJO ▼\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003ePara enriquecer tu rutina de cuidado del cabello: agrega una cucharada de Villanelle directamente a tu mezcla de champú favorita o a tu \u003cstrong\u003eBioenergía Plus\u003c\/strong\u003e Para lograr un efecto ultradesenredante y una suavidad extrema desde el primer paso.\u003c\/div\u003e  \u003c\/details\u003e  \u003cdiv style=\"margin-top: 20px; padding: 20px; background: #f6f6f6; border: 1px dashed #1a1a1a;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: bold; text-transform: uppercase; display: block; margin-bottom: 10px;\"\u003e🛠️ CÓMO PREPARAR LA CREMA CORRECTAMENTE:\u003c\/span\u003e  \u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e1️⃣ Toma una cucharada de crema.\u003cbr\u003e2️⃣ Agregar 1 pulsación de\u003cstrong\u003eAceites de los 4 elementos\u003c\/strong\u003e (si hay nodos residuales).\u003cbr\u003e3️⃣ Añade agua \u003cstrong\u003ecaliente\u003c\/strong\u003e (aproximadamente 5 cm) para evitar grumos.\u003cbr\u003e4️⃣ Mezclar enérgicamente (con batidor de varillas, batidora o agitando con fuerza).\u003cbr\u003e5️⃣ Agregue 2 pulsaciones de \u003cstrong\u003eBioenergía Plus\u003c\/strong\u003e (Opcional).\u003cbr\u003e6️⃣ Añade agua tibia y mezcla bien. Aplica, no enjuagues (o enjuaga muy poco).\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAsociaciones recomendadas \u0026amp; carreras\u003c\/span\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Sinergia perfecta con: \u003cstrong\u003eAquarosa Pro\/4Poodle\u003c\/strong\u003e (Champiñones) y \u003cstrong\u003eBioenergía Plus\u003c\/strong\u003e (Embalaje).\u003c\/p\u003e  \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e  \u003ctbody\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Pelaje doble (Pastores, Golden Retriever, Spitz, Samoyedos): ahorra tiempo de secado.\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Pelaje rizado (Caniches, Bichones, Kerry Blue): flexibilidad y volumen.\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Gatos de pelo largo (Maine Coon, Persas): una valiosa ayuda para desenredar el pelo.\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Pelaje sedoso (Yorkshire, Shih-Tzu, Afganos): Es esencial desenredarlo.\u003c\/td\u003e  \u003c\/tr\u003e  \u003c\/tbody\u003e  \u003c\/table\u003e  \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e  \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Sin SLES, sin parabenos | Botella de HDPE02 reciclable\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"500 mL","offer_id":55736566677849,"sku":"(49)","price":69.0,"currency_code":"EUR","in_stock":true},{"title":"3 L","offer_id":57730517336409,"sku":"(158)","price":269.1,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/villanelle-creme-ultra-demelante-sechage-rapide.jpg?v=1793147018"},{"product_id":"starter-groom-ciseaux-special-one","title":"Starter Groom - Ciseaux Special One","description":"\u003cp\u003eLes ciseaux \u003cstrong\u003eStarter Groom\u003c\/strong\u003e de Special One sont pensés pour les élèves et les toiletteurs qui débutent et veulent travailler dès le départ avec de vrais outils professionnels. Trois modèles sont proposés : droits 7,5\", courbes 7,5\" et dentés 7\".\u003c\/p\u003e\u003ch2\u003ePourquoi choisir les ciseaux Starter Groom ?\u003c\/h2\u003e\u003cp\u003eFabriqués en acier japonais AUS-8 (Aichi Steel) d'une dureté de 57 à 59 HRC, les ciseaux Starter Groom offrent un bon équilibre entre tranchant, durée de vie et facilité d'utilisation. Légers et bien équilibrés, ils se prennent en main facilement, même lors des premières séances. Leur finition satinée limite les reflets de la lumière, ce qui aide à rester concentré pendant le travail.\u003c\/p\u003e\u003ch2\u003eCaractéristiques des ciseaux Starter Groom\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003eAcier japonais AUS-8 (Aichi Steel), dureté 57 à 59 HRC\u003c\/li\u003e\n\u003cli\u003eFinition satinée anti-reflet\u003c\/li\u003e\n\u003cli\u003eLame concave affûtée à la japonaise pour une coupe fluide\u003c\/li\u003e\n\u003cli\u003eÉquilibrage précis et pointe légère pour un contrôle total\u003c\/li\u003e\n\u003cli\u003ePivot réglable pour ajuster la tension de coupe\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe pour une prise stable\u003c\/li\u003e\n\u003cli\u003eModèle droit 7,5\" : poignée ergonomique offset qui réduit la fatigue de la main\u003c\/li\u003e\n\u003cli\u003eModèle courbe 7,5\" : poignée reverse pour suivre facilement les lignes du corps\u003c\/li\u003e\n\u003cli\u003eModèle denté 7\" : lame dentée simple et poignée ergonomique offset\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003eUtilisation des ciseaux Starter Groom\u003c\/h2\u003e\u003cp\u003eLe modèle droit aide à gagner en assurance et en technique sur les chiens de petite et moyenne taille. Le modèle courbe permet de travailler les arrondis : tête, pattes et lignes de profil. Le modèle denté sert à alléger et à finir en douceur. Ensemble, ces trois ciseaux couvrent les besoins de base du toilettage des chiens de petite et moyenne taille, sur des pelages de textures variées.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Droite 7,5\"","offer_id":60288226361689,"sku":"SO-STARTER-RETTA75","price":198.0,"currency_code":"EUR","in_stock":true},{"title":"Courbe 7,5\"","offer_id":60288226394457,"sku":"SO-STARTER-CURVA75","price":210.2,"currency_code":"EUR","in_stock":true},{"title":"Dentée 7\"","offer_id":60288226427225,"sku":"SO-STARTER-DENTATA7","price":210.2,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/starter-groom-ciseaux-special-one.jpg?v=1793372843"},{"product_id":"yoshi-6-ciseaux-sculpteurs-courbes-special-one","title":"Yoshi 6\" - Ciseaux Sculpteurs Courbes Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Yoshi\u003c\/strong\u003e de Special One sont des ciseaux sculpteurs courbes de 6 pouces, pensés pour les finitions de précision sur les pelages lisses ou semi-bouclés des chiens de petite et très petite taille (toy et teacup). Compacts, avec des dents fines et serrées, ils permettent de peaufiner le museau, la tête et les pieds, notamment pour les coupes de style Asian Fusion.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Yoshi ?\u003c\/h2\u003e\n\u003cp\u003eLes dents de la lame dentée sont placées à 90 degrés et très rapprochées : la mèche est séparée nettement et l'effilage reste délicat, autour de 50 %, sans laisser de marque visible sur le pelage. Les Yoshi sont l'outil idéal après un premier dégrossissage aux ciseaux à lame lisse ou avec un chunker comme les Hikari ou les Megaluna.\u003c\/p\u003e\n\u003cp\u003eLa poignée classique réversible assure une bonne ergonomie et du confort, même sur les longues séances. Le silencieux intégré rend la coupe fluide et discrète, et le pivot réglable permet d'ajuster la tension des lames selon vos préférences.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Yoshi\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 6 pouces\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType\u003c\/strong\u003e : ciseaux sculpteurs courbes, une lame dentée\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDents\u003c\/strong\u003e : 45 dents en V, à surface coupante lisse et large\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEffilage\u003c\/strong\u003e : environ 50 %\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : AUS-10 (59 à 61 HRC), proche du 440C, très bonne résistance à la corrosion\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : classique réversible\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigts\u003c\/strong\u003e : amovibles, un sur chaque anneau, pour détendre la main\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, pour ajuster la tension entre les deux lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilencieux\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages utiliser les ciseaux Yoshi ?\u003c\/h2\u003e\n\u003cp\u003eLes Yoshi sont conçus pour les pelages lisses ou semi-bouclés des chiens toy et teacup. Ils sont aussi très appréciés pour les détails finaux de la tête sur des races comme le Cocker Spaniel ou le Poméranien : précision, contrôle et délicatesse.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288227639641,"sku":"SO-YOSHI","price":295.6,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/yoshi-6-ciseaux-sculpteurs-courbes-special-one.jpg?v=1793372887"},{"product_id":"lefty-ciseaux-gauchers-special-one","title":"Lefty - Ciseaux Gauchers Special One","description":"\u003cp\u003eLes ciseaux \u003cstrong\u003eLefty\u003c\/strong\u003e de Special One sont conçus pour les toiletteurs gauchers qui débutent et veulent apprendre avec des ciseaux réellement pensés pour la main gauche. Trois modèles sont proposés : droits 7,5\", courbes 7,5\" et dentés 7\".\u003c\/p\u003e\u003ch2\u003ePourquoi choisir les ciseaux Lefty ?\u003c\/h2\u003e\u003cp\u003eFabriqués en acier japonais AUS-8 (Aichi Steel) d'une dureté de 57 à 59 HRC, les ciseaux Lefty allient résistance, tranchant durable et facilité d'entretien. Leur poignée Lefty suit la position naturelle de la main gauche, réduit l'effort et favorise une bonne posture. La finition polie miroir apporte de l'élégance, améliore la glisse et facilite le nettoyage.\u003c\/p\u003e\u003ch2\u003eCaractéristiques des ciseaux Lefty\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003eAcier japonais AUS-8 (Aichi Steel), dureté 57 à 59 HRC\u003c\/li\u003e\n\u003cli\u003eFinition polie miroir, facile à nettoyer\u003c\/li\u003e\n\u003cli\u003eÉquilibrage précis et pointe légère pour des gestes fluides\u003c\/li\u003e\n\u003cli\u003ePivot réglable pour personnaliser la tension\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe pour une prise stable\u003c\/li\u003e\n\u003cli\u003eModèle droit 7,5\" : poignée ergonomique Lefty offset, lame concave affûtée à la japonaise\u003c\/li\u003e\n\u003cli\u003eModèle courbe 7,5\" : poignée reverse Lefty, lame concave affûtée à la japonaise\u003c\/li\u003e\n\u003cli\u003eModèle denté 7\" : lame dentée simple, poignée Lefty offset\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003eUtilisation des ciseaux Lefty\u003c\/h2\u003e\u003cp\u003eLe modèle droit donne des lignes nettes sur les chiens de petite et moyenne taille. Le modèle courbe permet de dessiner formes et contours avec fluidité, sur la tête, les pattes ou les lignes de finition. Le modèle denté aide à gérer le volume du poil, à créer des dégradés et à finir de façon naturelle, avec une coupe douce et progressive.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Droite 7,5\"","offer_id":60288230424921,"sku":"SO-LEFTY-RETTA75","price":225.45,"currency_code":"EUR","in_stock":true},{"title":"Courbe 7,5\"","offer_id":60288230457689,"sku":"SO-LEFTY-CURVA75","price":243.14,"currency_code":"EUR","in_stock":true},{"title":"Dentée 7\"","offer_id":60288230490457,"sku":"SO-LEFTY-DENTATA7","price":243.14,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/lefty-ciseaux-gauchers-special-one.jpg?v=1793372843"},{"product_id":"hikari-7-chunker-courbe-special-one","title":"Hikari 7\" - Chunker Courbe Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Hikari\u003c\/strong\u003e de Special One sont un chunker courbe de 7 pouces, conçu pour travailler avec précision et efficacité les pelages bouclés ou semi-bouclés délicats des chiens de petite et très petite taille (toy et teacup). Ils sont parfaits pour les coupes de style Asian Fusion.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Hikari ?\u003c\/h2\u003e\n\u003cp\u003eLes dents larges et courbes de la lame dentée sont séparées par de grands espaces ovales : le poil ne s'accumule pas entre les dents, la coupe reste nette et le travail avance sans interruptions. Avec un effilage d'environ 80 %, les Hikari dégrossissent rapidement les zones délicates (tête, pattes, museau), même quand le chien ne coopère pas, pour poser la forme vite et harmonieusement.\u003c\/p\u003e\n\u003cp\u003eLa poignée classique réversible, équilibrée et confortable, est équipée d'un repose-doigt et d'un silencieux intégré pour un travail fluide sur les longues séances. Le pivot réglable adapte la tension des lames à vos préférences.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Hikari\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 7 pouces\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType\u003c\/strong\u003e : chunker courbe\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDents\u003c\/strong\u003e : 18 dents en T, à surface coupante lisse et large, espaces ovales\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEffilage\u003c\/strong\u003e : environ 80 %\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : acier japonais\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : classique réversible\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : oui, pour détendre la main\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, pour ajuster la tension entre les deux lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilencieux\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation des ciseaux Hikari\u003c\/h2\u003e\n\u003cp\u003eLes Hikari servent à dégrossir les pelages bouclés ou semi-bouclés des chiens toy et teacup. Pour une finition parfaite du museau, de la tête et des pieds après le passage des Hikari, Special One conseille de les associer aux ciseaux Yoshi, sculpteurs courbes à dents fines.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288231309657,"sku":"SO-HIKARI","price":295.6,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/hikari-7-chunker-courbe-special-one.jpg?v=1793372887"},{"product_id":"kit-lefty-groom-ciseaux-gauchers-special-one","title":"Kit Lefty Groom - Ciseaux Gauchers Special One","description":"\u003cp\u003eLe \u003cstrong\u003eKit Lefty Groom\u003c\/strong\u003e de Special One a été créé spécialement pour les toiletteurs gauchers qui démarrent leur carrière. Il réunit trois ciseaux essentiels, ergonomiques et bien équilibrés : des droits 7,5\", des courbes 7,5\" et des dentés simples 7\".\u003c\/p\u003e\u003ch2\u003ePourquoi choisir le Kit Lefty Groom ?\u003c\/h2\u003e\u003cp\u003eC'est le bon investissement pour débuter avec des outils de qualité professionnelle réellement pensés pour la main gauche. Les ciseaux sont en acier japonais AUS-8, produit par Aichi Steel Corporation (Japon), d'une dureté de 57 à 59 HRC : un excellent compromis entre tranchant, durée de vie et résistance à la corrosion. La finition polie miroir met en valeur l'outil, améliore la glisse dans le poil et facilite le nettoyage.\u003c\/p\u003e\u003ch2\u003eCaractéristiques du Kit Lefty Groom\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e3 paires de ciseaux pour gauchers : droits 7,5\", courbes 7,5\", dentés simples 7\"\u003c\/li\u003e\n\u003cli\u003eAcier japonais AUS-8 (Aichi Steel Corporation), dureté 57 à 59 HRC\u003c\/li\u003e\n\u003cli\u003ePoignée ergonomique Lefty offset pour les droits et les dentés, pour une position naturelle de la main\u003c\/li\u003e\n\u003cli\u003ePoignée reverse Lefty pour les courbes, pour suivre avec fluidité les lignes du corps du chien\u003c\/li\u003e\n\u003cli\u003eLame concave affûtée à la japonaise pour une coupe précise et fluide\u003c\/li\u003e\n\u003cli\u003eÉquilibrage précis et pointe légère\u003c\/li\u003e\n\u003cli\u003eFinition polie miroir qui réduit les frottements avec le poil\u003c\/li\u003e\n\u003cli\u003ePivot réglable pour adapter la tension de coupe\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe pour garder la main détendue et stable, même lors de longues séances\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\u003cp\u003eLes tailles 7,5\" et 7\" conviennent parfaitement aux chiens de petite et moyenne taille et à des pelages de textures variées. Un kit polyvalent et durable pour développer une technique sûre et précise dès les premières expériences.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288241336665,"sku":"SO-KIT-LEFTY","price":582.79,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/kit-lefty-groom-ciseaux-gauchers-special-one.jpg?v=1793372843"},{"product_id":"scalebane-7-ciseaux-sculpteurs-special-one","title":"Scalebane 7\" - Ciseaux Sculpteurs Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Scalebane\u003c\/strong\u003e de Special One sont des ciseaux sculpteurs à une lame dentée de 7 pouces, conçus pour travailler les pelages lisses ou soyeux de races comme les Spaniels, les Setters et les Retrievers. Leur denture particulière donne un effilage naturel et précis, sans marque visible.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Scalebane ?\u003c\/h2\u003e\n\u003cp\u003eLes dents courbes et espacées de la lame dentée effilent en douceur, environ 10 %, sans les traces que laissent souvent d'autres ciseaux dentés. Un atout indispensable sur les robes fauves ou blondes, où la moindre imperfection se voit. Les Scalebane permettent des finitions invisibles et naturelles, qui respectent la texture du poil.\u003c\/p\u003e\n\u003cp\u003eFabriqués en acier japonais 440C, ils offrent dureté, durabilité et performances constantes dans le temps. La poignée ergonomique offset avec repose-doigt fixe limite la fatigue de la main, même en usage prolongé. Le silencieux intégré rend la coupe plus fluide et plus discrète, et le pivot réglable permet de personnaliser la tension.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Scalebane\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 7 pouces\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType\u003c\/strong\u003e : ciseaux sculpteurs, une lame dentée\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDents\u003c\/strong\u003e : 32 dents arrondies, à surface coupante irrégulière\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEffilage\u003c\/strong\u003e : environ 10 %\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : japonais Hitachi 440C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : offset ergonomique\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : fixe\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, pour ajuster la tension entre les deux lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilencieux\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages utiliser les ciseaux Scalebane ?\u003c\/h2\u003e\n\u003cp\u003eLes Scalebane sont faits pour les races à poil lisse ou soyeux (Spaniels, Setters, Retrievers) et pour les toilettages qui doivent rester invisibles. Ils conviennent aussi aux races primitives comme le Spitz et le Poméranien, où le toilettage doit respecter la structure naturelle du pelage. Ils sont particulièrement adaptés aux robes claires et fines.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288249069913,"sku":"SO-SCALEBANE","price":295.6,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/scalebane-7-ciseaux-sculpteurs-special-one.jpg?v=1793372887"},{"product_id":"kit-starter-groom-ciseaux-special-one","title":"Kit Starter Groom - Ciseaux Special One","description":"\u003cp\u003eVous débutez dans le toilettage ? Le \u003cstrong\u003eKit Starter Groom\u003c\/strong\u003e de Special One est le bon investissement pour faire vos premiers pas avec des outils fiables et professionnels. Il réunit trois ciseaux essentiels, légers, équilibrés et faciles à utiliser : des droits 7,5\", des courbes 7,5\" et des dentés simples 7\".\u003c\/p\u003e\u003ch2\u003ePourquoi choisir le Kit Starter Groom ?\u003c\/h2\u003e\u003cp\u003eLes ciseaux sont en acier japonais AUS-8, produit par Aichi Steel Corporation (Japon), d'une dureté de 57 à 59 HRC. Ils offrent un excellent équilibre entre tranchant, durée de vie et résistance à la corrosion : un acier de gamme professionnelle avec un très bon rapport qualité\/prix, idéal pour commencer avec des outils de bon niveau.\u003c\/p\u003e\u003ch2\u003eCaractéristiques du Kit Starter Groom\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e3 paires de ciseaux : droits 7,5\", courbes 7,5\", dentés simples 7\"\u003c\/li\u003e\n\u003cli\u003eAcier japonais AUS-8 (Aichi Steel Corporation), dureté 57 à 59 HRC\u003c\/li\u003e\n\u003cli\u003ePoignée ergonomique offset pour les droits et les dentés, qui réduit la fatigue de la main\u003c\/li\u003e\n\u003cli\u003ePoignée reverse pour les courbes, pour suivre facilement les lignes du corps du chien\u003c\/li\u003e\n\u003cli\u003eLame concave affûtée à la japonaise pour une coupe plus précise et fluide\u003c\/li\u003e\n\u003cli\u003eÉquilibrage soigné et pointe légère pour des gestes fluides et précis\u003c\/li\u003e\n\u003cli\u003eFinition satinée qui limite les reflets de la lumière pendant le travail\u003c\/li\u003e\n\u003cli\u003ePivot réglable pour adapter la tension de coupe\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe pour détendre les muscles lors des longues séances\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\u003cp\u003eLes tailles 7,5\" et 7\" sont idéales pour les chiens de petite et moyenne taille et des pelages de textures variées. Le kit couvre tous les besoins de base du toilettage de ces chiens, avec des outils polyvalents, durables et faciles à manier pour apprendre les bonnes techniques de coupe.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288267780441,"sku":"SO-KIT-STARTER","price":502.39,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/kit-starter-groom-ciseaux-special-one.jpg?v=1793372843"},{"product_id":"megaluna-7-5-chunker-courbe-special-one","title":"Megaluna 7,5\" - Chunker Courbe Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Megaluna\u003c\/strong\u003e de Special One sont un chunker courbe de 7,5 pouces, conçu pour effiler vite et précisément les pelages moyens et fins, bouclés ou ondulés. Avec 33 dents en T et un effilage de 90 %, ils donnent des résultats impeccables sur les robes volumineuses.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Megaluna ?\u003c\/h2\u003e\n\u003cp\u003eLa forme des dents et l'espace interdentaire optimisé gèrent efficacement le poil en le poussant vers l'intérieur à la fermeture des lames. Résultat : beaucoup moins de laine coupée qui s'accumule sur les lames, un travail plus fluide et moins de nettoyages en cours de coupe.\u003c\/p\u003e\n\u003cp\u003eLa courbure des lames suit les lignes naturelles du corps de l'animal, pour plus de confort et de précision dans les zones difficiles d'accès. La poignée réversible ergonomique se retourne facilement pour couper des deux côtés sans perdre l'équilibre ni la précision. Bien équilibré, le modèle limite la fatigue en usage prolongé.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Megaluna\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 7,5 pouces\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType\u003c\/strong\u003e : chunker courbe\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDents\u003c\/strong\u003e : 33 dents en T\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEffilage\u003c\/strong\u003e : environ 90 %\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : japonais Hitachi 440C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : réversible ergonomique\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : amovible\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, pour ajuster la tension entre les deux lames\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages utiliser les ciseaux Megaluna ?\u003c\/h2\u003e\n\u003cp\u003eLes Megaluna sont idéaux pour les races à pelage volumineux, bouclé ou ondulé, moyen ou fin : Caniche moyen, nain et toy, Lagotto Romagnolo, Bichon Frisé. Ils aident à obtenir un aspect naturel et bien défini.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288269582681,"sku":"SO-MEGALUNA","price":307.8,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/megaluna-7-5-chunker-courbe-special-one.jpg?v=1793372887"},{"product_id":"kronomax-7-25-ciseaux-chunker-courbes-special-one","title":"Kronomax 7,25\" - Ciseaux Chunker Courbes Special One","description":"\u003cp\u003eLe \u003cstrong\u003eKronomax\u003c\/strong\u003e de Special One est un chunker courbe à simple lame dentée de 7,25\", en acier japonais VG10. Léger et raffiné, il est conçu pour la finition et le travail de précision sur les pelages fins et extra-fins, au point de pouvoir remplacer presque entièrement les ciseaux à lame lisse.\u003c\/p\u003e\u003ch2\u003ePourquoi choisir les ciseaux Kronomax ?\u003c\/h2\u003e\u003cp\u003eSa lame effileuse compte 40 dents, avec un fil inspiré du style bevel associé à une concavité, pour un effilage puissant mais maîtrisé. Les dents fines et rapprochées séparent la mèche de façon régulière : on retire beaucoup de poil en laissant très peu à reprendre, sans marques visibles. Allégé en pointe pour un contrôle encore plus précis, le Kronomax associe légèreté, précision et performance, un outil très apprécié des professionnels qui soignent chaque détail.\u003c\/p\u003e\u003ch2\u003eCaractéristiques des ciseaux Kronomax\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003eLongueur : 7,25\"\u003c\/li\u003e\n\u003cli\u003eChunker courbe à simple lame dentée\u003c\/li\u003e\n\u003cli\u003e40 dents de précision pour un effilage régulier\u003c\/li\u003e\n\u003cli\u003eAcier japonais VG10 : dureté et longévité même en usage intensif\u003c\/li\u003e\n\u003cli\u003ePoignée classique reverse avec double repose-doigt pour moins de tension dans la main\u003c\/li\u003e\n\u003cli\u003eSilencieux intégré pour une coupe plus silencieuse et fluide\u003c\/li\u003e\n\u003cli\u003ePivot réglable pour ajuster la tension des lames\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\u003cp\u003eLe Kronomax est idéal pour la finition des pelages fins et moyennement fins comme ceux du Bedlington Terrier et du Caniche (toy, nain et moyen), ainsi que sur des pelages plus laineux et complexes comme ceux du Shih Tzu et du Maltipoo. Évitez de l'utiliser sur des textures trop dures ou kératinisées, afin de préserver la finesse des lames.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288277905753,"sku":"SO-KRONOMAX","price":330.98,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/kronomax-7-25-ciseaux-chunker-courbes-special-one.jpg?v=1793372843"},{"product_id":"saurmoon-7-ciseaux-sculpteurs-courbes-special-one","title":"SaurMoon 7\" - Ciseaux Sculpteurs Courbes Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux SaurMoon\u003c\/strong\u003e de Special One sont des ciseaux sculpteurs courbes de 7 pouces à 46 dents, très appréciés des amateurs de ciseaux courbes. Précis et polyvalents, ils effilent et modèlent les pelages fins et très fins, bouclés ou lisses, avec une coupe uniforme et naturelle, sans marques nettes.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux SaurMoon ?\u003c\/h2\u003e\n\u003cp\u003eLeur denture moyenne effile à 90 % : les dents serrées, avec de petits espaces entre elles, coupent vite et efficacement, sans laisser de marque visible sur les pelages délicats.\u003c\/p\u003e\n\u003cp\u003eLa courbure des lames suit les lignes naturelles du corps de l'animal, ce qui en fait l'outil idéal pour les zones difficiles d'accès : tête, pattes et contours. La poignée réversible ergonomique se retourne facilement pour couper des deux côtés sans perdre l'équilibre ni la précision. Bien équilibré, le modèle limite la fatigue en usage prolongé.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux SaurMoon\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 7 pouces\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eType\u003c\/strong\u003e : ciseaux sculpteurs courbes\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDents\u003c\/strong\u003e : 46 dents en M, serrées\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEffilage\u003c\/strong\u003e : environ 90 %\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : japonais Hitachi 440C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : réversible ergonomique\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : amovible\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, pour ajuster la tension entre les deux lames\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages utiliser les ciseaux SaurMoon ?\u003c\/h2\u003e\n\u003cp\u003eLes SaurMoon sont conçus pour les pelages fins et très fins, qu'ils soient bouclés ou lisses. Ils donnent un rendu naturel et sans marque, notamment sur la tête, les pattes et les contours.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288281018713,"sku":"SO-SAURMOON","price":307.8,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/saurmoon-7-ciseaux-sculpteurs-courbes-special-one.jpg?v=1793372887"},{"product_id":"elfo-8-ciseaux-droits-microdentes-special-one","title":"Elfo 8\" - Ciseaux Droits Microdentés Special One","description":"\u003cp\u003eOn dit que les ciseaux sont un peu comme une baguette magique : ce sont eux qui choisissent leur toiletteur. Les ciseaux \u003cstrong\u003eElfo\u003c\/strong\u003e de Special One sont bien plus qu'un outil, ils incarnent l'élégance et la puissance entre les mains de celui qui les utilise. Chaque pièce est fabriquée artisanalement, avec un soin porté au moindre détail : les petites différences d'un exemplaire à l'autre témoignent de ce travail manuel.\u003c\/p\u003e\u003ch2\u003ePourquoi choisir les ciseaux Elfo ?\u003c\/h2\u003e\u003cp\u003eLeur design s'inspire de l'épée des guerriers Hauts-Elfes de la trilogie du Seigneur des Anneaux et évoque la noblesse et l'élégance des Elfes. Les Elfo sont des ciseaux droits de 8\" conçus pour une précision et un contrôle exceptionnels. Leur lame microdentée retient le poil pendant la coupe, évite l'effet « glissement » et assure une finition impeccable. Ils s'adressent aux toiletteurs exigeants qui cherchent un outil capable de gagner des concours et de créer des formes parfaites avec style.\u003c\/p\u003e\u003ch2\u003eCaractéristiques des ciseaux Elfo\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003eLongueur : 8\"\u003c\/li\u003e\n\u003cli\u003eLame droite microdentée (microgrid cutting), rectifiée au grain 10000\u003c\/li\u003e\n\u003cli\u003eAffûtage intérieur convexe\/concave, faible contact, fil rasoir\u003c\/li\u003e\n\u003cli\u003eAcier japonais Takefu VG10 au cobalt, forgé, réputé pour sa dureté et son élasticité\u003c\/li\u003e\n\u003cli\u003eTraitement thermique total à double revenu sélectif : tranchant très dur et grande souplesse des ciseaux\u003c\/li\u003e\n\u003cli\u003ePoignée ergonomique offset qui réduit la fatigue de la main lors des longues séances\u003c\/li\u003e\n\u003cli\u003eRepose-doigt fixe\u003c\/li\u003e\n\u003cli\u003ePivot à vis réglable\u003c\/li\u003e\n\u003cli\u003eSilencieux\u003c\/li\u003e\n\u003cli\u003eFabrication artisanale\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\u003cp\u003eLes ciseaux Elfo sont parfaits pour les coupes de précision et la finition des pelages frisés et fins, notamment chez le Bichon Frisé, le Caniche, le Bedlington Terrier et le Kerry Blue Terrier. Ils ne sont pas recommandés pour les textures trop kératinisées ni pour les pelages sales et emmêlés. Ce modèle demande une main sûre et stable : il est déconseillé aux débutants.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288287375705,"sku":"SO-ELFO","price":466.4,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/elfo-8-ciseaux-droits-microdentes-special-one.png?v=1793372843"},{"product_id":"pollock-ciseaux-droits-et-courbes-special-one","title":"Pollock - Ciseaux Droits et Courbes Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Pollock\u003c\/strong\u003e de la Fashion Line Special One allient style et performances, pour les toiletteurs qui aiment se démarquer jusque dans leur travail quotidien. Leur décor s'inspire du célèbre peintre américain Jackson Pollock, sur un film antistatique et résistant qui améliore la coupe tout en apportant une touche de couleur.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Pollock ?\u003c\/h2\u003e\n\u003cp\u003eEn acier japonais 440C, les Pollock offrent une excellente durabilité et un affûtage à la japonaise, pour des coupes de haute précision. Le film protecteur coloré empêche l'accumulation d'électricité statique : la coupe est plus efficace et plus fluide.\u003c\/p\u003e\n\u003cp\u003eLes lames sont concaves, et l'une des deux porte une microdenture fine qui empêche le poil de glisser, pour une coupe nette et maîtrisée. La poignée ergonomique offset, avec repose-doigt fixe et pivot réglable, limite la fatigue de la main sur les longues séances. Leur bon équilibre et le silencieux intégré assurent un travail fluide et discret, en salon comme en concours.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Pollock\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 7,5 ou 8 pouces (selon variante)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLame\u003c\/strong\u003e : droite ou courbe (selon variante), concave\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicrodenture\u003c\/strong\u003e : fine, sur une des deux lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : japonais 440C, affûtage japonais\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFinition\u003c\/strong\u003e : film antistatique coloré et résistant, décor inspiré de Jackson Pollock\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : offset ergonomique\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : fixe\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, pour ajuster la tension des lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilencieux\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation des ciseaux Pollock\u003c\/h2\u003e\n\u003cp\u003eLes Pollock conviennent aux coupes exigeantes comme le Continental Trim, mais aussi au Puppy Trim, au toilettage courant et au style Asian Fusion. Ils sont idéaux sur des races comme le Caniche, le Bichon Frisé et le Bedlington Terrier.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eEntretien\u003c\/strong\u003e : évitez de passer les ciseaux de la Fashion Line dans un stérilisateur à haute température, qui pourrait abîmer le film coloré.\u003c\/p\u003e","brand":"autre","offers":[{"title":"7,5\" \/ Droite","offer_id":60288289636697,"sku":"SO-POLLOCK-DROITE75","price":272.42,"currency_code":"EUR","in_stock":true},{"title":"8\" \/ Droite","offer_id":60288289669465,"sku":"SO-POLLOCK-DROITE8","price":279.74,"currency_code":"EUR","in_stock":true},{"title":"7,5\" \/ Courbe","offer_id":60288289702233,"sku":"SO-POLLOCK-COURBE75","price":279.74,"currency_code":"EUR","in_stock":true},{"title":"8\" \/ Courbe","offer_id":60288289735001,"sku":"SO-POLLOCK-COURBE8","price":287.06,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/pollock-ciseaux-droits-et-courbes-special-one.jpg?v=1793372887"},{"product_id":"fashion-ciseaux-droits-et-courbes-special-one","title":"Fashion - Ciseaux Droits et Courbes Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Fashion\u003c\/strong\u003e de Special One allient style et performances, pour les toiletteurs qui aiment se démarquer jusque dans leur travail quotidien. Leur décor inspiré des fleurs, sur un film antistatique et résistant, apporte une touche de couleur et de gaieté sans rien céder sur la qualité de coupe.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Fashion ?\u003c\/h2\u003e\n\u003cp\u003eEn acier japonais 440C, les Fashion offrent une excellente durabilité et un affûtage à la japonaise, pour des coupes de haute précision. Le film protecteur rend les ciseaux résistants et empêche l'accumulation d'électricité statique : la coupe est plus efficace et plus fluide.\u003c\/p\u003e\n\u003cp\u003eLes lames sont concaves, et l'une des deux porte une microdenture fine qui empêche le poil de glisser, pour une coupe nette, fluide et maîtrisée. La poignée ergonomique offset, avec repose-doigt fixe et pivot réglable, limite la fatigue de la main sur les longues séances. Leur bon équilibre et le silencieux intégré assurent un travail fluide et discret, en salon comme en concours.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Fashion\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 7,5 ou 8 pouces (selon variante)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLame\u003c\/strong\u003e : droite ou courbe (selon variante), concave\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicrodenture\u003c\/strong\u003e : fine, sur une des deux lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : japonais 440C, affûtage japonais\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFinition\u003c\/strong\u003e : film antistatique coloré et résistant, décor floral\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : offset ergonomique\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : fixe\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, pour ajuster la tension des lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilencieux\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation des ciseaux Fashion\u003c\/h2\u003e\n\u003cp\u003eLes Fashion conviennent aux coupes exigeantes comme le Continental Trim, mais aussi au Puppy Trim, au toilettage courant et au style Asian Fusion. Ils sont idéaux sur des races comme le Caniche, le Bichon Frisé et le Bedlington Terrier.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eEntretien\u003c\/strong\u003e : évitez de passer les ciseaux de la Fashion Line dans un stérilisateur à haute température, qui pourrait abîmer le film coloré.\u003c\/p\u003e","brand":"autre","offers":[{"title":"7,5\" \/ Droite","offer_id":60288347832665,"sku":"SO-FASHION-DROITE75","price":272.42,"currency_code":"EUR","in_stock":true},{"title":"8\" \/ Droite","offer_id":60288347865433,"sku":"SO-FASHION-DROITE8","price":279.74,"currency_code":"EUR","in_stock":true},{"title":"7,5\" \/ Courbe","offer_id":60288347898201,"sku":"SO-FASHION-COURBE75","price":279.74,"currency_code":"EUR","in_stock":true},{"title":"8\" \/ Courbe","offer_id":60288347930969,"sku":"SO-FASHION-COURBE8","price":287.06,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/fashion-ciseaux-droits-et-courbes-special-one.jpg?v=1793372887"},{"product_id":"satin-elitte-ciseaux-droits-et-courbes-special-one","title":"Satin Elitte - Ciseaux Droits et Courbes Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Satin Elitte\u003c\/strong\u003e de Special One s'adressent aux toiletteurs qui recherchent une précision maximale et un tranchant irréprochable. Par rapport aux ciseaux Satin classiques de la gamme Satin Line, ils se distinguent par une pointe plus fine, conçue pour les coupes de haute précision sur les chiens de taille moyenne et toy.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Satin Elitte ?\u003c\/h2\u003e\n\u003cp\u003eFabriqués en acier japonais 440C, les Satin Elitte offrent une grande dureté et gardent leur tranchant même après un usage intensif. Leur équilibre et leur affûtage à la japonaise, réalisé à la main par le maître artisan de Special One, en font des ciseaux très appréciés des toiletteurs qui travaillent beaucoup aux ciseaux, notamment en concours de toilettage.\u003c\/p\u003e\n\u003cp\u003eLes lames concaves reçoivent une finition satinée spéciale qui supprime les reflets et évite de gêner l'œil pendant les finitions. L'une des deux lames est finement microdentée : le poil ne glisse pas et chaque fermeture donne une coupe nette et maîtrisée.\u003c\/p\u003e\n\u003cp\u003eLa poignée ergonomique offset avec repose-doigt fixe réduit la tension dans la main et permet de travailler longtemps sans fatigue. Le silencieux intégré rend la coupe plus douce et plus discrète, et le pivot réglable permet d'ajuster la tension des lames selon vos préférences.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Satin Elitte\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eModèles\u003c\/strong\u003e : droit 7,5\", courbe 7,5\" ou courbe 8\"\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLames\u003c\/strong\u003e : concaves, finition satinée anti-reflet, pointe fine\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicrodenture\u003c\/strong\u003e : fine, sur une des deux lames\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : japonais 440C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAffûtage\u003c\/strong\u003e : à la japonaise, réalisé à la main\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : ergonomique offset\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : fixe\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilencieux\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation des ciseaux Satin Elitte\u003c\/h2\u003e\n\u003cp\u003eLes Satin Elitte sont parfaits pour les coupes du Caniche comme le Continental Trim et le Puppy Trim, pour les coupes commerciales de précision dans le style Asian Fusion, et pour le toilettage de races comme le Bichon Frisé et le Bedlington Terrier.\u003c\/p\u003e","brand":"autre","offers":[{"title":"7,5\" \/ Droite","offer_id":60288385057113,"sku":"SO-SATINELITTE-RETTA75","price":234.6,"currency_code":"EUR","in_stock":true},{"title":"7,5\" \/ Courbe","offer_id":60288385089881,"sku":"SO-SATINELITTE-CURVA75","price":241.92,"currency_code":"EUR","in_stock":true},{"title":"8\" \/ Courbe","offer_id":60288385122649,"sku":"SO-SATINELITTE-CURVA8","price":254.12,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/satin-elitte-ciseaux-droits-et-courbes-special-one.jpg?v=1793373085"},{"product_id":"titan-9-ciseaux-special-one","title":"Titan 9\" - Ciseaux Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Titan\u003c\/strong\u003e 9 pouces de la collection Titan Line de Special One sont des ciseaux robustes et de grande taille, conçus pour les travaux les plus exigeants. Ils s'adressent aux toiletteurs qui aiment les ciseaux longs et qui doivent dégrossir des pelages épais et très structurés.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Titan ?\u003c\/h2\u003e\n\u003cp\u003eLeurs lames larges et concaves sont en acier 440C de haute qualité, traité aux ions de titane. Ce traitement améliore nettement la résistance à l'usure et à la corrosion et protège la surface de l'acier. Il donne aussi aux ciseaux un look moderne et original, en deux coloris : vert et bleu métallisé, ou rose et bleu irisé.\u003c\/p\u003e\n\u003cp\u003eLa lame supérieure est microdentée : elle assure une bonne prise du poil pendant le dégrossissage des pelages les plus épais et kératinisés, pour plus de contrôle et de précision. Cette microdenture est réalisée de façon artisanale.\u003c\/p\u003e\n\u003cp\u003eLa poignée ergonomique offset limite la fatigue lors des longues séances. Ses anneaux larges conviennent bien aux grandes mains et aux doigts plus forts, et le repose-doigt intégré aux branches réduit la tension dans les muscles de la main. Le pivot réglable permet d'ajuster la tension des lames selon le pelage travaillé, et le silencieux intégré réduit le bruit à l'usage.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Titan\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 9 pouces\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLames\u003c\/strong\u003e : larges et concaves\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicrodenture\u003c\/strong\u003e : sur la lame supérieure\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : 440C traité aux ions de titane (résistance à l'usure et à la corrosion)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eColoris\u003c\/strong\u003e : rose et bleu irisé, ou vert et bleu métallisé\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : ergonomique offset, anneaux larges\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSilencieux\u003c\/strong\u003e : intégré\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003ePour quels pelages ?\u003c\/h2\u003e\n\u003cp\u003eLes Titan sont faits pour dégrossir les pelages épais et kératinisés, comme ceux du Caniche Royal, du Lagotto Romagnolo, du Kerry Blue Terrier, du Goldendoodle et du Terrier Noir Russe.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Rose\/Bleu","offer_id":60288390627673,"sku":"SO-TITAN-ROSE","price":223.62,"currency_code":"EUR","in_stock":true},{"title":"Vert\/Bleu","offer_id":60288390660441,"sku":"SO-TITAN-VERT","price":223.62,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/titan-9-ciseaux-special-one.jpg?v=1793373085"},{"product_id":"toucan-ciseaux-droits-special-one","title":"Toucan - Ciseaux Droits Special One","description":"\u003cp\u003eLes \u003cstrong\u003eciseaux Toucan\u003c\/strong\u003e de Special One sont des ciseaux droits pensés pour les toiletteurs qui veulent allier précision et rapidité sur les pelages moyens à fins et fins. Robustes, avec des lames épaisses, ils existent en 7 et 8 pouces.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les ciseaux Toucan ?\u003c\/h2\u003e\n\u003cp\u003eLes lames droites reçoivent une finition satinée qui évite les reflets gênants pendant le travail, un détail très apprécié des professionnels. Elles sont plus longues que la poignée, ce qui rend les Toucan particulièrement adaptés aux mains plutôt petites et aux doigts fins.\u003c\/p\u003e\n\u003cp\u003eLa poignée ergonomique offset asymétrique permet d'ouvrir largement les lames sans forcer sur la main, pour garder un rythme de coupe rapide. Le repose-doigt fixe réduit la tension musculaire lors des longues séances, et le pivot réglable, émaillé rose, permet d'ajuster la tension des lames selon vos besoins.\u003c\/p\u003e\n\u003cp\u003eFabriqués en acier Hitachi 440C, reconnu pour sa dureté et sa résistance à l'usure, les Toucan gardent longtemps leur tranchant.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des ciseaux Toucan\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLongueur\u003c\/strong\u003e : 7 ou 8 pouces\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLame\u003c\/strong\u003e : droite, épaisse, finition satinée anti-reflet\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : Hitachi 440C\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePoignée\u003c\/strong\u003e : ergonomique offset asymétrique\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRepose-doigt\u003c\/strong\u003e : fixe\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePivot\u003c\/strong\u003e : réglable, émaillé rose\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation des ciseaux Toucan\u003c\/h2\u003e\n\u003cp\u003eRapides, précis et confortables, les Toucan conviennent parfaitement aux finitions et aux coupes fluides de la technique de toilettage asiatique, qui procède par couches superficielles, à la différence de la technique européenne, plus profonde et plus structurée.\u003c\/p\u003e","brand":"autre","offers":[{"title":"7\"","offer_id":60288396788057,"sku":"SO-TOUCAN-7","price":216.3,"currency_code":"EUR","in_stock":true},{"title":"8\"","offer_id":60288396820825,"sku":"SO-TOUCAN-8","price":223.72,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/toucan-ciseaux-droits-special-one.jpg?v=1793373085"},{"product_id":"snail-couteaux-a-epiler-special-one","title":"Snail - Couteaux à Epiler Special One","description":"\u003cp\u003eLes \u003cstrong\u003ecouteaux à épiler Snail\u003c\/strong\u003e de Special One forment une série de trois têtes de petite taille : Extra Fin, Fin et Moyen. Leur manche ergonomique, inspiré de la forme de l'escargot, est réalisé dans trois bois différents. Ils sont fabriqués de façon entièrement artisanale.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir les couteaux à épiler Snail ?\u003c\/h2\u003e\n\u003cp\u003eLes têtes de la série Snail sont conçues pour les zones difficiles et pour soigner les détails pendant le stripping. Elles permettent de travailler avec précision et délicatesse, en retirant de petites quantités de poil à la fois. Leur prise confortable et sûre convient tout particulièrement aux toiletteurs qui ont de petites mains.\u003c\/p\u003e\n\u003cp\u003eSpecial One utilise un acier plus tendre, qui ne coupe pas le poil mais crée de petites aspérités à la surface des dents : la mèche à retirer est mieux tenue et ne glisse pas pendant l'épilation.\u003c\/p\u003e\n\u003cp\u003eLa forme du manche épouse naturellement la main : elle répartit la pression de façon homogène, réduit la fatigue lors des longues séances et aide à garder une bonne posture. Comme un escargot qui avance à petits pas, les Snail sont faits pour des gestes doux et précis.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques des couteaux à épiler Snail\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eTêtes\u003c\/strong\u003e : N°1 Extra Fin, N°2 Fin, N°3 Moyen, de petite taille\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eManche\u003c\/strong\u003e : bois, forme ergonomique inspirée de l'escargot (trois bois différents selon le modèle)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcier\u003c\/strong\u003e : acier tendre qui ne coupe pas le poil, pour une meilleure prise de la mèche\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFabrication\u003c\/strong\u003e : entièrement artisanale\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation des couteaux à épiler Snail\u003c\/h2\u003e\n\u003cp\u003eUtilisez-les pour le stripping des zones délicates et pour les finitions de détail. L'acier tendre peut avoir tendance à rouiller légèrement : nettoyez vos couteaux avec une huile classique pour tondeuse après chaque utilisation.\u003c\/p\u003e","brand":"autre","offers":[{"title":"N°1 - Extra Fin","offer_id":60288404423001,"sku":"SO-SNAIL-1","price":129.92,"currency_code":"EUR","in_stock":true},{"title":"N°2 - Fin","offer_id":60288404455769,"sku":"SO-SNAIL-2","price":129.92,"currency_code":"EUR","in_stock":true},{"title":"N°3 - Moyen","offer_id":60288404488537,"sku":"SO-SNAIL-3","price":129.92,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/snail-couteaux-a-epiler-special-one.png?v=1793373107"},{"product_id":"scissor-classic-case-etui-a-ciseaux-en-cuir-special-one","title":"Scissor Classic Case - Etui à Ciseaux en Cuir Special One","description":"\u003cp\u003eLa \u003cstrong\u003eScissor Classic Case\u003c\/strong\u003e de Special One est un étui à ciseaux haut de gamme en véritable cuir de veau, travaillé de façon artisanale. Elle réunit l'aspect pratique et le style traditionnel, pour les toiletteurs qui aiment les beaux accessoires en cuir.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir la Scissor Classic Case ?\u003c\/h2\u003e\n\u003cp\u003eElle reprend la tradition des rouleaux de cuir dans lesquels on rangeait autrefois les outils de coupe pour les protéger des chocs et de l'humidité. Son design classique se ferme avec deux lanières en cuir que l'on noue autour du centre de l'étui.\u003c\/p\u003e\n\u003cp\u003eA l'intérieur, une bande élastique avec coutures de séparation accueille jusqu'à 20 paires de ciseaux : chaque outil reste à sa place et s'attrape facilement. La doublure en daim, douce et élégante, protège les lames des rayures et des chocs pendant le transport et le rangement, et préserve leur affûtage.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques de la Scissor Classic Case\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eMatière\u003c\/strong\u003e : 100 % cuir de veau, fabrication artisanale\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFormat\u003c\/strong\u003e : étui roulé\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFermeture\u003c\/strong\u003e : deux lanières en cuir à nouer\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCapacité\u003c\/strong\u003e : jusqu'à 20 paires de ciseaux, bande élastique avec coutures de séparation\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDoublure\u003c\/strong\u003e : daim\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCuir\u003c\/strong\u003e : issu des déchets de l'industrie alimentaire, aucun animal n'est élevé pour la fabrication de ces étuis\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation de la Scissor Classic Case\u003c\/h2\u003e\n\u003cp\u003eSpecial One conseille de nettoyer chaque soir vos ciseaux avec une peau de chamois, de les huiler avec une huile spéciale, puis de les ranger dans la Scissor Classic Case : un petit rituel qui les garde en parfait état pour le lendemain.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288411042137,"sku":"SO-SCISSOR-CLASSIC-CASE","price":124.8,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/scissor-classic-case-etui-a-ciseaux-en-cuir-special-one.png?v=1793373128"},{"product_id":"scissor-lux-case-etui-a-ciseaux-en-cuir-special-one","title":"Scissor Lux Case - Etui à Ciseaux en Cuir Special One","description":"\u003cp\u003eLa \u003cstrong\u003eScissor Lux Case\u003c\/strong\u003e de Special One est un étui à ciseaux haut de gamme en véritable cuir de veau, travaillé de façon artisanale. Pratique et élégante, elle est pensée pour les toiletteurs professionnels qui prennent soin de leurs outils.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir la Scissor Lux Case ?\u003c\/h2\u003e\n\u003cp\u003eElle reprend la tradition des rouleaux de cuir dans lesquels on rangeait autrefois les outils de coupe pour les protéger des chocs et de l'humidité. Sa fermeture est moderne et rapide : deux larges élastiques placés aux extrémités de l'étui roulé maintiennent les côtés bien serrés.\u003c\/p\u003e\n\u003cp\u003eA l'intérieur, 11 compartiments accueillent des ciseaux de types et de tailles variés. La doublure en daim apporte douceur et protection pendant le rangement, et préserve l'affûtage de vos lames.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques de la Scissor Lux Case\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eMatière\u003c\/strong\u003e : 100 % cuir de veau, fabrication artisanale\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFormat\u003c\/strong\u003e : étui roulé\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFermeture\u003c\/strong\u003e : deux larges élastiques aux extrémités\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCapacité\u003c\/strong\u003e : 11 compartiments\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDoublure\u003c\/strong\u003e : daim\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCuir\u003c\/strong\u003e : issu des déchets de l'industrie alimentaire, aucun animal n'est élevé pour la fabrication de ces étuis\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eUtilisation de la Scissor Lux Case\u003c\/h2\u003e\n\u003cp\u003eSpecial One conseille de nettoyer chaque soir vos ciseaux avec une peau de chamois, de les huiler avec une huile spéciale, puis de les ranger dans la Scissor Lux Case : un petit rituel qui les garde en parfait état pour le lendemain.\u003c\/p\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288417300825,"sku":"SO-SCISSOR-LUX-CASE","price":124.8,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/scissor-lux-case-etui-a-ciseaux-en-cuir-special-one.png?v=1793373147"},{"product_id":"groommaster-magnetic-stand-support-magnetique-ciseaux-special-one","title":"GroomMaster Magnetic Stand - Support Magnétique Ciseaux Special One","description":"\u003cp\u003eLe \u003cstrong\u003eGroomMaster Magnetic Stand\u003c\/strong\u003e est le support magnétique pour ciseaux de Special One. Il permet de poser vos ciseaux en toute sécurité, sans chocs, tout en apportant une touche d'élégance à votre poste de travail.\u003c\/p\u003e\n\u003ch2\u003ePourquoi choisir le GroomMaster Magnetic Stand ?\u003c\/h2\u003e\n\u003cp\u003eFabriqué en plexiglas de qualité, il offre un look moderne et une excellente stabilité grâce à son poids bien équilibré. Sa surface est recouverte de liège, un matériau poreux et souple qui amortit les chocs lorsque vous posez vos ciseaux. Le liège est aussi antistatique et facile à nettoyer.\u003c\/p\u003e\n\u003cp\u003eLa force magnétique est calibrée pour tenir fermement les ciseaux tout en permettant de les reprendre facilement d'une seule main : un vrai gain de temps pendant les séances de toilettage intenses. Un espace vide sur la surface aide à saisir rapidement les ciseaux, qui restent protégés des chutes, ce qui limite les risques d'abîmer les lames et les affûtages trop fréquents.\u003c\/p\u003e\n\u003cp\u003eLes ciseaux se posent en parallèle, sans se croiser, ce qui préserve l'intégrité des lames.\u003c\/p\u003e\n\u003ch2\u003eCaractéristiques du GroomMaster Magnetic Stand\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eMatière\u003c\/strong\u003e : plexiglas, surface recouverte de liège antistatique\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCapacité\u003c\/strong\u003e : jusqu'à 5 paires de ciseaux de toilettage\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMaintien\u003c\/strong\u003e : magnétique, ciseaux posés en parallèle\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePrise en main\u003c\/strong\u003e : espace vide pour attraper les ciseaux rapidement, d'une seule main\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStabilité\u003c\/strong\u003e : poids bien équilibré\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"autre","offers":[{"title":"Default Title","offer_id":60288424837465,"sku":"SO-GROOMMASTER-STAND","price":222.4,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/groommaster-magnetic-stand-support-magnetique-ciseaux-special-one.png?v=1793373085"}],"url":"https:\/\/petdesign.fr\/es\/collections\/nouveautes-special-one.oembed?page=2","provider":"Petdesign.fr","version":"1.0","type":"link"}