AQUAROSA PRO
/* On garde la police du theme Shopify - juste antialiasing pour le rendu */ body, body * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* === Variab les du système de design === */ :root { --ds-black: #1d1d1f; /* Noir doux — légèrement plus chaud que le noir pur */ --ds-text: #1d1d1f; --ds-text-secondary: #86868b; /* Gris secondaire */ --ds-text-tertiary: #a1a1a6; --ds-bg: #ffffff; --ds-bg-elevated: #fbfbfd; /* Gris très clair */ --ds-bg-soft: #f5f5f7; /* Gris très clair */ --ds-border: #d2d2d7; --ds-border-soft: #e8e8ed; --ds-gold: #c2a85c; /* Or subtil et mat */ --ds-gold-pale: #f0e6cf; --ds-radius-sm: 8px; --ds-radius-md: 12px; --ds-radius-lg: 18px; --ds-radius-xl: 22px; --ds-ease: cubic-bezier(0.16, 1, 0.3, 1); --ds-duration: 0.35s; } /* === Couleurs noir / doré === */ /* Cards expertise (Proposition D) */ .aqr-benefit-card { background: var(--ds-bg) !important; border: 1px solid var(--ds-border-soft) !important; border-radius: var(--ds-radius-md) !important; padding: 18px 20px !important; transition: transform var(--ds-duration) var(--ds-ease), box-shadow var(--ds-duration) var(--ds-ease), border-color var(--ds-duration) var(--ds-ease) !important; /* Force l'alignement haut de chaque card dans la grille */ align-self: stretch !important; margin: 0 !important; vertical-align: top !important; } .aqr-benefits-grid { align-items: start !important; align-content: start !important; } /* MEME chose pour les audience cards et autres grilles */ .aqr-audience-grid { align-items: start !important; align-content: start !important; } .aqr-audience-card { align-self: stretch !important; margin: 0 !important; } .aqr-benefit-card::before { background: var(--ds-text) !important; width: 3px !important; } .aqr-benefit-card:hover { background: var(--ds-bg) !important; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); border-color: var(--ds-border) !important; } .aqr-benefit-card:hover::before { width: 3px !important; background: var(--ds-gold) !important; } .aqr-benefit-corner { width: 14px !important; height: 14px !important; background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important; border-top-right-radius: var(--ds-radius-md) !important; } .aqr-benefit-icon { background: var(--ds-text) !important; color: var(--ds-gold) !important; border-radius: var(--ds-radius-sm) !important; } .aqr-benefit-title { color: var(--ds-text) !important; font-weight: 600 !important; letter-spacing: -0.01em !important; font-size: 14px !important; } .aqr-benefit-desc { color: var(--ds-text-secondary) !important; font-size: 12px !important; line-height: 1.55 !important; } /* === Cards Audience === */ .aqr-audience-card { background: var(--ds-bg) !important; border: 1px solid var(--ds-border-soft) !important; border-radius: var(--ds-radius-md) !important; padding: 18px 12px !important; transition: transform var(--ds-duration) var(--ds-ease), box-shadow var(--ds-duration) var(--ds-ease), border-color var(--ds-duration) var(--ds-ease) !important; } .aqr-audience-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); border-color: var(--ds-border) !important; } .aqr-audience-icon { background: var(--ds-bg-soft) !important; border-radius: 50% !important; width: 44px !important; height: 44px !important; } .aqr-audience-icon svg { stroke: var(--ds-text) !important; } .aqr-audience-name { color: var(--ds-text) !important; font-weight: 500 !important; font-size: 13px !important; letter-spacing: -0.01em !important; } /* === Eyebrows === */ span[style*="text-transform: uppercase"][style*="color: #999"] { color: var(--ds-text-secondary) !important; font-weight: 500 !important; letter-spacing: 0.08em !important; font-size: 11px !important; margin-bottom: 18px !important; } /* === Blocs principaux : fond uniforme === */ /* Les blocs sur fond crème deviennent gris pâle */ div[style*="background-color: #FBF9F5"] { background-color: var(--ds-bg-soft) !important; } /* === Bloc Dilution === */ .aqr-dilution { border: none !important; padding: 0 !important; background: transparent !important; } /* Forcer l'alignement haut + hauteur egale des 3 cartes dilution */ .aqr-dilution-grid { align-items: stretch !important; } .aqr-dilution-cell { align-self: stretch !important; margin: 0 !important; } .aqr-dilution-eyebrow { color: var(--ds-text-secondary) !important; letter-spacing: 0.08em !important; font-weight: 500 !important; margin-bottom: 20px !important; } .aqr-dilution-eq-target { background: var(--ds-text) !important; color: var(--ds-bg) !important; border-radius: 6px !important; padding: 4px 12px !important; } .aqr-dilution-eq-item { background: var(--ds-bg) !important; border: 1px solid var(--ds-border-soft) !important; border-radius: var(--ds-radius-sm) !important; padding: 14px 8px !important; } .aqr-dilution-eq-val { font-weight: 700 !important; color: var(--ds-text) !important; } .aqr-dilution-eq-name { color: var(--ds-text-secondary) !important; } .aqr-dilution-eq-sep { color: var(--ds-text-tertiary) !important; } .aqr-dilution-eq-or span { color: var(--ds-text-tertiary) !important; } /* === Chips rendement (le trio horizontal) === */ .aqr-dilution-chips-label { color: var(--ds-text-secondary) !important; font-weight: 500 !important; letter-spacing: 0.08em !important; } .aqr-dilution-chip-from, .aqr-dilution-chip-to { color: var(--ds-text) !important; } .aqr-dilution-chip-arr { color: var(--ds-gold) !important; } .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; } /* === Accordeons Protocoles === */ .aqr-proto-acc { background: var(--ds-bg) !important; border: 1px solid var(--ds-border) !important; border-radius: var(--ds-radius-md) !important; overflow: hidden; transition: box-shadow var(--ds-duration) var(--ds-ease) !important; } .aqr-proto-acc[open] { box-shadow: 0 12px 32px rgba(0,0,0,0.08); } /* Suppression des perforations beige du ticket */ .aqr-proto-acc::before, .aqr-proto-acc::after { display: none !important; } .aqr-proto-summary { padding: 18px 56px 18px 22px !important; /* right plus large pour le +, left aere */ } .aqr-proto-title { word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } @media (max-width: 600px) { .aqr-proto-summary { padding: 16px 50px 16px 18px !important; } .aqr-proto-plus { right: 16px !important; } .aqr-proto-content { padding: 4px 18px 18px !important; } } @media (max-width: 380px) { .aqr-proto-summary { padding: 14px 44px 14px 14px !important; } .aqr-proto-plus { right: 12px !important; } .aqr-proto-content { padding: 4px 14px 16px !important; } } .aqr-proto-title { color: var(--ds-text) !important; font-weight: 500 !important; letter-spacing: -0.01em !important; font-size: 15px !important; } .aqr-proto-plus { border-color: var(--ds-border) !important; color: var(--ds-text-secondary) !important; background: transparent !important; transition: transform var(--ds-duration) var(--ds-ease), background var(--ds-duration) var(--ds-ease), color var(--ds-duration) var(--ds-ease) !important; } .aqr-proto-acc[open] .aqr-proto-plus { background: var(--ds-text) !important; color: var(--ds-bg) !important; border-color: var(--ds-text) !important; } .aqr-proto-content { padding: 4px 24px 22px !important; } .aqr-proto-subtitle { color: var(--ds-text-secondary) !important; border-bottom: 1px solid var(--ds-border-soft) !important; } .aqr-proto-step-marker { background: var(--ds-bg-soft) !important; border-color: transparent !important; color: var(--ds-text) !important; } .aqr-proto-step-title { color: var(--ds-text) !important; letter-spacing: 0.06em !important; font-weight: 600 !important; } .aqr-proto-step-desc { color: var(--ds-text-secondary) !important; } /* === Associations Si → Alors === */ .aqr-assoc-intro { color: var(--ds-text-secondary) !important; font-size: 14px !important; line-height: 1.6 !important; } .aqr-assoc-rule { border-bottom: 1px solid var(--ds-border-soft) !important; padding: 18px 4px !important; } .aqr-assoc-if-tag { background: var(--ds-text) !important; color: var(--ds-bg) !important; border-radius: 4px !important; font-weight: 600 !important; letter-spacing: 0.04em !important; } .aqr-assoc-if span { color: var(--ds-text-secondary) !important; } .aqr-assoc-then-arrow { color: var(--ds-gold) !important; } .aqr-assoc-then strong { color: var(--ds-text) !important; } /* === Races (pilules) === */ .aqr-race-tag { background: var(--ds-bg) !important; border: 1px solid var(--ds-border-soft) !important; color: var(--ds-text) !important; font-weight: 500 !important; transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important; } .aqr-race-tag:hover { transform: translateY(-1px); border-color: var(--ds-border) !important; } .aqr-race-tag span { color: var(--ds-text-secondary) !important; } /* === Radar : points forts en pilules === */ .so-foot-centered-chip { background: var(--ds-bg) !important; border: 1px solid var(--ds-border) !important; color: var(--ds-text) !important; border-radius: 100px !important; padding: 6px 14px !important; font-weight: 500 !important; } .so-foot-centered-chip em { color: var(--ds-gold) !important; } .so-foot-centered-title { color: var(--ds-text-secondary) !important; font-weight: 500 !important; letter-spacing: 0.18em !important; } .so-foot-centered-line { background: var(--ds-border-soft) !important; } /* === Cartographie : ajouter de l'air === */ #aqr-carto .aqr-list-item { border-radius: var(--ds-radius-sm) !important; transition: background 0.2s var(--ds-ease) !important; } /* Assurer la visibilite de l'image schema dans tous les contextes */ #aqr-carto .aqr-schema-wrap { display: block !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important; } #aqr-carto .aqr-schema-img { display: block !important; visibility: visible !important; opacity: 1 !important; width: 100% !important; height: auto !important; } /* === Le grand 1/20 — typographie plus light === */ .aqr-dilution-ratio-num { color: var(--ds-text) !important; font-weight: 700 !important; } .aqr-dilution-ratio-sub { color: var(--ds-text-secondary) !important; } /* Animations apaisees - cible seulement les elements avec transition (pas les animations) */ .aqr-audience-card, .aqr-race-tag, .aqr-proto-acc, .aqr-proto-plus, .aqr-dilution, .so-foot-centered-chip { transition-timing-function: var(--ds-ease) !important; } /* === Le footer mentions === */ div[style*="text-transform: uppercase"][style*="color: #888"] { color: var(--ds-text-tertiary) !important; font-size: 10px !important; letter-spacing: 0.05em !important; font-weight: 500 !important; } AQUAROSA PRO est le shampoing professionnel Special One dédié aux fourrures ayant fortement besoin d'être nourries. Ultra concentré, riche en vitamines et actifs hydratants, il donnera la meilleure version du poil de votre animal, quelle que soit sa race : hydratation et nutrition les plus intenses possible, avec conditionneur intégré. Pour qui est fait ce produit ? Tout le monde y trouvera un réel intérêt — du salon de toilettage professionnel au particulier. Toiletteurs Éleveurs Particuliers Compétiteurs Handlers .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; } .aqr-audience-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; } .aqr-audience-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 16px 10px; background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; text-align: center; transition: border-color 0.2s, transform 0.2s; } .aqr-audience-card:hover { border-color: #1a1a1a; transform: translateY(-1px); } .aqr-audience-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: #f6f6f6; border-radius: 50%; } .aqr-audience-name { font-size: 12px; font-weight: 600; color: #1a1a1a; line-height: 1.2; } @media (max-width: 700px) { .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 420px) { .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); } } Expertise & Résultats Sa formulation ultra concentrée permet de rattraper les fourrures les plus déshydratées, avec une action particulièrement intense sur les peaux sèches et sensibles. Les vitamines et acides aminés naturels lui confèrent une douceur remarquable tout en apportant brillance et éclat durable. Même en usage ultra fréquent, il reste respectueux de la peau et du poil. Bain en douceur Convient aux chiens et chats de tous âges, du bébé au sénior. Nettoyage profond Nettoie, assainit et donne un coup d'éclat à tous les types de poils. Anti-nœuds Facilite le démêlage et le brossage, et limite le retour des nœuds. Nutrition immédiate Action intense et visible dès le 1er shampoing. Protection kératine Augmente les défenses naturelles pour protéger la structure du poil. Peaux grasses Traite le sébum en excès tout en préservant le film hydrolipidique. Bains fréquents Aucun risque pour la peau et le poil, même en utilisation intensive. Universel Les poils à volume garderont leur volume naturel ; les poils plombants soyeux resteront tels quels — et encore plus beaux. .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; } .aqr-benefits-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; align-items: stretch; gap: 10px; } .aqr-benefit-card { position: relative; display: flex; gap: 14px; background: #fff; border: 1px solid #1a1a1a; border-radius: 8px; padding: 16px 18px; align-items: center; overflow: hidden; opacity: 0; animation: aqrBenefitFadeIn 0.5s ease-out forwards; animation-delay: calc(var(--i) * 80ms); transition: background 0.3s; } .aqr-benefit-card::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 4px; background: #1a1a1a; transition: width 0.3s, background 0.3s; } .aqr-benefit-card:hover { background: #fafafa; } .aqr-benefit-card:hover::before { width: 6px; background: #D4AF37; } .aqr-benefit-corner { position: absolute; top: 0; right: 0; width: 18px; height: 18px; background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%); border-top-right-radius: 8px; overflow: hidden; } .aqr-benefit-icon { flex-shrink: 0; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: #1a1a1a; color: #F5E6B8; border-radius: 0; } .aqr-benefit-icon svg { width: 22px; height: 22px; } .aqr-benefit-content { flex: 1; min-width: 0; } .aqr-benefit-title { font-size: 14px; font-weight: 700; color: #1a1a1a; margin-bottom: 3px; } .aqr-benefit-desc { font-size: 11px; line-height: 1.5; color: #555; } @keyframes aqrBenefitFadeIn { to { opacity: 1; } } @media (max-width: 600px) { .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; } } Mieux comprendre les actions d'AQUAROSA PRO Le détail de ses performances cosmétologiques, note par note. #so-radar-widget * { box-sizing: border-box; } .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; } .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; } .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; } .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; } .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; } .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; } .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; } .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; } .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; } .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; } .so-foot-centered-chip em { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; } .so-shape-fill { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; } .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; } .so-dot { opacity: 0; animation: so-dotIn 0.35s ease forwards; } @keyframes so-shapeIn { to { opacity: 1; } } @keyframes so-dotIn { to { opacity: 1; } } @keyframes so-footerIn { to { opacity: 1; } } @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } } .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; } @keyframes so-traceIn { to { opacity: 1; } } @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } } @media (max-width: 480px) { #so-radar-widget > div { padding: 18px 16px 14px !important; } #so-radar-area { max-width: 300px !important; } .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; } .so-label .so-lval { font-size: 19px !important; } .so-label .so-lmax { font-size: 9px !important; } .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; } .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; } .so-foot-centered-chip em { font-size: 10px !important; } .so-foot-centered-line { max-width: 30px !important; } } @media (max-width: 360px) { #so-radar-area { max-width: 260px !important; } .so-label .so-lval { font-size: 16px !important; } .so-label .so-lname { font-size: 7px !important; } } (function() { var PRODUCT = { criteria: [ { label: "Hydratation", value: 4 }, { label: "Brillance", value: 4 }, { label: "Soin peau", value: 4 }, { label: "Volume", value: 3 }, { label: "Texture", value: 2 }, { label: "Démêlant", value: 4 } ] }; var svg = document.getElementById("so-radar-svg"); var area = document.getElementById("so-radar-area"); var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95; function ang(i) { return (Math.PI * 2 * i / n) - Math.PI / 2; } 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) }; } function svgEl(tag) { return document.createElementNS("http://www.w3.org/2000/svg", tag); } for (var l = 1; l maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i < n; i++) { if (data[i].value === maxVal) bests.push(data[i]); } var chipsHtml = ''; for (var i = 0; i < bests.length; i++) { chipsHtml += '' + bests[i].label + '' + bests[i].value + '/5'; } var labelTxt = (bests.length > 1 ? 'POINTS FORTS' : 'POINT FORT'); document.getElementById("so-radar-footer").innerHTML = '★ ' + labelTxt + ' ★' + chipsHtml + ''; })(); Composition d'AQUAROSA PRO : innovation, performance et recherche de naturel ! Une formulation naturelle riche en antioxydants, vitamines et actifs purifiants — sans SLS, sans parabens, sans silicone. #aqr-carto, #aqr-carto * { box-sizing: border-box; } #aqr-carto { font-family: inherit; color: #1a1a1a; line-height: 1.5; position: relative; } #aqr-carto .aqr-grid { display: grid; grid-template-columns: 170px 1fr 280px; gap: 16px; align-items: start; } /* LISTE — cadres encadres */ #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; } #aqr-carto .aqr-list-item { display: block; width: 100%; text-align: left; background: #fff; border: 1px solid #e5e5e5; padding: 8px 10px; cursor: pointer; font-family: inherit; color: #888; transition: all 0.3s; position: relative; min-height: 0; } #aqr-carto .aqr-list-item:hover { color: #1a1a1a; border-color: #bbb; background: #fafafa; } #aqr-carto .aqr-list-item.aqr-active { color: #1a1a1a; background: #fff; border-color: var(--c, #1a1a1a); border-left-width: 3px; padding-left: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.04); } #aqr-carto .aqr-li-name { font-size: 13px; line-height: 1.25; font-weight: 500; } /* SCHEMA */ #aqr-carto .aqr-col-schema { display: flex; justify-content: center; align-items: flex-start; } #aqr-carto .aqr-schema-wrap { position: relative; width: 100%; max-width: 200px; margin: 0 auto; z-index: 1; } #aqr-carto .aqr-schema-img { display: block; width: 100%; height: auto; } #aqr-carto .aqr-overlay { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 3; } #aqr-carto .aqr-connectors { position: absolute; inset: 0; pointer-events: none; z-index: 2; } #aqr-carto > svg.aqr-connector-svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 5; } /* Ligne connector (depuis la liste vers le point) */ #aqr-carto .aqr-conn-line { fill: none; stroke: var(--c); stroke-width: 1; opacity: 0; stroke-dasharray: 600; stroke-dashoffset: 600; animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards; } @keyframes aqrConnDraw { 0% { opacity: 0; stroke-dashoffset: 600; } 25% { opacity: 0.6; } 100% { opacity: 0.6; stroke-dashoffset: 0; } } /* IRRADIATION CIRCULAIRE DOREE — toujours identique */ /* Le groupe entier qui contient halo + cercle + branches étoilées */ #aqr-carto .aqr-star-group { transform-origin: center; transform-box: fill-box; } /* Halo doré central qui pulse doucement */ #aqr-carto .aqr-star-halo { fill: #D4AF37; opacity: 0; transform-origin: center; transform-box: fill-box; filter: blur(1.4px); animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s; } @keyframes aqrHaloIn { to { opacity: 0.5; } } @keyframes aqrHaloPulse { 0%, 100% { opacity: 0.4; transform: scale(1); } 50% { opacity: 0.75; transform: scale(1.2); } } /* Cercle d'irradiation qui se diffuse (anneau lent) */ #aqr-carto .aqr-star-ring { fill: none; stroke: #D4AF37; stroke-width: 0.5; opacity: 0; transform-origin: center; transform-box: fill-box; animation: aqrStarRing 3.2s ease-out infinite; } @keyframes aqrStarRing { 0% { opacity: 0; r: 3; stroke-width: 0.6; } 15% { opacity: 0.5; } 100% { opacity: 0; r: 12; stroke-width: 0.15; } } /* Point coloré A/B/C (par-dessus le doré) */ #aqr-carto .aqr-marker-dot { fill: var(--c); opacity: 0; transform-origin: center; transform-box: fill-box; animation: aqrDotIn 0.5s ease-out forwards; } @keyframes aqrDotIn { 0% { opacity: 0; transform: scale(0); } 70% { transform: scale(1.4); } 100% { opacity: 1; transform: scale(1); } } #aqr-carto .aqr-marker-text { fill: white; font-family: 'Courier New', monospace; font-size: 2.8px; font-weight: 700; text-anchor: middle; dominant-baseline: central; opacity: 0; animation: aqrDotIn 0.5s ease-out forwards; pointer-events: none; } #aqr-carto .aqr-leaving { animation: aqrFadeOut 0.4s ease-out forwards !important; } @keyframes aqrFadeOut { to { opacity: 0; } } /* INFO */ #aqr-carto .aqr-info { background: #fafafa; border: 1px solid #e5e5e5; padding: 16px 16px; transition: opacity 0.4s; } #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; } #aqr-carto .aqr-info-family { font-size: 9px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--c, #888); font-weight: 600; margin-bottom: 6px; transition: color 0.5s; } #aqr-carto .aqr-info-name { font-size: 16px; font-weight: 700; line-height: 1.2; margin: 0 0 4px; color: #1a1a1a; } #aqr-carto .aqr-info-latin { font-size: 11px; color: #999; font-style: italic; margin-bottom: 12px; } #aqr-carto .aqr-info-desc { font-size: 12px; line-height: 1.55; color: #333; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid #ececec; } #aqr-carto .aqr-info-section { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: #888; font-weight: 600; margin-bottom: 10px; } #aqr-carto .aqr-action-row { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dotted #ececec; } #aqr-carto .aqr-action-row:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; } #aqr-carto .aqr-action-marker { flex-shrink: 0; width: 18px; height: 18px; background: var(--c); color: white; text-align: center; line-height: 18px; font-family: 'Courier New', monospace; font-size: 10px; font-weight: 700; transition: background 0.5s; } #aqr-carto .aqr-action-content { flex: 1; min-width: 0; } #aqr-carto .aqr-action-zone { font-size: 9px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--c, #888); font-weight: 600; margin-bottom: 2px; transition: color 0.5s; } #aqr-carto .aqr-action-name { font-size: 13px; color: #1a1a1a; font-weight: 600; line-height: 1.25; margin-bottom: 3px; } #aqr-carto .aqr-action-benefit { font-size: 11px; color: #666; line-height: 1.5; } /* TABLET : liste + schema cote a cote, info en dessous */ @media (max-width: 900px) { #aqr-carto .aqr-grid { grid-template-columns: 1fr 130px; grid-template-rows: auto auto; gap: 14px; } #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; } #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; } #aqr-carto .aqr-col-info { grid-column: 1 / -1; grid-row: 2; } #aqr-carto .aqr-schema-wrap { max-width: 130px; } #aqr-carto .aqr-li-name { font-size: 12px; } #aqr-carto .aqr-list-item { padding: 7px 8px; } #aqr-carto .aqr-list { gap: 5px; } } /* MOBILE : meme structure mais photo encore plus petite */ @media (max-width: 640px) { #aqr-carto { padding: 12px !important; } #aqr-carto .aqr-grid { grid-template-columns: 1fr 100px; gap: 10px; } #aqr-carto .aqr-schema-wrap { max-width: 100px; } #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; } #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; } #aqr-carto .aqr-list-item { padding: 6px 8px; } #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; } #aqr-carto .aqr-info-name { font-size: 15px; } #aqr-carto .aqr-info { padding: 14px; } #aqr-carto .aqr-list { gap: 4px; } } /* TRES PETIT : photo minimale */ @media (max-width: 420px) { #aqr-carto .aqr-grid { grid-template-columns: 1fr 80px; gap: 8px; } #aqr-carto .aqr-schema-wrap { max-width: 80px; } #aqr-carto .aqr-li-name { font-size: 10px; } } (function(){ var familyColors = { botanic: '#7BA05B', aqua: '#4A90B8', bio: '#C84876', cond: '#B07BA0' }; var families = { botanic: 'Botanique', aqua: 'Aquatique', bio: 'Biochimique', cond: 'Conditionneur' }; // Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225) var anchors = { tige_poil: { x: 60, y: 25 }, // mi-tige cuticule: { x: 56, y: 65 }, // ecailles visibles epiderme: { x: 25, y: 115 }, // surface peau gauche film_hydro: { x: 32, y: 100 }, // surface peau clairement, ecarte du poil glande_seb: { x: 62, y: 142 }, // grappe jaune glande_sud: { x: 25, y: 168 }, // enchevetrement gauche muscle: { x: 78, y: 170 }, // faisceau diagonal follicule: { x: 43, y: 185 }, // cloche autour du poil bulbe: { x: 43, y: 193 }, // boule au fond, remonte encore derme: { x: 12, y: 190 } // bloc peau gauche bas }; var anchorLabels = { tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique', epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire', glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare', follicule: 'Follicule pileux', muscle: 'Muscle arrecteur' }; var ingredients = [ { id:'rose', label:'Rose Sauvage & Mauve', latin:'Rosa canina + Malva sylvestris', family:'botanic', desc:"Macérat floral hautement concentré en bioflavonoïdes, provitamine A (caroténoïdes) et acides gras polyinsaturés (oméga-3, oméga-6). Reconnu pour son action anti-inflammatoire et restructurante.", targets: [ { anchor:'epiderme', action:"Action anti-inflammatoire", benefit:"Apaise les rougeurs, calme les démangeaisons et restaure le confort cutané dès les premières applications." }, { anchor:'tige_poil', action:"Révèle l'éclat naturel", benefit:"Les acides gras essentiels gainent la fibre et restaurent sa réflectance lumineuse." } ] }, { id:'flav', label:'Flavonoïdes & Vitamine C', latin:'Polyphénols actifs', family:'botanic', desc:"Antioxydants végétaux puissants qui neutralisent les radicaux libres et activent les fibroblastes pour la production de collagène et d'élastine.", targets: [ { anchor:'derme', action:"Stimule le collagène", benefit:"Renforce la matrice dermique et améliore la tonicité de la peau dès l'application." }, { anchor:'epiderme', action:"Bouclier anti-radicaux libres", benefit:"Protège les kératinocytes du stress oxydatif lié à la pollution et aux UV." } ] }, { id:'chlor', label:'Chlorella', latin:'Chlorella vulgaris', family:'botanic', desc:"Micro-algue d'eau douce parmi les plus riches en chlorophylle, contenant 60% de protéines complètes, vitamines B et C, fer et magnésium chélatés.", targets: [ { anchor:'epiderme', action:"Détoxifie en profondeur", benefit:"La chlorophylle capte les métaux lourds et résidus chimiques accumulés sur l'épiderme." }, { anchor:'tige_poil', action:"Hydratation cellulaire", benefit:"Restaure le taux d'humidité optimal de la fibre (12-15%) pour une souplesse durable." } ] }, { id:'mer', label:'Eau de Mer', latin:'Complexe minéral marin', family:'aqua', desc:"Eau de mer pure micronisée, source naturelle de 92 oligo-éléments et minéraux biodisponibles dont magnésium, calcium, zinc, cuivre et sélénium.", targets: [ { anchor:'glande_seb', action:"Régule la séborrhée", benefit:"Le zinc équilibre l'activité des glandes sébacées et limite l'excès de sébum sans dessécher." }, { anchor:'cuticule', action:"Reminéralise la fibre", benefit:"Les oligo-éléments comblent les déficits minéraux du poil et renforcent les ponts disulfures." } ] }, { id:'aa', label:'Acides Aminés Naturels', latin:'Précurseurs de kératine', family:'bio', desc:"Cocktail d'acides aminés essentiels (cystéine, méthionine, arginine, lysine) constituant 95% de la kératine du poil. Pénétration intra-cellulaire prouvée.", targets: [ { anchor:'tige_poil', action:"Reconstruit la kératine", benefit:"Comble les zones de la fibre où les chaînes peptidiques sont rompues. Effet structurel durable." }, { anchor:'cuticule', action:"Resserre les écailles", benefit:"La cuticule lissée réfléchit la lumière uniformément : brillance maximale et toucher soyeux." } ] }, { id:'vit', label:'Complexe Vitaminé', latin:'Matrice B-C-E-F', family:'bio', desc:"Synergie de vitamines B5 (panthénol), B7 (biotine), C (ascorbate) et E (tocophérol) pour une nutrition complète du follicule jusqu'à la pointe.", targets: [ { anchor:'film_hydro', action:"Préserve la barrière cutanée", benefit:"La vitamine E protège les lipides du film hydrolipidique de l'oxydation et du lessivage." }, { anchor:'bulbe', action:"Active la matrice germinative", benefit:"La biotine et la B5 stimulent les cellules souches du bulbe responsables de la croissance du poil." } ] }, { id:'gly', label:'Glycérine & Urée', latin:'Humectants naturels', family:'cond', desc:"Couple humectant captant l'humidité atmosphérique pour la fixer durablement dans la fibre capillaire et la couche cornée de la peau.", targets: [ { anchor:'tige_poil', action:"Retient l'humidité", benefit:"L'urée à 2% maintient le taux d'eau de la fibre, la rendant souple, élastique et anti-casse." }, { anchor:'derme', action:"Restaure le NMF cutané", benefit:"Reconstitue le Facteur Naturel d'Hydratation, garant de l'élasticité et de la souplesse cutanée." } ] }, { id:'cond', label:'Complexe Conditionneur', latin:'Smoothing complex', family:'cond', desc:"Agents lissants cationiques de dernière génération qui se déposent sélectivement sur les zones endommagées de la fibre par attraction électrostatique.", targets: [ { anchor:'cuticule', action:"Démêle instantanément", benefit:"Réduit le coefficient de friction inter-fibres de 65% pour un peigne sans résistance." }, { anchor:'tige_poil', action:"Effet anti-nœuds prolongé", benefit:"Le film protecteur persiste après rinçage et limite le retour rapide des feutrages." } ] } ]; var listEl = document.getElementById('aqrList'); var schemaWrap = document.getElementById('aqrSchemaWrap'); var schemaImg = document.getElementById('aqrSchemaImg'); var overlay = document.getElementById('aqrOverlay'); var connectorsEl = document.getElementById('aqrConnectors'); var infoEl = document.getElementById('aqrInfo'); ingredients.forEach(function(ing, i) { var li = document.createElement('li'); var btn = document.createElement('button'); btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : ''); btn.setAttribute('type', 'button'); btn.dataset.idx = i; btn.style.setProperty('--c', familyColors[ing.family]); btn.innerHTML = '' + ing.label + ''; btn.addEventListener('click', function() { focusIngredient(i); }); li.appendChild(btn); listEl.appendChild(li); }); function clearAll() { var inside = overlay.querySelectorAll('*'); for (var i = 0; i < inside.length; i++) inside[i].classList.add('aqr-leaving'); var connSvg = document.querySelector('#aqr-carto > svg.aqr-connector-svg'); if (connSvg) { var conns = connSvg.querySelectorAll('*'); for (var i = 0; i < conns.length; i++) conns[i].classList.add('aqr-leaving'); } setTimeout(function() { overlay.innerHTML = ''; if (connSvg) connSvg.innerHTML = ''; }, 420); } var currentIdx = 0; var playing = true; var autoTimer = null; function focusIngredient(idx) { currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length; var ing = ingredients[currentIdx]; var color = familyColors[ing.family]; var items = document.querySelectorAll('#aqr-carto .aqr-list-item'); for (var i = 0; i < items.length; i++) { if (i === currentIdx) items[i].classList.add('aqr-active'); else items[i].classList.remove('aqr-active'); } infoEl.classList.add('aqr-fading'); setTimeout(function() { infoEl.style.setProperty('--c', color); var actionsHtml = ing.targets.map(function(t, i) { return '' + '' + String.fromCharCode(65 + i) + '' + '' + '' + anchorLabels[t.anchor] + '' + '' + t.action + '' + '' + t.benefit + '' + '' + ''; }).join(''); infoEl.innerHTML = '' + families[ing.family] + '' + '' + ing.label + '' + '' + ing.latin + '' + '' + ing.desc + '' + 'Actions ciblées' + actionsHtml; infoEl.classList.remove('aqr-fading'); }, 300); clearAll(); setTimeout(function() { drawTargets(ing); }, 450); scheduleNext(); } function ensureConnectorSvg() { var carto = document.getElementById('aqr-carto'); // Recherche sans :scope pour compatibilite navigateurs anciens var svg = null; var children = carto.children; for (var i = 0; i < children.length; i++) { if (children[i].tagName && children[i].tagName.toLowerCase() === 'svg' && children[i].classList && children[i].classList.contains('aqr-connector-svg')) { svg = children[i]; break; } } if (!svg) { svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('class', 'aqr-connector-svg'); carto.appendChild(svg); } return svg; } function getListItemAnchor(idx) { var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx]; var r = item.getBoundingClientRect(); var cRect = document.getElementById('aqr-carto').getBoundingClientRect(); return { x: r.right - cRect.left, y: r.top + r.height / 2 - cRect.top }; } function pctToCartoPx(px, py) { var wRect = schemaWrap.getBoundingClientRect(); var cRect = document.getElementById('aqr-carto').getBoundingClientRect(); return { x: (wRect.left - cRect.left) + (px / 100) * wRect.width, y: (wRect.top - cRect.top) + (py / 225) * wRect.height }; } function pctToOverlayPx(px, py) { var wRect = schemaWrap.getBoundingClientRect(); return { x: (px / 100) * wRect.width, y: (py / 225) * wRect.height }; } function drawTargets(ing) { var color = familyColors[ing.family]; var startPt = getListItemAnchor(currentIdx); var connSvg = ensureConnectorSvg(); ing.targets.forEach(function(target, i) { var anchor = anchors[target.anchor]; var endPtCarto = pctToCartoPx(anchor.x, anchor.y); var delay = i * 280; // Ligne courbe : coords en pixels du aqr-carto var dx = endPtCarto.x - startPt.x; var cp1x = startPt.x + dx * 0.4; var cp1y = startPt.y; var cp2x = startPt.x + dx * 0.6; var cp2y = endPtCarto.y; var d = 'M ' + startPt.x + ' ' + startPt.y + ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y + ', ' + endPtCarto.x + ' ' + endPtCarto.y; var connPath = document.createElementNS('http://www.w3.org/2000/svg', 'path'); connPath.setAttribute('d', d); connPath.setAttribute('class', 'aqr-conn-line'); connPath.style.setProperty('--c', color); connPath.style.animationDelay = delay + 'ms'; connSvg.appendChild(connPath); // IRRADIATION DORÉE — toujours identique sur chaque point var cx = anchor.x; var cy = anchor.y; // 1. Halo doré flou central var halo = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); halo.setAttribute('cx', cx); halo.setAttribute('cy', cy); halo.setAttribute('r', '5'); halo.setAttribute('class', 'aqr-star-halo'); halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms'; overlay.appendChild(halo); // 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés) for (var r = 0; r < 4; r++) { var ring = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); ring.setAttribute('cx', cx); ring.setAttribute('cy', cy); ring.setAttribute('r', '3'); ring.setAttribute('class', 'aqr-star-ring'); ring.style.animationDelay = (delay + 600 + r * 800) + 'ms'; overlay.appendChild(ring); } // 3. Point coloré A/B/C avec sa lettre (par-dessus le doré) var dot = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); dot.setAttribute('cx', cx); dot.setAttribute('cy', cy); dot.setAttribute('r', '2.6'); dot.setAttribute('class', 'aqr-marker-dot'); dot.style.setProperty('--c', color); dot.style.animationDelay = (delay + 850) + 'ms'; overlay.appendChild(dot); var txt = document.createElementNS('http://www.w3.org/2000/svg', 'text'); txt.setAttribute('x', cx); txt.setAttribute('y', cy); txt.setAttribute('class', 'aqr-marker-text'); txt.textContent = String.fromCharCode(65 + i); txt.style.animationDelay = (delay + 950) + 'ms'; overlay.appendChild(txt); }); } function scheduleNext() { if (autoTimer) clearTimeout(autoTimer); if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500); } function start() { setTimeout(function() { focusIngredient(0); }, 200); } if (schemaImg.complete) start(); else schemaImg.addEventListener('load', start); var resizeTimer = null; function fullRedraw() { overlay.innerHTML = ''; var connSvg = document.querySelector('#aqr-carto > svg.aqr-connector-svg'); if (connSvg) connSvg.innerHTML = ''; // double rAF to wait for layout to stabilize requestAnimationFrame(function() { requestAnimationFrame(function() { drawTargets(ingredients[currentIdx]); }); }); } window.addEventListener('resize', function() { if (resizeTimer) clearTimeout(resizeTimer); resizeTimer = setTimeout(fullRedraw, 200); }); // ResizeObserver pour reagir aussi aux changements de taille du conteneur if (typeof ResizeObserver !== 'undefined') { var ro = new ResizeObserver(function() { if (resizeTimer) clearTimeout(resizeTimer); resizeTimer = setTimeout(fullRedraw, 200); }); ro.observe(document.getElementById('aqr-carto')); } })(); Protocoles & Suggestions d'utilisations Dilution de référence Ratio 1/20 Une part de shampoingpour 20 parts d'eau Rendement 250 mL → 5 L 1 L → 20 L 5 L → 100 L prêts à l'emploi Pour 500 mL de produit fini 25 mL en volume = 25 g en poids = 1,5 cuillère à soupe = 1 pression de pompe .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; } .aqr-dilution-eyebrow { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: #86868b; font-weight: 500; margin-bottom: 14px; } .aqr-dilution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .aqr-dilution-cell { background: #fff; border: 1px solid #e8e8ed; border-radius: 12px; padding: 18px 16px; display: flex; flex-direction: column; } .aqr-dilution-cell-label { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: #86868b; font-weight: 500; margin-bottom: 12px; line-height: 1.4; } .aqr-dilution-cell-value { font-size: 38px; font-weight: 600; color: #1d1d1f; letter-spacing: -0.02em; line-height: 1; margin-bottom: 10px; } .aqr-dilution-slash { color: #d2d2d7; font-weight: 300; margin: 0 2px; } .aqr-dilution-cell-rows { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: #1d1d1f; flex: 1; } .aqr-dilution-cell-rows strong { font-weight: 600; color: #1d1d1f; transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1); } .aqr-dilution-rend-row strong { min-width: 48px; display: inline-block; } .aqr-dilution-rend-arrow { color: #c2a85c; font-weight: 600; margin: 0 2px; } .aqr-dilution-eq-eq { color: #c2a85c; font-weight: 600; margin-right: 2px; } .aqr-dilution-cell-rows span { color: #86868b; } .aqr-dilution-cell-note { font-size: 11px; color: #86868b; margin-top: 10px; line-height: 1.4; } .aqr-dilution-cycle-target { display: inline-block; background: #1d1d1f; color: #fff; padding: 2px 8px; border-radius: 4px; font-weight: 600; letter-spacing: 0.04em; transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1); } .aqr-dilution-cycle-fade { opacity: 0.2; } @media (max-width: 700px) { .aqr-dilution-grid { grid-template-columns: 1fr; } .aqr-dilution-cell-value { font-size: 32px; } } (function(){ // Animation: cycle entre 500 mL / 1 L / 2 L var cycles = [ { target: '500 mL', ml: '25', g: '25', spoon: '1,5', pump: '1' }, { target: '1 L', ml: '50', g: '50', spoon: '3', pump: '2' }, { target: '2 L', ml: '100', g: '100', spoon: '6', pump: '4' } ]; var idx = 0; var targetEl = document.getElementById('aqrCycleTarget'); var mlEl = document.getElementById('aqrCycleMl'); var gEl = document.getElementById('aqrCycleG'); var spoonEl = document.getElementById('aqrCycleSpoon'); var pumpEl = document.getElementById('aqrCyclePump'); var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel'); var pumpLabelEl = document.getElementById('aqrCyclePumpLabel'); // Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -> singulier) function frPlural(valStr, sing, plur) { var n = parseFloat(String(valStr).replace(',', '.')); return (n >= 2) ? plur : sing; } function tick() { idx = (idx + 1) % cycles.length; var c = cycles[idx]; // Fade out, swap, fade in [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){ if (el) el.classList.add('aqr-dilution-cycle-fade'); }); setTimeout(function(){ if (targetEl) targetEl.textContent = c.target; if (mlEl) mlEl.textContent = c.ml; if (gEl) gEl.textContent = c.g; if (spoonEl) spoonEl.textContent = c.spoon; if (pumpEl) pumpEl.textContent = c.pump; if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe'); if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe'); [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){ if (el) el.classList.remove('aqr-dilution-cycle-fade'); }); }, 350); } setInterval(tick, 3500); })(); Toilettage rapide, économique & efficace Le bain de base — usage régulier en salon 01 Premier passage Démarrez le bain directement avec l'Aquarosa Pro dilué, sur le poil préalablement mouillé. Rincez. 02 Second shampoing Appliquez un second shampoing, rincez de nouveau. 03 Soin final Finissez avec l'après-shampoing adapté au besoin : Hydrating Cream, Bombastic ou Aqua Dolce. Action ultra intense — Salon, Urgence ou Expo Pour démêler, rattraper une fourrure abîmée ou amplifier un toilettage d'exposition 01 Masque pré-bain Attaquez par un masque pré-bain à base de Bio Energy ou Bombastic. Ajoutez-y des Huiles 4 Elements ou de l'Hydrating Cream. 02 Aquarosa sur masque Appliquez l'Aquarosa Pro directement après le masque, sans rinçage intermédiaire. Pour une efficacité accrue, concentrez davantage et couplez au Bombastic. 03 Pose et double shampoing Laissez poser quelques instants et massez si possible. Deux shampoings recommandés. 04 Finalisation Finalisez avec un conditionneur ou un masque selon le besoin. Boosters d'intégration — Nutrition & Volume Deux variations pour amplifier l'effet selon le besoin A Boost nutrition Pour un effet encore plus nourrissant, ajoutez directement une cuillère d'Aqua Dolce dans votre mélange d'Aquarosa Pro. Appliquez, laissez poser quelques instants et rincez abondamment à l'eau tiède. B Boost volume Mélangez l'Aquarosa Pro avec la mousse Aqua Vita. Son effet effervescent apporte du volume et renforce la détergence. Idéal pour les fourrures qui manquent de légèreté après le bain. ★ Séchage parfait Dans les deux cas, finalisez le séchage en brossant avec Aqua Beauty ou Mix Pink pour un manteau encore plus doux et brillant. .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; } .aqr-proto-acc { background: #fff; border: 1px solid #1a1a1a; border-radius: 0; margin-bottom: 8px; overflow: hidden; position: relative; } /* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte */ .aqr-proto-acc::before, .aqr-proto-acc::after { content: ""; position: absolute; top: 12px; bottom: 12px; width: 1px; background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%); background-size: 1px 5px; background-repeat: repeat-y; pointer-events: none; } .aqr-proto-acc::before { left: 10px; } .aqr-proto-acc::after { right: 10px; } .aqr-proto-summary { cursor: pointer; list-style: none; padding: 16px 56px 16px 28px; display: flex; align-items: center; gap: 14px; position: relative; } .aqr-proto-summary::-webkit-details-marker { display: none; } .aqr-proto-title { flex: 1; font-size: 14px; font-weight: 600; color: #1a1a1a; line-height: 1.3; min-width: 0; } .aqr-proto-plus { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border: 1px solid #1a1a1a; border-radius: 50%; color: #1a1a1a; background: transparent; transition: transform 0.3s, background 0.3s, color 0.3s; flex-shrink: 0; } .aqr-proto-acc[open] .aqr-proto-plus { transform: translateY(-50%) rotate(45deg); background: #1a1a1a; color: #F5E6B8; } .aqr-proto-content { padding: 4px 28px 22px; animation: aqrProtoFade 0.4s ease-out; } @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } } .aqr-proto-subtitle { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 13px; color: #555; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px dashed #c8b896; } .aqr-proto-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; } .aqr-proto-step { display: flex; gap: 12px; align-items: flex-start; } .aqr-proto-step-marker { flex-shrink: 0; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; background: transparent; border: 1px solid #1a1a1a; color: #1a1a1a; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 700; font-size: 12px; border-radius: 50%; } .aqr-proto-step-body { flex: 1; padding-top: 2px; } .aqr-proto-step-title { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #1a1a1a; font-weight: 700; margin-bottom: 3px; } .aqr-proto-step-desc { font-size: 12px; line-height: 1.6; color: #444; } @media (max-width: 600px) { .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; } .aqr-proto-title { font-size: 13px; } .aqr-proto-plus { right: 16px; } .aqr-proto-acc::before { left: 8px; } .aqr-proto-acc::after { right: 8px; } .aqr-proto-content { padding: 4px 22px 18px; } } @media (max-width: 380px) { .aqr-proto-summary { padding: 12px 42px 12px 18px; } .aqr-proto-acc::before { left: 6px; } .aqr-proto-acc::after { right: 6px; } .aqr-proto-content { padding: 4px 18px 16px; } } Associations Recommandées & Races Toute la gamme Special One est compatible. À combiner librement selon le besoin du moment : SI un masque pré-bain est souhaité… → Bio Energy SI vous couplez avec un autre shampoing… → 4Poodle · Bain Pro · Aquapure Pro SI un masque final est nécessaire… → Hydrating Cream · Bombastic · Aqua Dolce SI une touche de finition s'impose… → Absolute 4Poodle · Mix Pink · Style 360 .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; } .aqr-assoc { margin-bottom: 24px; } .aqr-assoc-intro { font-size: 13px; color: #444; line-height: 1.5; margin: 0 0 16px; } .aqr-assoc-rules { display: flex; flex-direction: column; } .aqr-assoc-rule { display: grid; grid-template-columns: 1fr 1.3fr; gap: 18px; align-items: center; padding: 16px 8px; border-bottom: 1px dashed #d8d8d8; } .aqr-assoc-rule:last-child { border-bottom: none; } .aqr-assoc-if { display: flex; align-items: center; gap: 10px; color: #888; font-size: 13px; font-style: italic; } .aqr-assoc-if-tag { background: #1a1a1a; color: #F5E6B8; padding: 3px 10px; font-family: Georgia, "Times New Roman", serif; font-weight: 700; font-size: 11px; letter-spacing: 0.05em; font-style: normal; flex-shrink: 0; } .aqr-assoc-then { display: flex; align-items: center; gap: 10px; font-size: 13px; } .aqr-assoc-then-arrow { color: #D4AF37; font-size: 18px; font-weight: 700; flex-shrink: 0; } .aqr-assoc-then strong { color: #1a1a1a; } @media (max-width: 600px) { .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; } } Parfaitement calibré pour les textures exigeantes : 🐾 Tous les chiens en salon (limite le retour des nœuds) 🐩 Fourrures Frisées (Caniches, Bichons, Kerry Blue...) 🇬🇧 Cockers & Épagneuls (Anglais, Américains, Cavaliers...) 🏔️ Manteaux Tibétains (Shih-Tzu, Lhassa Apso...) ✨ Textures Soyeuses (Yorkshire, Lévriers Afghans...) 🐕 Terriers (Scottish, Westie, Welsh...) 🐱 Tous les Chats Liste non exhaustive — Aquarosa Pro convient à toutes les fourrures nécessitant nutrition intense. .aqr-races-mosaic { display: flex; flex-wrap: wrap; gap: 8px; } .aqr-race-tag { display: inline-flex; align-items: center; gap: 6px; background: #fff; color: #1a1a1a; padding: 9px 16px; border-radius: 100px; font-size: 12px; font-weight: 600; border: 1px solid #e5e5e5; line-height: 1.3; } .aqr-race-tag span { opacity: 0.6; font-weight: 400; font-size: 11px; } @media (max-width: 560px) { .aqr-race-tag { font-size: 11px; padding: 8px 13px; } .aqr-race-tag span { font-size: 10px; } } Biodégradable +90% | Sans SLS, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable
More you might like
Related
Aquarosa PASSION Pro * Paillettes *
Related
Aquarosa Pro Shampoo 5000 ml by Special One
Related
Aquarosa Pro Shampoo 5000 ml by Special One
Related