Rêve de coco
Body milk 200 ml

Olfactory universe:
Gourmand

This article is a victim of its own success! Enter your e-mail address and we'll let you know when it's available.
Livré 48 à 72h Gratuite dès 25€ d'achat

Olfactive notes

Crème de coco

Top note
Coconut cream

Lait d'amande
Heart note

Almond milk

Bois de santal
Muscs blancs
Base notes

Sandalwood

White musk

Why adopt it?

All ingredients

Aqua (Water), Caprylic/Capric triglyceride, Helianthus annuus (Sunflower) seed oil, Glycerin, Zea mays (Corn) starch, Glyceryl stearate citrate, Parfum (Fragrance), Glyceryl stearate, Sodium benzoate, Xanthan gum, Citric acid, Sodium stearoyl glutamate, Prunus amygdalus dulcis (Sweet almond) oil, Tocopherol, Squalene, Beta-sitosterol, Coumarin, Hexyl cinnamal

Responsible actions

Accessibility, pleasure, quality, French manufacturing, discover our daily commitments for a joyful and committed beauty that suits you! { setTimeout(() => { this.initMore(); this.$refs.readmore.classList.remove('more-calc'); this.updateLinksAccessibility(); }, 0); }); }, initMore() { this.getValues(); if(lineClampNb * this.lineHeight < this.maxHeight) { this.$refs.readmore.style.height = lineClampNb * this.lineHeight + 'px'; this.isMoreContentActive = true; } this.$refs.readmore.classList.remove('more-calc'); this.updateLinksAccessibility(); }, getValues() { let computedStyles = window.getComputedStyle(this.$refs.readmore); this.lineHeight = Number(computedStyles.getPropertyValue('line-height').replace('px', '')); this.maxHeight = this.$refs.readmore.clientHeight; }, showMore() { const wasClosed = !this.more; let firstHiddenLink = null; if (wasClosed) { const links = this.$refs.readmore.querySelectorAll('a'); const containerRect = this.$refs.readmore.getBoundingClientRect(); const visibleHeight = lineClampNb * this.lineHeight; for (let link of links) { const linkRect = link.getBoundingClientRect(); const linkTopRelative = linkRect.top - containerRect.top; const linkBottomRelative = linkRect.bottom - containerRect.top; const isPartiallyVisible = linkTopRelative < visibleHeight && linkBottomRelative > 0; if (!isPartiallyVisible) { firstHiddenLink = link; break; } } } this.more = !this.more; if(this.more) { this.$refs.readmore.style.height = this.maxHeight + 'px'; } else { this.$refs.readmore.style.height = lineClampNb * this.lineHeight + 'px'; } this.updateLinksAccessibility(); if (wasClosed && firstHiddenLink) { setTimeout(() => { firstHiddenLink.focus(); }, 300); } }, updateLinksAccessibility() { if (!this.$refs.readmore) return; const links = this.$refs.readmore.querySelectorAll('a'); const containerRect = this.$refs.readmore.getBoundingClientRect(); const visibleHeight = this.more ? this.maxHeight : (lineClampNb * this.lineHeight); links.forEach(link => { const linkRect = link.getBoundingClientRect(); const linkTopRelative = linkRect.top - containerRect.top; const linkBottomRelative = linkRect.bottom - containerRect.top; if (this.more) { link.removeAttribute('tabindex'); } else { const isPartiallyVisible = linkTopRelative < visibleHeight && linkBottomRelative > 0; if (isPartiallyVisible) { link.removeAttribute('tabindex'); } else { link.setAttribute('tabindex', '-1'); } } }); }, } }

Product Added
See cart