Nourishing Hair Mask
Silky, Smooth Hair Starts With Deep Nourishment
Give dry, frizzy hair the care it deserves with a rich yet comfortable hair mask designed to restore moisture, improve manageability, and leave hair feeling softer and smoother.
Why You'll Love It
Three reasons it's the smarter way to care for your hair.
1Deep Nourishment For Dry Hair
Dry hair can feel rough, stiff, and difficult to manage. This nourishing hair mask helps replenish moisture and condition the hair, leaving strands feeling softer, smoother, and more comfortable to style.
2Smooth Frizz For Easier Styling
Frizz and tangles can make everyday styling frustrating. This hair mask helps smooth the appearance of unruly strands while improving softness and manageability.
3Lock In Comfortable Moisture
Regular moisture care can make a noticeable difference in how hair feels and looks. The nourishing formula helps maintain moisture in dry strands, leaving hair feeling soft, flexible, and smooth instead of rough or brittle.
‹
›
Hair Care Benefits
A complete care routine for better-looking hair.
Deep Nourishment
Helps nourish dry-looking strands and restore a softer, more conditioned feel.
Frizz Control
Helps smooth unruly strands and reduce the appearance of frizz for easier styling.
Moisture Care
Helps maintain moisture in dry hair and leave strands feeling hydrated and comfortable.
Shine Boost
Helps improve the appearance of dull hair and enhance its natural-looking shine.
Easy Comb
Helps improve manageability so hair feels easier to detangle and comb after washing.
Texture Care
Helps dry and rough-feeling hair feel smoother, softer, and more refined.
Perfect For
Perfect for dry, frizzy, curly, wavy, rough, or difficult-to-manage hair that needs extra moisture and conditioning. It is also a great choice for hair that feels dry after coloring, frequent styling, or regular exposure to heat. Use it as part of your self-care routine whenever your hair needs a smoother, softer, more manageable finish.
How To Use
Four simple steps to softer hair.
1Wash
Wash your hair thoroughly with your preferred shampoo.
2Remove Excess Water
Gently squeeze or towel-dry excess water from your hair. Hair should remain damp but not dripping wet.
3Apply & Massage
Apply an appropriate amount of hair mask evenly through the lengths and ends. Gently massage to distribute the formula.
4Leave & Rinse
Leave the mask on for a short period, then rinse thoroughly with clean water.
Tip: Focus on the mid-lengths and ends, especially where hair tends to feel driest or most tangled.
Product Specifications
Product Type
Nourishing Hair Mask
Main Benefits
Deep Nourishment, Moisture Care, Frizz Control, Softness, Shine
Texture
Rich Cream
Hair Types
Dry, Frizzy, Curly, Wavy, Rough, Color-Treated Hair
Hair Concerns
Dryness, Frizz, Rough Texture, Tangling, Dull Appearance
Application Area
Hair
Recommended Use
Regular Hair Care Routine
Application
Mid-Lengths & Ends
Rinse Required
Yes
Formula Feel
Rich, Smooth, Conditioning
Care Instructions
Use according to the directions. Keep container closed when not in use and store in a cool, dry place away from direct sunlight.
Customer Reviews
Emma R.
"My hair feels so much softer after using this. It also makes brushing much easier."
Sophia M.
"I have naturally frizzy hair and really like how smooth this makes it feel. My hair looks shinier and feels much more manageable."
Olivia T.
"The texture is rich and easy to apply. After rinsing, my hair feels moisturized, soft, and noticeably easier to comb."
Mia L.
"I use this when my hair feels especially dry. It leaves my ends feeling softer and helps control frizz without making my hair feel heavy."
‹
›
Frequently Asked Questions
QWhat hair types is this mask suitable for?+It is suitable for many hair types, especially dry, frizzy, curly, wavy, rough, and color-treated hair.
QHow often should I use the hair mask?+Use it as part of your regular hair care routine whenever your hair needs additional moisture and conditioning. Frequency can be adjusted according to your hair's needs.
QShould I apply it to wet or dry hair?+Apply it to freshly washed, damp hair after removing excess water.
QWhere should I apply the mask?+Focus on the mid-lengths and ends, especially areas that feel dry, rough, or tangled.
QWill it make my hair feel greasy?+The formula is designed to provide rich conditioning without leaving hair unnecessarily heavy. Use an appropriate amount based on your hair length and thickness.
Give Dry Hair The Care It Deserves
Deep nourishment, moisture care, frizz control, and silky softness come together in one easy hair care ritual.
Add To Cart Today
(function(){ // Initialize every carousel on the page independently (feature carousel + reviews carousel) var carousels = document.querySelectorAll('[data-carousel]'); carousels.forEach(function(carousel){ // Guard against this script block accidentally running twice on the same // carousel (e.g. if pasted in twice) — that would create two independent // timers, and stopping one would never actually stop the autoplay. if (carousel.getAttribute('data-bwc-init') === '1') return; carousel.setAttribute('data-bwc-init', '1'); var track = carousel.querySelector('[data-track]'); var slides = track.querySelectorAll('.bwc-carousel-slide'); var dotsWrap = carousel.querySelector('[data-dots]'); var prevBtn = carousel.querySelector('[data-prev]'); var nextBtn = carousel.querySelector('[data-next]'); var activeIndex = 0; var AUTOPLAY_DELAY = parseInt(carousel.getAttribute('data-autoplay'), 10) || 0; var autoplayEnabled = AUTOPLAY_DELAY > 0; // data-autoplay="0" (or omitted) means manual-only, no autoplay var carouselInView = false; // becomes true only once the carousel scrolls into view var paused = false; // true while the user is hovering, touching, or has just interacted var autoplayTimer = null; var resumeTimer = null; slides.forEach(function(slide, i){ var dot = document.createElement('button'); dot.type = 'button'; dot.className = 'bwc-carousel-dot' + (i === 0 ? ' active' : ''); dot.setAttribute('aria-label', 'Go to slide ' + (i + 1)); dot.addEventListener('click', function(){ goToSlide(i); pauseThenResume(); }); dotsWrap.appendChild(dot); }); var dots = dotsWrap.querySelectorAll('.bwc-carousel-dot'); // Scroll the track itself (horizontal only). Never use scrollIntoView here — // it can also scroll the whole page vertically to "reveal" the slide, which // yanks the page back up to this section if the user has scrolled past it. function goToSlide(i){ var slide = slides[i]; track.scrollTo({ left: slide.offsetLeft, behavior: 'smooth' }); } function updateActive(){ var trackRect = track.getBoundingClientRect(); var closest = 0, closestDist = Infinity; slides.forEach(function(slide, i){ var dist = Math.abs(slide.getBoundingClientRect().left - trackRect.left); if (dist < closestDist) { closestDist = dist; closest = i; } }); activeIndex = closest; dots.forEach(function(d, i){ d.classList.toggle('active', i === closest); }); } var scrollTimer; track.addEventListener('scroll', function(){ clearTimeout(scrollTimer); scrollTimer = setTimeout(updateActive, 80); }); function stepWidth(){ if (slides.length > 1) { return slides[1].offsetLeft - slides[0].offsetLeft; } return slides[0].getBoundingClientRect().width; } prevBtn.addEventListener('click', function(){ track.scrollBy({left: -stepWidth(), behavior:'smooth'}); pauseThenResume(); }); nextBtn.addEventListener('click', function(){ track.scrollBy({left: stepWidth(), behavior:'smooth'}); pauseThenResume(); }); function nextSlide(){ var next = (activeIndex + 1) % slides.length; goToSlide(next); } // A single persistent interval per carousel — it just checks the 'paused' // and 'carouselInView' flags on every tick rather than being torn down and // rebuilt on every interaction. function startAutoplay(){ if (!autoplayEnabled || autoplayTimer) return; autoplayTimer = setInterval(function(){ if (!paused && carouselInView) nextSlide(); }, AUTOPLAY_DELAY); } // Pause immediately on any interaction (hover, press, or touch). function pauseNow(){ paused = true; clearTimeout(resumeTimer); } // Resume right away (used when the mouse actually leaves the carousel). function resumeNow(){ clearTimeout(resumeTimer); paused = false; } // Pause immediately, and schedule an automatic resume a few seconds later — // this is the fallback for touch devices, which have no "mouse left" event. function pauseThenResume(){ pauseNow(); resumeTimer = setTimeout(resumeNow, 3000); } carousel.addEventListener('mouseenter', pauseNow); carousel.addEventListener('mouseleave', resumeNow); carousel.addEventListener('pointerdown', pauseThenResume); carousel.addEventListener('touchstart', pauseThenResume, {passive:true}); // Only autoplay while the carousel is actually on screen — the countdown // only starts once the user has scrolled to this section, not on page load. if (autoplayEnabled && 'IntersectionObserver' in window) { var io = new IntersectionObserver(function(entries){ entries.forEach(function(entry){ carouselInView = entry.isIntersecting; }); }, { threshold: 0.4 }); io.observe(carousel); } else { carouselInView = true; } startAutoplay(); updateActive(); });})();
(function(){ var accordion = document.querySelector('[data-accordion]'); if(!accordion) return; var buttons = accordion.querySelectorAll('.bwc-faq-q'); buttons.forEach(function(btn){ btn.addEventListener('click', function(){ var item = btn.closest('.bwc-faq-item'); var isOpen = item.classList.contains('open'); item.classList.toggle('open', !isOpen); btn.setAttribute('aria-expanded', String(!isOpen)); }); });})();
(function(){ // Elements matching these are almost always "related / recommended / upsell" // product widgets elsewhere on the page — never treat a button/form inside // one of these as this landing page's own add-to-cart control. var EXCLUDE_SELECTOR = [ '[class*="related"]','[id*="related"]', '[class*="recommend"]','[id*="recommend"]', '[class*="upsell"]','[id*="upsell"]', '[class*="cross-sell"]','[id*="cross-sell"]', '[class*="also-like"]','[id*="also-like"]', '[class*="complementary"]','[id*="complementary"]', '[class*="bundle"]','[id*="bundle"]', '[class*="quick-add"]','[id*="quick-add"]', '[class*="quick-buy"]','[id*="quick-buy"]', '[class*="product-card"]','[class*="product-grid-item"]', '[class*="trending"]','[class*="carousel-card"]' ].join(','); function isInsideExcludedWidget(el){ return !!el.closest(EXCLUDE_SELECTOR); } function findRealAddToCartButton(){ // 1) Most specific & reliable: the standard Shopify add-to-cart control, // name="add", that isn't sitting inside a recommendations/upsell widget. var named = document.querySelectorAll('button[name="add"], input[name="add"]'); for (var i = 0; i < named.length; i++) { if (!isInsideExcludedWidget(named[i]) && !named[i].classList.contains('bwc-add-to-cart')) { return named[i]; } } // 2) A real cart/add form, again skipping anything inside an excluded widget. var forms = document.querySelectorAll('form[action*="/cart/add"]'); for (var f = 0; f < forms.length; f++) { if (isInsideExcludedWidget(forms[f])) continue; var btn = forms[f].querySelector('button[name="add"], button[type="submit"], input[type="submit"]'); if (btn) return btn; } // 3) Last resort: visible text match, still excluding recommendation widgets. var all = document.querySelectorAll('button, input[type="submit"]'); for (var j = 0; j < all.length; j++) { var txt = (all[j].textContent || all[j].value || '').trim().toLowerCase(); if (txt === 'add to cart' && !all[j].classList.contains('bwc-add-to-cart') && !isInsideExcludedWidget(all[j])) { return all[j]; } } return null; } function bwcAddToCart(btn){ var realBtn = findRealAddToCartButton(); if (realBtn) { realBtn.click(); return; } var fallbackId = btn.getAttribute('data-fallback-variant'); if (!fallbackId || fallbackId === 'VARIANT_ID') { alert('Could not find the add-to-cart form on this page.'); return; } fetch('/cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: fallbackId, quantity: 1 }) }).then(function(){ window.location.href = '/cart'; }); } document.addEventListener('click', function(e){ var btn = e.target.closest('.bwc-add-to-cart'); if (!btn) return; e.preventDefault(); bwcAddToCart(btn); });})();
Brand:mysiteSKU:BOG100672-A