JavaScript seems to be disabled in your browser. For the best experience on our site, be sure to turn on Javascript in your browser.
Free delivery from 35€!
3 perfumes purchased= the 4th is FREE (see conditions)*
Its fragrance illuminates with the floral elegance of jasmine and comforts with the velvety softness of white peach and the creaminess of coconut.
Aqua (Water), Helianthus annuus (Sunflower) seed oil, Glycerin, Glyceryl stearate, Butyrospermum parkii (Shea) butter, Parfum (Fragrance), Stearic acid, Palmitic acid, Pentylene glycol, Caprylyl glycol, Ethylhexylglycerin, Decylene glycol, Squalene, Sodium polyacrylate starch, Sodium stearoyl glutamate, Sodium hydroxide, Tocopherol, Beta-sitosterol, Alpha-Isomethyl Ionone, Citral, Citronellol, Coumarin, Geraniol, Limonene, Linalool
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'); } } }); }, } }