Din webbläsare stöds ej. För bästa upplevelsen rekommenderas en nyare version eller en annan webbläsare.
Din sökning pågav inga träffar. Var vänlig försök med annat sökord.
Sökning måste bestå av minsttecken.
EFFILERINGSSAX ARTERO MAJESTIC 6" VG10
T50560
Beskrivning
MAJESTIC effileringssax är utvecklad för att skapa mjuk textur, balanserad volym och naturliga övergångar i håret. Den mångsidiga konstruktionen gör den idealisk för att arbeta med både tunna och tjockare sektioner, vilket ger stor flexibilitet i varje klippning.
Saxen är utformad för att effektivt reducera tyngd och skapa rörelse utan att påverka hårets längd, vilket gör den perfekt för modern klippteknik där ett naturligt resultat är avgörande. Den ger ett jämnt och kontrollerat resultat samtidigt som arbetet blir smidigt och effektivt.
För professionella frisörer innebär detta ett verktyg som förbättrar arbetsflödet, minskar behovet av efterjusteringar och gör det enklare att skapa konsekventa resultat oavsett hårtyp. Ett självklart val för dagligt salongsarbete där volym, balans och precision står i fokus.
Läs mer ...Stäng
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();
});