Добавьте товары для сравнения
Добавьте товары в желания
0
Добавьте товары в корзину
Описание

Ежедневная питательная маска с кокосовым молочком Envie Daily Shine Hydrating Mask - это ваш секрет идеального блеска и глубокого увлажнения волос. Разработанная на основе активной формулы растительных протеинов пшеницы, кукурузы и сои, эта маска действует на глубоком уровне, восстанавливая структуру волос и возвращая им естественную красоту.

Один из ключевых компонентов этого продукта - это кокосовое молочко, которое обогащает волосы дополнительными питательными веществами. Его действие заключается в предоставлении глубокого увлажнения, мягкости и блеска. Эта маска насыщает волосы полезными элементами, защищает от пересыхания и восстанавливает поврежденные участки, делая локоны здоровыми и эластичными. Средство создает невидимый слой, который защищает волосы от вредных внешних факторов.

Способ применения: Вымойте волосы шампунем для оптимального очищения. Нанесите необходимое количество маски на волосы, акцентируя внимание на поврежденных участках и кончиках. Оставьте маску на 3-5 минут для максимального проникновения полезных компонентов. Смойте теплой водой.

Envie LUXURY DAILY SHINE MASK Ежедневная питательная маска

Нет в наличии
Артикул: ENV0135
1 320 грн
Войдите на сайт чтобы
добавить товар в список желаний
%
Войти для отображения накопительной скидки
Объем
Сообщить, когда появится
Войдите на сайт чтобы
добавить товар в список ожиданий
Характеристики
Назначение  Увлажнение, Восстановление, Смягчение, Питание, Для блеска
Volume  1000
Страна производитель  Италия
Тип волос  Все типы волос
Время применения  Универсальный
Пол  Для женщин
Классификация  Профессиональная
Ингредиенты  Протеины
Вид продукции  Маска
Новый отзыв или комментарий
Войти с помощью
Оцените товар
/* ========================================================= DEEPLY — попап "С Днём Рождения бренда" с шариками/конфетти Вставить в Хорошоп: Управление сайтом → Дополнительные настройки → "Дополнительный код" (перед ) в виде ========================================================= */ (function () { "use strict"; /* ===== НАСТРОЙКИ — меняйте под себя ===== */ var CONFIG = { title: "DEEPLY отмечает День Рождения! 🎉", text: "Нам исполняется больше — и мы дарим скидку в честь праздника!", promoCode: "DEEPLYBDAY", // можно оставить пустым "" — блок с промокодом скроется promoText: "Промокод на скидку:", buttonText: "Перейти к акции", buttonLink: "/ua/birthday-sale", // ссылка на страницу акции, поменяйте на реальную showOncePerSession: true, // true = показывать один раз за сессию браузера showOncePerDay: false, // true = не чаще раза в сутки (использует localStorage) delayMs: 800, // задержка перед показом после загрузки страницы autoCloseSec: 0, // 0 = не закрывать автоматически, иначе кол-во секунд accentColor: "#e91e63", // основной акцентный цвет бренда }; /* ========================================= */ var STORAGE_KEY = "deeply_birthday_popup_shown"; function alreadyShown() { try { if (CONFIG.showOncePerDay) { var last = localStorage.getItem(STORAGE_KEY); if (!last) return false; var today = new Date().toDateString(); return last === today; } if (CONFIG.showOncePerSession) { return sessionStorage.getItem(STORAGE_KEY) === "1"; } } catch (e) { /* доступ к storage может быть заблокирован — просто показываем */ } return false; } function markShown() { try { if (CONFIG.showOncePerDay) { localStorage.setItem(STORAGE_KEY, new Date().toDateString()); } else if (CONFIG.showOncePerSession) { sessionStorage.setItem(STORAGE_KEY, "1"); } } catch (e) {} } function init() { if (alreadyShown()) return; setTimeout(buildPopup, CONFIG.delayMs); } function buildPopup() { injectStyles(); var overlay = document.createElement("div"); overlay.className = "dpl-bday-overlay"; overlay.setAttribute("role", "dialog"); overlay.setAttribute("aria-modal", "true"); var promoBlock = ""; if (CONFIG.promoCode) { promoBlock = '
' + '' + escapeHtml(CONFIG.promoText) + "" + '' + escapeHtml(CONFIG.promoCode) + "" + "
"; } overlay.innerHTML = '
' + '' + '' + '
' + '
🎈🎂🎈
' + '

' + escapeHtml(CONFIG.title) + "

" + '

' + escapeHtml(CONFIG.text) + "

" + promoBlock + '' + escapeHtml(CONFIG.buttonText) + "" + "
" + "
"; document.body.appendChild(overlay); document.body.style.overflow = "hidden"; // анимация появления requestAnimationFrame(function () { overlay.classList.add("dpl-bday-visible"); }); startConfetti(overlay.querySelector("#dplBdayCanvas")); // копирование промокода по клику var codeEl = overlay.querySelector("#dplBdayCode"); if (codeEl) { codeEl.style.cursor = "pointer"; codeEl.title = "Нажмите, чтобы скопировать"; codeEl.addEventListener("click", function () { copyToClipboard(CONFIG.promoCode); var old = codeEl.textContent; codeEl.textContent = "Скопировано ✓"; setTimeout(function () { codeEl.textContent = old; }, 1200); }); } function close() { overlay.classList.remove("dpl-bday-visible"); document.body.style.overflow = ""; setTimeout(function () { if (overlay.parentNode) overlay.parentNode.removeChild(overlay); }, 300); document.removeEventListener("keydown", onKeydown); } function onKeydown(e) { if (e.key === "Escape") close(); } overlay.querySelector(".dpl-bday-close").addEventListener("click", close); overlay.addEventListener("click", function (e) { if (e.target === overlay) close(); }); document.addEventListener("keydown", onKeydown); if (CONFIG.autoCloseSec > 0) { setTimeout(close, CONFIG.autoCloseSec * 1000); } markShown(); } /* ===== Canvas-конфетти/шарики ===== */ function startConfetti(canvas) { if (!canvas) return; var ctx = canvas.getContext("2d"); var dpr = window.devicePixelRatio || 1; function resize() { var rect = canvas.parentElement.getBoundingClientRect(); canvas.width = rect.width * dpr; canvas.height = rect.height * dpr; canvas.style.width = rect.width + "px"; canvas.style.height = rect.height + "px"; ctx.setTransform(dpr, 0, 0, dpr, 0, 0); } resize(); window.addEventListener("resize", resize); var colors = ["#e91e63", "#ff9800", "#ffd54f", "#4dd0e1", "#ba68c8", "#81c784"]; var particles = []; var count = 60; function rand(min, max) { return Math.random() * (max - min) + min; } for (var i = 0; i < count; i++) { particles.push({ x: rand(0, canvas.clientWidth), y: rand(-canvas.clientHeight, 0), size: rand(6, 12), speedY: rand(1, 3), speedX: rand(-1, 1), rotation: rand(0, 360), rotationSpeed: rand(-4, 4), color: colors[Math.floor(Math.random() * colors.length)], shape: Math.random() > 0.5 ? "rect" : "circle", }); } var running = true; var frameCount = 0; var maxFrames = 60 * 8; // ~8 секунд анимации, затем canvas очищается (модалка остаётся) function draw() { if (!running) return; var w = canvas.clientWidth; var h = canvas.clientHeight; ctx.clearRect(0, 0, w, h); particles.forEach(function (p) { p.y += p.speedY; p.x += p.speedX; p.rotation += p.rotationSpeed; if (p.y > h) { p.y = -10; p.x = rand(0, w); } ctx.save(); ctx.translate(p.x, p.y); ctx.rotate((p.rotation * Math.PI) / 180); ctx.fillStyle = p.color; if (p.shape === "rect") { ctx.fillRect(-p.size / 2, -p.size / 2, p.size, p.size * 0.5); } else { ctx.beginPath(); ctx.arc(0, 0, p.size / 2, 0, Math.PI * 2); ctx.fill(); } ctx.restore(); }); frameCount++; if (frameCount < maxFrames) { requestAnimationFrame(draw); } else { running = false; } } requestAnimationFrame(draw); } /* ===== Утилиты ===== */ function escapeHtml(str) { var div = document.createElement("div"); div.textContent = str; return div.innerHTML; } function escapeAttr(str) { return String(str).replace(/"/g, """); } function copyToClipboard(text) { if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text).catch(function () {}); } else { var ta = document.createElement("textarea"); ta.value = text; ta.style.position = "fixed"; ta.style.opacity = "0"; document.body.appendChild(ta); ta.select(); try { document.execCommand("copy"); } catch (e) {} document.body.removeChild(ta); } } function injectStyles() { if (document.getElementById("dpl-bday-styles")) return; var css = ".dpl-bday-overlay{position:fixed;inset:0;z-index:99999;background:rgba(20,10,20,0.55);" + "display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;" + "padding:16px;box-sizing:border-box;font-family:inherit;}" + ".dpl-bday-overlay.dpl-bday-visible{opacity:1;}" + ".dpl-bday-modal{position:relative;background:#fff;border-radius:20px;max-width:420px;width:100%;" + "overflow:hidden;transform:scale(.85);transition:transform .3s ease;box-shadow:0 20px 60px rgba(0,0,0,.3);}" + ".dpl-bday-overlay.dpl-bday-visible .dpl-bday-modal{transform:scale(1);}" + ".dpl-bday-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}" + ".dpl-bday-content{position:relative;padding:36px 28px 32px;text-align:center;}" + ".dpl-bday-emoji{font-size:36px;margin-bottom:8px;}" + ".dpl-bday-title{margin:0 0 12px;font-size:22px;line-height:1.3;color:#222;font-weight:700;}" + ".dpl-bday-text{margin:0 0 20px;font-size:15px;line-height:1.5;color:#555;}" + ".dpl-bday-promo{margin:0 0 22px;padding:12px 16px;border:2px dashed " + CONFIG.accentColor + ";" + "border-radius:12px;display:flex;flex-direction:column;gap:4px;background:#fff7fa;}" + ".dpl-bday-promo-label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.04em;}" + ".dpl-bday-promo-code{font-size:20px;font-weight:800;letter-spacing:.06em;color:" + CONFIG.accentColor + ";}" + ".dpl-bday-btn{display:inline-block;padding:13px 28px;background:" + CONFIG.accentColor + ";color:#fff;" + "text-decoration:none;border-radius:999px;font-weight:600;font-size:15px;transition:opacity .2s;}" + ".dpl-bday-btn:hover{opacity:.88;}" + ".dpl-bday-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:none;" + "background:rgba(0,0,0,.06);border-radius:50%;font-size:20px;line-height:1;color:#333;cursor:pointer;" + "z-index:2;transition:background .2s;}" + ".dpl-bday-close:hover{background:rgba(0,0,0,.12);}" + "@media (max-width:480px){.dpl-bday-title{font-size:19px;}.dpl-bday-content{padding:30px 20px 26px;}}"; var style = document.createElement("style"); style.id = "dpl-bday-styles"; style.textContent = css; document.head.appendChild(style); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } })();