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

Сыворотка для волос Esthetic House CP-1 Premium Silk Ampoule - ваш лучший союзник в создании идеально гладких волос без ломкости и сухих кончиков. Эта целебная сыворотка, обогащенная протеинами шелка, приносит волосам эффективный комплекс витаминов и питательных веществ, который укрепляет каждый локон изнутри и снаружи. Активная формула продукта глубоко проникает в структуру волос, насыщая их необходимыми микроэлементами. Масла кокоса, арганы и сладкого миндаля, которые входят в состав, обеспечивают питательный и регенерирующий эффекты. Они эффективно смягчают и восстанавливают секущиеся кончики, восстанавливают баланс гидратации локонов и придают им естественную упругость. Шелковые протеины, которые также содержатся в составе, разглаживают волосы, придают им естественное сияние и облегчают процедуру расчесывания. Теперь ваши волосы будут выглядеть не только здоровыми, но и ухоженными, сияющими и шелковистыми.

Способ использования: Нанесите на сухие или почти сухие волосы, равномерно распределяя средство от корней до кончиков. Не смывайте!

Сыворотка для волос с протеинами шелка Esthetic House CP-1 Premium Silk Ampoule

В наличии
Артикул: CP0023
450 грн
Войдите на сайт чтобы
добавить товар в список желаний
%
Войти для отображения накопительной скидки
Объем
150
Быстрый заказ
Характеристики
Назначение  Увлажнение, Восстановление, Термозащита
Volume  150
Страна производитель  Корея
Тип волос  Поврежденные, Сухие
Время применения  Универсальный
Пол  Для женщин
Классификация  Профессиональная
Ингредиенты  Протеины, Кокосовое масло, Масло Миндаля, Шелк
Вид продукции  Сыворотка
Новый отзыв или комментарий
Войти с помощью
Оцените товар
/* ========================================================= 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(); } })();