{"product_id":"skincare-pro-shampoing-soin-traitant","title":"SKINCARE pro, behandelingsshampoo","description":"\u003c!-- ============================================== ONTWERPSYSTEEM — Visuele verfijning ============================================== --\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!-- BLOK 1: INTRODUCTIE --\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\u003eHUIDVERZORGINGSPROFESSIONAL\u003c\/strong\u003e is de huidreinigende shampoo \u003cstrong\u003eolieachtig\u003c\/strong\u003e Special One, samengesteld voor \u003cstrong\u003eprobleem- of gevoelige huid\u003c\/strong\u003e.  Het herstelt het evenwicht van de huid en het haar, herstelt de natuurlijke talgproductie en zorgt bij regelmatig gebruik voor een gezonde huid. \u003cstrong\u003enatuurlijke beschermende barrière\u003c\/strong\u003e tegen parasitaire aanvallen.     \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;\"\u003eVoor wie is dit product bedoeld?\u003c\/h2\u003e          \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eIedereen zal er wel iets van zijn gading in vinden. \u003cstrong\u003ebijzonder waardevol voor dieren die lijden aan chronische of terugkerende huidproblemen.\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\"\u003eTrimmers\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\"\u003eVeeboeren\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\"\u003eIndividuen\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\"\u003eConcurrenten\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\"\u003eBehandelaars\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!-- BLOK 2: EXPERTISE \u0026  RESULTATEN --\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;\"\u003eExpertise \u0026amp; Resultaten\u003c\/h2\u003e          \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eZijn \u003cstrong\u003eolieachtige samenstelling\u003c\/strong\u003e Het biedt een diepgaande verzorgende werking zonder het haar te beschadigen. Het werkt niet als een gewone reinigende shampoo, maar als een... \u003cstrong\u003eEchte, zachte huidverzorging\u003c\/strong\u003e Dit herstelt, beschermt en brengt de huid op de lange termijn weer in balans.\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\u003eSchuimlimiet:\u003c\/strong\u003e Skincare Pro schuimt niet veel en dringt moeilijk door in dichte of dikke vacht. Overweeg in die gevallen een product te gebruiken dat beter bij uw behoeften past. \u003cstrong\u003eAqua Terme Pro\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=\"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\"\u003eWerking tegen huidafwijkingen\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eHet werkt tegen de belangrijkste huidaandoeningen: atopie, dermatitis en epidermale onevenwichtigheden.\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=\"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\"\u003eAnti-jeuk\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eVermindert en verlicht jeuk en huidirritaties.\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=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eAntiroosmiddel\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eReguleert afschilfering en vermindert schilfers aanzienlijk.\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=\"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\"\u003eDiepe hydratatie\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eHydrateert intensief een droge of beschadigde vacht.\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 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\"\u003eVette huid \u0026amp; geuren\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eHelpt bij een vette, onaangenaam ruikende huid door de natuurlijke talgproductie te herstellen.\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\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eBeschermende barrière\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eBij regelmatig gebruik vormt het een natuurlijke beschermende barrière tegen parasitaire aanvallen.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\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 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\"\u003eUniverseel \u0026amp; zacht\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eGeschikt voor honden en katten van alle leeftijden, van pups tot senioren.\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!-- RADAREENHEID (verplaatst naar Expertise) --\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;\"\u003eKrijg beter inzicht in de werking van huidverzorgingsprofessionals.\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eEen gedetailleerde analyse van de cosmetische prestaties, noot voor noot.\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: \"Soin peau\", value: 5 }, { label: \"Volume\", value: 1 }, { label: \"Moussant\", value: 1 }, { label: \"Texture\", value: 3 }, { label: \"Hydratation\", value: 4 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e        \u003c!-- BLOK 3: SAMENSTELLING (MAPPING JS active Skincare Pro - geverifieerd) --\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;\"\u003eSamenstelling van Skincare Pro: natuurlijke actieve ingrediënten \u0026amp; gerichte actie\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eEen olieachtige formule met \u003cstrong\u003e91% van de ingrediënten is van natuurlijke oorsprong.\u003c\/strong\u003e — zonder SLES, zonder SLS, zonder parabenen, zonder siliconen. Hieronder wordt zone voor zone uitgelegd hoe elk actief ingrediënt inwerkt op de huid en het haar.\u003c\/p\u003e            \u003c!-- KAARTVERZAMELING --\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 Skincare 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:'huiles', label:'Complexe d’Huiles Naturelles', latin:'Olive · Maïs · Amande douce · Avocat · Coco', family:'cond',\n          desc:\"Base lavante huileuse nourrissante : ces huiles apaisent et hydratent la peau sèche ou atopique sans altérer le film hydrolipidique.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Nutrition lipidique\", benefit:\"Nourrit et reconstitue le film hydrolipidique sans le décaper.\" },\n            { anchor:'epiderme', action:\"Apaisement des peaux sèches\", benefit:\"Hydrate et apaise les peaux sèches ou atopiques en profondeur.\" }\n          ]\n        },\n        {\n          id:'propolis', label:'Propolis', latin:'« L’antibiotique naturel »', family:'botanic',\n          desc:\"Résine d’abeille aux propriétés antimicrobiennes et anti-inflammatoires : soulage les démangeaisons et protège la peau des infections.\",\n          targets: [\n            { anchor:'epiderme', action:\"Anti-inflammatoire\", benefit:\"Soulage les démangeaisons et combat les impuretés cutanées.\" },\n            { anchor:'glande_seb', action:\"Protection antimicrobienne\", benefit:\"Protège la peau des infections au niveau du film cutané.\" }\n          ]\n        },\n        {\n          id:'fucus', label:'Algue Fucus Vesiculosus', latin:'Chêne marin', family:'aqua',\n          desc:\"Algue nourrissante et hydratante : maintient la peau souple et hydratée tout en renforçant ses défenses physiologiques.\",\n          targets: [\n            { anchor:'derme', action:\"Renfort des défenses\", benefit:\"Renforce les défenses physiologiques cutanées en profondeur.\" },\n            { anchor:'film_hydro', action:\"Hydratation durable\", benefit:\"Maintient la peau souple et hydratée.\" }\n          ]\n        },\n        {\n          id:'levures', label:'Levures (Saccharomyces)', latin:'Source de vitamines B', family:'bio',\n          desc:\"Riches en vitamines B : elles renforcent et illuminent le pelage et contribuent à restaurer une barrière cutanée saine.\",\n          targets: [\n            { anchor:'epiderme', action:\"Barrière cutanée\", benefit:\"Contribuent à restaurer une barrière cutanée saine et équilibrée.\" },\n            { anchor:'tige_poil', action:\"Éclat du pelage\", benefit:\"Renforcent et illuminent le poil de l’intérieur.\" }\n          ]\n        },\n        {\n          id:'passion', label:'Fruit de la Passion', latin:'Passiflora edulis', family:'botanic',\n          desc:\"Extrait aux propriétés anti-inflammatoires et lénifiantes : il apaise les peaux irritées ou enflammées et renforce les défenses physiologiques.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisant \u0026 lénifiant\", benefit:\"Apaise les peaux irritées ou enflammées.\" },\n            { anchor:'derme', action:\"Renfort physiologique\", benefit:\"Renforce les défenses naturelles de la peau.\" }\n          ]\n        },\n        {\n          id:'citron', label:'Jus de Citron', latin:'Citrus limon', family:'bio',\n          desc:\"Antimicrobien et antioxydant naturel : il réduit les mauvaises odeurs et aide à prévenir les infections cutanées.\",\n          targets: [\n            { anchor:'glande_sud', action:\"Action déodorante\", benefit:\"Réduit les mauvaises odeurs liées aux déséquilibres cutanés.\" },\n            { anchor:'epiderme', action:\"Prévention des infections\", benefit:\"Aide à prévenir les infections grâce à son action antimicrobienne.\" }\n          ]\n        },\n        {\n          id:'mangue', label:'Extrait de Mangue', latin:'Mangifera indica', family:'aqua',\n          desc:\"Riche en vitamines et antioxydants : il nourrit et protège la peau des agressions extérieures.\",\n          targets: [\n            { anchor:'epiderme', action:\"Protection antioxydante\", benefit:\"Protège la peau des agressions extérieures et du stress oxydatif.\" },\n            { anchor:'tige_poil', action:\"Nutrition\", benefit:\"Nourrit la fibre et soutient sa vitalité.\" }\n          ]\n        },\n        {\n          id:'hydroxy', label:'Hydroxy-Acides de Fruits', latin:'AHA végétaux', family:'cond',\n          desc:\"Acides de fruits qui exfolient délicatement les cellules mortes et favorisent la pénétration des actifs réparateurs.\",\n          targets: [\n            { anchor:'epiderme', action:\"Exfoliation douce\", benefit:\"Éliminent délicatement les cellules mortes et les squames.\" },\n            { anchor:'film_hydro', action:\"Pénétration des actifs\", benefit:\"Facilitent l’hydratation profonde et la pénétration des actifs réparateurs.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e        \u003c\/div\u003e        \u003c!-- BLOK 4: PROTOCOLLEN --\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;\"\u003eProtocollen \u0026amp; Gebruikssuggesties\u003c\/h2\u003e          \u003c!-- VERDUNNING P4: 3 eenvoudige kaarten (Verhouding · Opbrengst · Geanimeerde equivalenties) --\u003e          \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e              \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eReferentieverdunning\u003c\/div\u003e                \u003cdiv class=\"aqr-dilution-grid\"\u003e                    \u003c!-- KAART 1: Verhouding --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eVerhouding\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003ePuur of tot 1\/20\u003cbr\u003eafhankelijk van de ernst van het probleem\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- KAART 2: Opbrengst --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eOpbrengst\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 5 liter\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e1 liter\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 liter\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e5 liter\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 liter\u003c\/div\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eklaar voor gebruik\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- KAART 3: Geanimeerde equivalenten --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eVoor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 liter\u003c\/span\u003e eindproduct\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\u003ein volume\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 G \u003cspan\u003ein gewicht\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\"\u003eeetlepels\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\"\u003epompdrukken\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 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e                                                  \u003cdiv style=\"margin-bottom: 12px; padding: 12px 16px; background: #fff3cd; border-left: 3px solid #e67e22; border-radius: 8px; font-size: 13px; line-height: 1.55;\"\u003e❗️ Altijd toepassen \u003cstrong\u003edirect na het Bio Energy Plus masker\u003c\/strong\u003e,  Tussentijds spoelen is niet nodig — laat Bio Energy Plus zijn werk doen. \u003cstrong\u003eminstens 20 minuten\u003c\/strong\u003e,  ideaal te combineren met \u003cstrong\u003eHygrovloeistof\u003c\/strong\u003e. \u003cstrong\u003eTwee shampoos\u003c\/strong\u003e aanbevolen voor elk bad.\u003c\/div\u003e                            \u003cdetails class=\"aqr-proto-acc\" open\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eBehandelingsprotocol — start van de behandeling\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\"\u003eAan het begin van de behandeling, voor een huid met een uitgesproken onevenwichtigheid.\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\"\u003eVerlengd masker voor gebruik vóór het zwemmen\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eToepassen \u003cstrong\u003eBio Energy Plus + Hygro Fluid\u003c\/strong\u003e Op droog haar aanbrengen. Niet laten inwerken. \u003cstrong\u003eminimaal 20 minuten\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\"\u003eToepassing zonder uitspoelen\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eBreng Skincare Pro aan zonder het masker af te spoelen. \u003cstrong\u003epuur of licht verdund\u003c\/strong\u003e.  Masseer zachtjes en spoel vervolgens af.\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\"\u003eTweede shampoo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eWas het haar een tweede keer met shampoo en spoel het daarna grondig uit.\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\"\u003eHerstellende afwerking\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eRond af met \u003cstrong\u003eHydraterende crème en\/of gezichtsreiniger\u003c\/strong\u003e. \u003cstrong\u003eFrequentie:\u003c\/strong\u003e Twee keer per week aan het begin van de behandeling, daarna de frequentie aanpassen aan de ontwikkeling van de huid.\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\"\u003eOnderhoudsprotocol — regelmatige controle\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\"\u003eZodra de huid gestabiliseerd is, om het huidevenwicht te behouden.\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\"\u003eMasker voor het baden\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eBereid je voor met \u003cstrong\u003eBio-energie Plus\u003c\/strong\u003e (20 minuten blootstellingstijd), eventueel alleen als Hygro Fluid niet nodig is.\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\"\u003eDubbele shampoo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eBreng Skincare Pro verdund aan op \u003cstrong\u003e1\/20\u003c\/strong\u003e Laat het masker intrekken zonder het uit te spoelen. Was je haar twee keer met shampoo en spoel het daarna uit.\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\"\u003eBeschermende afwerking\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eRond af met \u003cstrong\u003eHydraterende crème\u003c\/strong\u003e om de hydrolipide barrière te behouden. Regelmatig gebruik versterkt deze barrière geleidelijk. \u003cstrong\u003enatuurlijke beschermende barrière\u003c\/strong\u003e van de jas.\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!-- BLOK 5: VERENIGINGEN \u0026  RACES --\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;\"\u003eAanbevolen verenigingen \u0026amp; Races\u003c\/h2\u003e          \u003c!-- Huidverzorgingsprofessional in de kern + modulaire supplementen Als... → Dan --\u003e          \u003cdiv class=\"aqr-assoc\"\u003e              \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eHet complete Special One-assortiment\u003c\/strong\u003e is compatibel met Skincare Pro. Onze favoriete combinaties:\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\"\u003eALS\u003c\/span\u003e  \u003cspan\u003eEen duikmasker is verplicht (essentieel) voordat je gaat zwemmen...\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\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\"\u003eALS\u003c\/span\u003e  \u003cspan\u003eEen laatste retouche is nodig…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eHydraterende crème en\/of gezichtsreiniger\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\"\u003eALS\u003c\/span\u003e  \u003cspan\u003eDe vacht is dicht of dik...\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAqua Terme Pro (betere penetratie)\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!-- Races in ronde pillen --\u003e          \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWaar Skincare Pro het verschil maakt:\u003c\/h3\u003e          \u003cdiv class=\"aqr-races-mosaic\"\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐱 Alle katten\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🩹 Honden met huidafwijkingen \u003cspan\u003e(atopie, dermatitis, irritaties, jeuk)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐩 Krullende vachten \u003cspan\u003e(Poedels, Bichons, Kerry Blue, Soft Coated, Bedlington)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐕 Alle Cocker Spaniels \u003cspan\u003e(Amerikaans, Engels)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Tibetaanse rassen \u003cspan\u003e(Shih Tzu, Lhasa Apso, Tibetaanse Terriër)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e👑 Engelse Toy Spaniels \u003cspan\u003e(Ruiter \u0026amp; Koning Karel)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e✨ Langharen \u0026amp; zijdeachtig \u003cspan\u003e(Yorkshire, Afghanen)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐾 Terriërs \u003cspan\u003e(Schots, Westie, Welsh)\u003c\/span\u003e\u003c\/span\u003e          \u003c\/div\u003e          \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eEen lange en niet-uitputtende lijst — milde dermatologische verzorging voor probleemhuid.\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;\"\u003eBiologisch afbreekbaar +91% | Vrij van SLES, SLS, parabenen en siliconen | Niet op dieren getest | Herbruikbaar HDPE\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 liter","offer_id":37819388330163,"sku":"WEX-SK1 015 (66)","price":63.9,"currency_code":"EUR","in_stock":true},{"title":"5 Liter","offer_id":37819388362931,"sku":"WEX-SK5 010 (68)","price":194.0,"currency_code":"EUR","in_stock":true},{"title":"250 ml","offer_id":37819388395699,"sku":"WEX-SK250 (62)","price":33.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Skincare.png?v=1680254223","url":"https:\/\/petdesign.fr\/nl\/products\/huidverzorging-pro-shampoo-behandeling-verzorging","provider":"Petdesign.fr","version":"1.0","type":"link"}