Produkten har lagts i din varukorg Visa varukorgenTill kassan
Din webbläsare stöds ej. För bästa upplevelsen rekommenderas en nyare version eller en annan webbläsare.

BLOWDRY/AIRDRY

bild på GLYNTS blowdry sortiment

BLOWDRY|AIRDRY 

FÖR FORM OCH STADGA

Bästa produkterna för föning och lufttorkning av hår – oavsett om du använder hårfön, värmespolar eller låter håret självtorka, påverkar din torkmetod slutresultatet mer än du tror.

Med vår BLOWDRY | AIRDRY-serie får du professionella hårstylingprodukter som ger stadga, elasticitet och volym. Välj rätt produkt beroende på om du vill skapa en slät finish, maximal volym eller en naturlig och mjuk look med lufttorkning.

Logga in för att handla bästa produkterna för föning

 

 

document.addEventListener("DOMContentLoaded", function () { /* ===================================================== TABS ===================================================== */ const tabs = document.querySelectorAll(".ns-tab"); const panels = document.querySelectorAll(".ns-panel"); if (tabs.length && panels.length) { tabs.forEach(function (tab) { tab.addEventListener("click", function () { tabs.forEach(function (t) { t.classList.remove("active"); }); panels.forEach(function (p) { p.classList.remove("active"); }); this.classList.add("active"); const target = this.dataset.tab; const panel = document.querySelector('.ns-panel[data-content="' + target + '"]'); if (panel) { panel.classList.add("active"); } }); }); } /* ===================================================== FAQ ACCORDION ===================================================== */ const faqItems = document.querySelectorAll(".ns-faq-item"); if (faqItems.length) { faqItems.forEach(function (item) { const button = item.querySelector(".ns-faq-question"); if (!button) return; button.addEventListener("click", function () { faqItems.forEach(function (other) { if (other !== item) { other.classList.remove("active"); } }); item.classList.toggle("active"); }); }); } /* ===================================================== GENERIC IMAGE SLIDERS (2 mobile / 3 desktop) ===================================================== */ const sliders = document.querySelectorAll("[data-slider]"); sliders.forEach(function (slider) { const track = slider.querySelector(".slider-track"); const slides = slider.querySelectorAll(".slide"); const prev = slider.querySelector(".slider-btn.prev"); const next = slider.querySelector(".slider-btn.next"); if (!track || !slides.length || !prev || !next) return; let index = 0; function updateSlider() { const slideWidth = slides[0].offsetWidth; const gap = parseInt(getComputedStyle(track).gap, 10) || 0; const step = slideWidth + gap; const visible = window.innerWidth >= 1024 ? 3 : 2; const maxIndex = Math.max(0, slides.length - visible); index = Math.max(0, Math.min(index, maxIndex)); track.style.transform = "translateX(-" + (index * step) + "px)"; prev.disabled = index === 0; next.disabled = index >= maxIndex; } prev.addEventListener("click", function () { index--; updateSlider(); }); next.addEventListener("click", function () { index++; updateSlider(); }); window.addEventListener("resize", updateSlider); updateSlider(); }); /* ===================================================== INSPIRATION SLIDER (2 mobile / 4 desktop) ===================================================== */ const inspiration = document.querySelector(".inspiration-slider"); if (inspiration) { const track = inspiration.querySelector(".slider-track"); const slides = inspiration.querySelectorAll(".slide"); const prev = inspiration.querySelector(".slider-arrow.prev"); const next = inspiration.querySelector(".slider-arrow.next"); if (track && slides.length && prev && next) { let index = 0; function updateInspiration() { const slideWidth = slides[0].offsetWidth; const gap = parseInt(getComputedStyle(track).gap, 10) || 0; const step = slideWidth + gap; const visible = window.innerWidth >= 1024 ? 4 : 2; const maxIndex = Math.max(0, slides.length - visible); index = Math.max(0, Math.min(index, maxIndex)); track.style.transform = "translateX(-" + (index * step) + "px)"; } prev.addEventListener("click", function () { index--; updateInspiration(); }); next.addEventListener("click", function () { index++; updateInspiration(); }); window.addEventListener("resize", updateInspiration); updateInspiration(); } } /* ===================================================== LOMBARD HERO SLIDER ===================================================== */ const lombardTrack = document.getElementById("lombard-slider-track"); const lombardSlides = lombardTrack ? lombardTrack.children : []; const lombardPrev = document.querySelector(".lombard-slider-prev"); const lombardNext = document.querySelector(".lombard-slider-next"); if (lombardTrack && lombardSlides.length && lombardPrev && lombardNext) { let lombardIndex = 0; function updateLombardSlider() { lombardTrack.style.transform = "translateX(-" + (lombardIndex * 100) + "%)"; } lombardPrev.addEventListener("click", function () { lombardIndex = (lombardIndex - 1 + lombardSlides.length) % lombardSlides.length; updateLombardSlider(); }); lombardNext.addEventListener("click", function () { lombardIndex = (lombardIndex + 1) % lombardSlides.length; updateLombardSlider(); }); updateLombardSlider(); } /* ===================================================== VIDEO AUTOPLAY FIX (mobile) ===================================================== */ const videos = document.querySelectorAll("video"); videos.forEach(function (video) { video.setAttribute("muted", ""); video.setAttribute("playsinline", ""); video.setAttribute("webkit-playsinline", ""); const playPromise = video.play(); if (playPromise !== undefined) { playPromise.catch(function () {}); } }); /* ===================================================== SMOOTH SCROLL FOR HASH LINKS ===================================================== */ document.querySelectorAll('a[href^="#"]').forEach(function (anchor) { anchor.addEventListener("click", function (e) { const id = this.getAttribute("href"); if (!id || id === "#") return; const target = document.querySelector(id); if (!target) return; e.preventDefault(); target.scrollIntoView({ behavior: "smooth", block: "start" }); }); }); /* ===================================================== PRODUCT USP CONTENT ===================================================== */ function findProductTitleElement() { const selectors = [ ".product-title h1", ".product-name h1", ".product-title", ".product-name", "[class*='product-title'] h1", "[class*='product-name'] h1", "[class*='product-title']", "[class*='product-name']", "h1" ]; for (let i = 0; i < selectors.length; i++) { const elements = document.querySelectorAll(selectors[i]); for (let j = 0; j < elements.length; j++) { const el = elements[j]; if (el && el.textContent && el.textContent.trim().length > 0) { return el; } } } return null; } function findUSPSource() { return document.querySelector(".product-usp-source"); } function findUSPContent(sourceEl) { if (!sourceEl) return null; const content = sourceEl.querySelector(".product-usp-content"); if (content) return content; const wrapper = document.createElement("div"); wrapper.className = "product-usp-content"; wrapper.innerHTML = sourceEl.innerHTML; return wrapper; } function removeUnwantedLines(titleEl) { if (!titleEl) return; titleEl.style.borderBottom = "none"; titleEl.style.boxShadow = "none"; let current = titleEl.parentElement; let steps = 0; while (current && steps < 5) { current.style.borderBottom = "none"; current.style.borderTop = "none"; current.style.boxShadow = "none"; steps++; current = current.parentElement; } } function insertUSPBelowTitle(titleEl, sourceEl) { if (!titleEl || !sourceEl) return; if (document.querySelector(".product-usp-content--moved")) return; const content = findUSPContent(sourceEl); if (!content) return; const movedContent = content.cloneNode(true); movedContent.classList.add("product-usp-content--moved"); titleEl.insertAdjacentElement("afterend", movedContent); } function initProductUSPContent() { const titleEl = findProductTitleElement(); const sourceEl = findUSPSource(); if (!titleEl || !sourceEl) return; insertUSPBelowTitle(titleEl, sourceEl); removeUnwantedLines(titleEl); } initProductUSPContent(); });