{
  "version": 3,
  "sources": ["/cdn/shop/t/36/assets/zr-a.js?r=28603"],
  "sourcesContent": ["const SET_REIHE = [\"invisible\", \"the-chosen\", \"santal-obsidian\", \"veron\", \"azure\"];  // DE: Reihenfolge der vorausgew\u00E4hlten D\u00FCfte im Set (Jeffry 04.11.)\nimport { video as zrVideo } from \"zr/bilder.js\";\nimport { LINES, TIERS, STIMMEN, DISCOVERY, BEWERTUNGEN, UGC, KOLLEKTIONEN, KOLLEKTION_DER_LINIE, SEITEN, LUXURY, EXTREME, PFLEGE, GESCHENK, formatCHF, findScent, angebotB, membership, MEMBERSHIP_ABZUG, MEMBERSHIP_ABO_5, MEMBERSHIP_SHAMPOO_MONATE_5 } from \"zr/data.js\";\nimport * as cart from \"zr/cart.js\";\nimport { mountCart, konfettiAuf } from \"zr/cart-ui.js\";\nimport { bild, hatBild, packshotWelt } from \"zr/bild.js\";\npackshotWelt(\"a\");\nimport { ikon, ikonenSetzen } from \"zr/ikon.js\";\nimport { popup } from \"zr/popup.js\";\nimport { getLinie, setLinie, onLinie, LEITDUFT, LABEL } from \"zr/linie.js\";\nimport { duftprofil } from \"zr/duftprofil.js\";\nimport { benachrichtigen as trackBenachrichtigen } from \"zr/track.js\";\nimport { kopf } from \"zr/kopf.js\";\nimport { demoStart } from \"zr/demo.js\";\ndemoStart();\nconst $ = (s, r = document) => r.querySelector(s);\nconst $$ = (s, r = document) => [...r.querySelectorAll(s)];\nconst nameHtml = (n) => {\n  const t = String(n).replace(/[&<>]/g, (z) => ({ \"&\": \"&amp;\", \"<\": \"&lt;\", \">\": \"&gt;\" })[z]);\n  return / Extreme$/.test(t) ? `${t.replace(/ Extreme$/, \"\")} <span class=\"a-xtr\"><span class=\"visually-hidden\">Extreme</span></span>` : t;\n};\nconst flakon = (id) => hatBild(`a/packfrei-${id}`) ? `a/packfrei-${id}` : `produkte/${id}-front-frei`;\nconst handy = matchMedia(\"(max-width: 899px)\").matches;\nconst bilderSetzen = (root = document) => $$(\"img[data-bild]\", root).forEach((im) => {\n  const wunsch = handy && im.dataset.bildHandy ? im.dataset.bildHandy : im.dataset.bild;\n  const name = hatBild(wunsch) ? wunsch : im.dataset.fallback || im.dataset.bild;\n  bild(im, name, im.dataset.sizes || \"100vw\");\n});\nbilderSetzen();\n// Theme-Editor: neu gerenderte Section liefert neue Bild-URLs im Inline-Skript; Skript ausf\u00FChren und Bilder neu setzen.\ndocument.addEventListener(\"shopify:section:load\", (e) => {\n  $$(\"script:not([type]),script[type='text/javascript']\", e.target).forEach((s) => {\n    try {\n      new Function(s.textContent)();\n    } catch {}\n  });\n  bilderSetzen(e.target);\n});\ndocument.body.dataset.linie = getLinie();\nfunction lswZeigen(l) {\n  $$(\"[data-lsw-l]\").forEach((b) => {\n    const an = b.dataset.lswL === l;\n    b.setAttribute(\"aria-checked\", String(an));\n    b.tabIndex = an ? 0 : -1;\n  });\n  $$(\"[data-lsw]\").forEach((g) => {\n    g.dataset.an = l;\n  });\n}\n$$(\"[data-lsw]\").forEach((g) => {\n  $$(\"[data-lsw-l]\", g).forEach((b) => b.addEventListener(\"click\", () => setLinie(b.dataset.lswL)));\n  g.addEventListener(\"keydown\", (e) => {\n    if (![\"ArrowLeft\", \"ArrowRight\"].includes(e.key)) return;\n    e.preventDefault();\n    const l = getLinie() === \"her\" ? \"him\" : \"her\";\n    setLinie(l);\n    $(`[data-lsw-l=\"${l}\"]`, g).focus();\n  });\n});\nlswZeigen(getLinie());\nonLinie((l) => {\n  document.body.dataset.linie = l;\n  lswZeigen(l);\n});\nconst hero = $(\".a-hero\");\nif (hero) {\n  const setze = (l) => {\n    hero.classList.toggle(\"is-her\", l === \"her\");\n    const cta = $(\"[data-hero-cta]\", hero);\n    cta.href = SEITEN.kollektion(KOLLEKTION_DER_LINIE[l]);\n    cta.textContent = `D\u00FCfte ${l === \"her\" ? \"f\u00FCr Sie\" : \"f\u00FCr Ihn\"}`;\n  };\n  hero.classList.add(\"is-sofort\");\n  setze(getLinie());\n  requestAnimationFrame(() => requestAnimationFrame(() => hero.classList.remove(\"is-sofort\")));\n  onLinie(setze);\n}\nconst head = $(\"[data-head]\");\nconst menuBtn = $(\"[data-menu]\");\nmenuBtn?.addEventListener(\"click\", () => {\n  const offen = menuBtn.getAttribute(\"aria-expanded\") !== \"true\";\n  menuBtn.setAttribute(\"aria-expanded\", String(offen));\n  head.classList.toggle(\"is-menu\", offen);\n});\nkopf();\nif (head?.classList.contains(\"a-head--over\")) {\n  new IntersectionObserver(([e]) => head.classList.toggle(\"is-solid\", !e.isIntersecting), { rootMargin: \"-72px 0px 0px 0px\" }).observe($(\".a-hero\"));\n}\nconst io = new IntersectionObserver((es) => es.forEach((e) => {\n  if (e.isIntersecting) {\n    e.target.classList.add(\"is-in\");\n    io.unobserve(e.target);\n  }\n}), { rootMargin: \"0px 0px -8% 0px\" });\n$$(\".a-duft, .a-ugc, .a-finder, .a-stage, .a-compl, .a-notes, .a-conc, .a-guarantee, .a-rail, .a-lines, .a-banner, .a-set, .a-stimmen, .a-story, .a-werk, .a-kol2, .a-schluss, .a-disc, .a-feel, .a-cross\").forEach((n) => {\n  n.classList.add(\"a-reveal\");\n  io.observe(n);\n});\nconst ui = mountCart({ root: $(\"[data-cart-root]\"), classPrefix: \"a\" });\nconst count = $(\"[data-cart-count]\");\nconst ruhig = () => matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\nconst AUS = \"cubic-bezier(.2, .7, .2, 1)\";\ncart.subscribe(() => {\n  count.textContent = cart.count();\n});\ncount.textContent = cart.count();\n$(\"[data-cart-open]\").addEventListener(\"click\", (e) => ui.open(e.currentTarget));\nconst linieName = (l) => l === \"her\" ? \"Damenduft\" : \"Herrenduft\";\nfunction stimmenRendern(liste, foto = { name: \"a/stufe-2-abend\", alt: \"Eine Frau lacht an einer Bar im Kerzenlicht, ein Mann sitzt ihr gegen\u00FCber.\" }) {\n  const box = $(\"[data-stimmen]\");\n  if (!box) return;\n  const duftVon = (s) => s.duft && Object.values(LINES).flatMap((l) => l.scents).find((x) => x.id === s.duft);\n  box.innerHTML = `<figure class=\"a-voice__media\"><img alt=\"${foto.alt}\"></figure>\n    <div class=\"a-voice__panel\">\n      <div class=\"a-voice__quotes\">${liste.map((s, i2) => {\n    const d = duftVon(s);\n    return `<blockquote class=\"a-voice__q\" ${i2 ? \"hidden\" : \"\"}>\n        <p class=\"a-voice__text\">${s.kurz}</p>\n        <footer class=\"a-voice__by\">${d ? `<img class=\"a-voice__flakon\" data-p=\"${d.id}\" alt=\"\">` : \"\"}<span><strong>${s.name}</strong> Verifizierter Kauf \u00B7 ${d ? d.name : linieName(s.linie)}</span></footer>\n      </blockquote>`;\n  }).join(\"\")}</div>\n      <div class=\"a-voice__tabs\" role=\"tablist\" aria-label=\"Kundenstimmen\">${liste.map((s, i2) => `<button type=\"button\" role=\"tab\" aria-selected=\"${!i2}\"><span class=\"a-voice__bar\"><span></span></span>${s.name}</button>`).join(\"\")}</div>\n    </div>`;\n  bild(box.querySelector(\".a-voice__media img\"), foto.name, \"(min-width: 900px) 40vw, 100vw\");\n  box.querySelectorAll(\".a-voice__flakon\").forEach((im) => bild(im, flakon(im.dataset.p), \"48px\"));\n  const tabs = [...box.querySelectorAll('[role=\"tab\"]')], qs = [...box.querySelectorAll(\".a-voice__q\")];\n  let i = 0, timer;\n  const zeige = (n) => {\n    i = (n + qs.length) % qs.length;\n    qs.forEach((q, k) => {\n      q.hidden = k !== i;\n    });\n    tabs.forEach((t, k) => {\n      t.setAttribute(\"aria-selected\", String(k === i));\n      t.classList.remove(\"is-run\");\n    });\n    void tabs[i].offsetWidth;\n    tabs[i].classList.add(\"is-run\");\n  };\n  const lauf = () => {\n    clearInterval(timer);\n    if (!matchMedia(\"(prefers-reduced-motion: reduce)\").matches) timer = setInterval(() => zeige(i + 1), 6500);\n  };\n  tabs.forEach((t, k) => t.addEventListener(\"click\", () => {\n    zeige(k);\n    lauf();\n  }));\n  box.addEventListener(\"mouseenter\", () => {\n    clearInterval(timer);\n    box.classList.add(\"is-pause\");\n  });\n  box.addEventListener(\"mouseleave\", () => {\n    box.classList.remove(\"is-pause\");\n    zeige(i);\n    lauf();\n  });\n  zeige(0);\n  lauf();\n}\nconst STIL = { invisible: \"Frisch\", veron: \"W\u00FCrzig\", \"the-chosen\": \"Dunkel\", \"santal-obsidian\": \"Cremig\", azure: \"Zitrisch\", odyssey: \"Marin\", ziba: \"Warm\", vera: \"Blumig\", nova: \"Frisch\", calypso: \"Sinnlich\" };\nconst PROFIL = {\n  invisible: [\"Frisch-aromatisch\", \"Bergamotte und Lavendel \u00FCber Amber. Klar und nah.\"],\n  veron: [\"W\u00FCrzig-ledrig\", \"Safran und Orange \u00FCber Amber und Leder. Warm, mit Pr\u00E4senz.\"],\n  \"the-chosen\": [\"Dunkel-w\u00FCrzig\", \"Kaffee und Kakao \u00FCber Tabak und Leder. Dicht und tief.\"],\n  \"santal-obsidian\": [\"Cremig-holzig\", \"Kardamom und Tee \u00FCber Sandelholz. Ruhig und cremig.\"],\n  azure: [\"Zitrisch-frisch\", \"Limette und Ingwer \u00FCber Rose und Zeder. Hell und lebendig.\"],\n  ziba: [\"Warm-blumig\", \"Orangenbl\u00FCte \u00FCber Karamell und Vanille. Weich und warm.\"],\n  vera: [\"Weiss-blumig\", \"Orangenbl\u00FCte und Jasmin auf Moschus. Hell und zart.\"],\n  nova: [\"Frisch-blumig\", \"Bergamotte und Ananas \u00FCber Jasmin. Strahlend und frisch.\"],\n  odyssey: [\"Aromatisch-marin\", \"Zitrone und Lavandin \u00FCber Zeder und Meer. Weit und klar.\"],\n  calypso: [\"Blumig-sinnlich\", \"Pfirsichbl\u00FCte \u00FCber Patchouli und Vanille. Weich und sinnlich.\"],\n  \"vanilla-obsession\": [\"Pudrig-balsamisch\", \"Vanille und Kokosnuss \u00FCber Tonka und Moschus. Cremig und weich.\"],\n  \"velour-noir\": [\"Ledrig-amber\", \"Bergamotte und Lavendel \u00FCber Leder und Guajakholz. Dunkel und samtig.\"],\n  \"spicy-kiss\": [\"W\u00FCrzig-balsamisch\", \"Zimt und Ingwer \u00FCber Tonka und Vanille. Warm und hypnotisch.\"]\n};\nObject.assign(STIL, { \"vanilla-obsession\": \"Pudrig\", \"velour-noir\": \"Samtig\", \"spicy-kiss\": \"W\u00FCrzig\" });\n[...EXTREME.her, ...EXTREME.him].forEach((s) => {\n  STIL[s.id] = STIL[s.basis];\n  PROFIL[s.id] = PROFIL[s.basis];\n});\nconst KORB = '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 8h14l-1 12H6L5 8z\"/><path d=\"M9 8V6a3 3 0 016 0v2\"/></svg>';\nfunction karte(linie, s, { gross = false } = {}) {\n  const box = document.createElement(\"div\");\n  box.className = `a-card${gross ? \" a-card--gross\" : \"\"}${s.ausverkauft ? \" a-card--aus\" : \"\"}`;\n  const kollZiel = (s.kollektion === \"invisible\" || s.kollektion === \"eternal\") && SEITEN.kollektion?.(s.kollektion);\n  const ziel = kollZiel ? `${kollZiel}${kollZiel.includes(\"?\") ? \"&\" : \"?\"}duft=${s.id}` : SEITEN.duft(s.id) || \"#\";\n  box.innerHTML = `<a class=\"a-card__link\" href=\"${ziel}\"><span class=\"a-card__media\"><img alt=\"\"><img class=\"a-card__hover\" alt=\"\">${s.bestseller ? '<span class=\"a-card__badge\">Bestseller</span>' : \"\"}${s.neu ? '<span class=\"a-card__badge\">Neu \u00B7 limitiert</span>' : \"\"}${s.ausverkauft ? '<span class=\"a-card__aus\"><strong>Ausverkauft</strong><small>Limitiert auf 250 Flakons</small></span>' : \"\"}</span>\n    <span class=\"a-card__body\"><span class=\"a-card__name\">${s.name}</span><span class=\"a-card__notes\">${s.keywords}</span>\n    <span class=\"a-card__price\">${s.available ? `${formatCHF(TIERS[0].price)} <span><i aria-hidden=\"true\">\u00B7 </i>${angebotB() ? \"3 f\u00FCr\" : \"2+1 f\u00FCr\"} ${formatCHF(TIERS[1].price)}</span>` : s.ausverkauft ? '<span class=\"a-card__drop\">N\u00E4chster Drop folgt</span>' : \"Limitiert auf 250 Flakons\"}</span></span></a>\n    ${s.available ? `<button type=\"button\" class=\"a-card__add\" aria-label=\"${s.name} in den Warenkorb\">${KORB}</button>` : \"\"}`;\n  const [im, hov] = box.querySelectorAll(\"img\");\n  bild(im, `produkte/${s.id}-front`, gross ? \"(min-width: 900px) 40vw, 90vw\" : \"(min-width: 900px) 25vw, 60vw\");\n  const moment = [`a/noten-${s.id}`, `a/hover-${s.id}`].find((n) => hatBild(n));\n  if (!moment || !bild(hov, moment, \"(min-width: 900px) 25vw, 60vw\")) hov.remove();\n  else hov.classList.add(\"is-noten\");\n  if (ziel === \"#\") box.querySelector(\"a\").addEventListener(\"click\", (e) => e.preventDefault());\n  box.querySelector(\".a-card__add\")?.addEventListener(\"click\", (e) => {\n    cart.addSet({ line: linie, qty: 1, scents: [s.id] });\n    ui.open(e.currentTarget);\n  });\n  return box;\n}\nfunction discKarte(d, text) {\n  const b = document.createElement(\"div\");\n  b.className = \"a-card\";\n  b.innerHTML = `<a class=\"a-card__link\" href=\"${SEITEN.pflege(d.id)}\"><span class=\"a-card__media\"><img alt=\"\"></span><span class=\"a-card__body\"><span class=\"a-card__name\">Discovery Set</span><span class=\"a-card__notes\">${text}</span><span class=\"a-card__price\">${formatCHF(d.price)} <s>${formatCHF(d.compareAt)}</s></span></span></a><button type=\"button\" class=\"a-card__add\" aria-label=\"${d.name} in den Warenkorb\">${KORB}</button>`;\n  bild(b.querySelector(\"img\"), `produkte/${d.id}`, \"(min-width: 900px) 25vw, 60vw\");\n  b.querySelector(\".a-card__add\").addEventListener(\"click\", (e) => {\n    cart.addDiscovery(d.id);\n    ui.open(e.currentTarget);\n  });\n  return b;\n}\n$$(\"[data-marquee]\").forEach((r) => {\n  const teile = [...r.children].map((n) => n.outerHTML).join(\"\");\n  const bauen = () => {\n    r.innerHTML = teile;\n    const breite = r.scrollWidth || 1;\n    const n = Math.max(1, Math.ceil((r.parentElement.clientWidth + 1) / breite));\n    const haelfte = teile.repeat(n);\n    r.innerHTML = haelfte + haelfte;\n    r.querySelectorAll(\":scope > *\").forEach((x, i) => {\n      if (i >= r.children.length / 2) x.setAttribute(\"aria-hidden\", \"true\");\n    });\n    r.style.animationDuration = `${(breite * n / 22).toFixed(1)}s`;\n  };\n  bauen();\n  let w = innerWidth;\n  addEventListener(\"resize\", () => {\n    if (innerWidth !== w) {\n      w = innerWidth;\n      bauen();\n    }\n  });\n  document.fonts?.ready.then(bauen);\n});\nfunction ugcRendern(nummern) {\n  const track = $(\"[data-ugc]\");\n  if (!track) return;\n  track.innerHTML = nummern.map((n) => `<figure class=\"a-ugc__card\"><video src=\"${zrVideo(`ugc-${n}`)}\" poster=\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__video__ugc-${n}.jpg\" muted loop playsinline preload=\"none\"></video><button type=\"button\" class=\"a-ugc__play\" aria-label=\"Video mit Ton abspielen\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8 5v14l11-7z\"/></svg></button></figure>`).join(\"\");\n  const vids = $$(\"video\", track);\n  const sicht = new IntersectionObserver((es) => es.forEach((e) => {\n    const v = e.target;\n    if (e.isIntersecting && !matchMedia(\"(prefers-reduced-motion: reduce)\").matches) v.play().catch(() => {\n    });\n    else if (v.muted) v.pause();\n  }), { threshold: 0.6 });\n  vids.forEach((v) => sicht.observe(v));\n  $$(\".a-ugc__card\", track).forEach((f) => f.querySelector(\"button\").addEventListener(\"click\", () => {\n    const v = f.querySelector(\"video\");\n    const an = !f.classList.contains(\"is-ton\");\n    vids.forEach((x) => {\n      x.muted = true;\n      x.closest(\"figure\").classList.remove(\"is-ton\");\n    });\n    if (an) {\n      v.muted = false;\n      v.currentTime = 0;\n      v.play();\n      f.classList.add(\"is-ton\");\n    }\n  }));\n  const blaettern = (r) => track.scrollBy({ left: r * track.clientWidth * 0.8, behavior: \"smooth\" });\n  $(\"[data-ugc-prev]\")?.addEventListener(\"click\", () => blaettern(-1));\n  $(\"[data-ugc-next]\")?.addEventListener(\"click\", () => blaettern(1));\n}\nconst ohneEmoji = (t) => t.replace(/\\s*(?::-?\\)|;-?\\)|[\\u{1F300}-\\u{1FAFF}\\u{2600}-\\u{27BF}\\u{FE0F}])+/gu, \"\").trim();\nconst SIEGEL = '<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><circle cx=\"8\" cy=\"8\" r=\"6.6\"/><path d=\"M5.6 8.2l1.6 1.6 3.2-3.3\" fill=\"none\"/></svg>';\nfunction bewertungenRendern(liste) {\n  const box = $(\"[data-reviews]\");\n  if (!box) return;\n  const duftId = (n) => (Object.values(LINES).flatMap((l) => l.scents).find((x) => x.name === n) || {}).id;\n  box.classList.add(\"is-karten\");\n  box.innerHTML = liste.map((r, i) => {\n    const id = duftId(r.duft);\n    return `<article class=\"a-rcard${i > 5 ? \" is-mehr\" : \"\"}\">\n      <header><span class=\"a-rcard__av\" aria-hidden=\"true\">${r.name[0]}</span><span><strong>${r.name}</strong><span class=\"a-rcard__ok\">${SIEGEL}Verifizierter Kauf</span></span></header>\n      <p class=\"a-rcard__stars\" aria-label=\"5 von 5 Sternen\">\u2605\u2605\u2605\u2605\u2605</p>${r.titel ? `<h3>${r.titel}</h3>` : \"\"}<p class=\"a-rcard__text\">${ohneEmoji(r.text)}</p>\n      <p class=\"a-rcard__duft\">${id ? `<img data-p=\"${id}\" alt=\"\">` : \"\"}Tr\u00E4gt ${r.duft}</p></article>`;\n  }).join(\"\") + (liste.length > 6 ? '<button type=\"button\" class=\"a-rev__more\" data-rev-more>Weitere Bewertungen</button>' : \"\");\n  $$(\"img[data-p]\", box).forEach((im) => bild(im, flakon(im.dataset.p), \"40px\"));\n  $(\"[data-rev-more]\", box)?.addEventListener(\"click\", (e) => {\n    box.classList.add(\"is-alle\");\n    e.currentTarget.remove();\n  });\n  weiterlesen(box);\n}\nfunction weiterlesen(root) {\n  if (!root || !matchMedia(\"(max-width: 899px)\").matches) return;\n  requestAnimationFrame(() => $$(\".a-rcard\", root).forEach((k) => {\n    const t = $(\".a-rcard__text\", k), h = $(\"h3\", k);\n    const gekuerzt = (el) => el && el.scrollHeight > el.clientHeight + 2;\n    if (!t || $(\".a-rcard__weiter\", k) || !(gekuerzt(t) || gekuerzt(h))) return;\n    const b = document.createElement(\"button\");\n    b.type = \"button\";\n    b.className = \"a-rcard__weiter\";\n    b.textContent = \"Weiterlesen\";\n    b.addEventListener(\"click\", () => {\n      k.classList.add(\"is-offen\");\n      b.remove();\n    });\n    t.after(b);\n  }));\n}\nfunction stimmeInKaufbox(kandidaten) {\n  const fig = $(\"[data-buy-stimme]\");\n  if (!fig || !kandidaten.length) return null;\n  const r = [...kandidaten].sort((a, b) => ohneEmoji(a.text).length - ohneEmoji(b.text).length)[0];\n  const saetze = ohneEmoji(r.text).split(/(?<=[.!?])\\s+/);\n  let t = saetze[0];\n  const max = document.documentElement.classList.contains(\"box-neu\") ? 85 : 110;\n  for (const x of saetze.slice(1)) {\n    if ((t + \" \" + x).length > max) break;\n    t += \" \" + x;\n  }\n  const gekuerzt = t.length < ohneEmoji(r.text).length;\n  fig.innerHTML = `<p class=\"a-stimme__stars\" aria-label=\"5 von 5 Sternen\">\u2605\u2605\u2605\u2605\u2605</p><blockquote class=\"a-stimme__text\">\u00AB${t}${gekuerzt ? \" \u2026\" : \"\"}\u00BB</blockquote><figcaption class=\"a-stimme__by\"><strong>${r.name}</strong><span class=\"a-rcard__ok\">${SIEGEL}Verifizierter Kauf</span><a href=\"#bewertungen\">Alle Bewertungen</a></figcaption>`;\n  if (document.documentElement.classList.contains(\"box-neu\")) {\n    const id = Object.values(LINES).flatMap((l) => l.scents).find((x) => x.name === r.duft)?.id;\n    fig.className = \"a-rcard a-rcard--kauf\";\n    fig.classList.add(\"a-kk--a\");\n    const duft = `${id ? `<img data-p=\"${id}\" alt=\"\">` : \"\"}<span class=\"a-kk__name\">${r.duft}</span>`;\n    const saetzeK = t.split(/(?<=[.!?])\\s+/);\n    const ok = `<span class=\"a-rcard__ok\">${SIEGEL}Verifizierter Kauf</span>`;\n    fig.innerHTML = `<header><span class=\"a-rcard__av\" aria-hidden=\"true\">${r.name[0]}</span><strong>${r.name}</strong><span class=\"a-kk__pill\">${duft}<i aria-hidden=\"true\"></i><span class=\"a-kk__st\" role=\"img\" aria-label=\"5 von 5 Sternen\">\u2605\u2605\u2605\u2605\u2605</span></span></header><p class=\"a-rcard__text\">${saetzeK.map((x, i) => `<span>${x}${i === saetzeK.length - 1 ? ok : \"\"}</span>`).join(\" \")}</p>`;\n    const im = $(\"img[data-p]\", fig);\n    if (im) bild(im, flakon(im.dataset.p), \"32px\");\n  }\n  fig.hidden = false;\n  return r;\n}\nconst UGC_GESICHT = { 1: [48, 43], 2: [75, 30], 4: [32, 43], 5: [59, 35], 6: [64, 49], 7: [48, 30], 8: [33, 35], 9: [80, 35] };\nfunction gesicht(n, px, zoom = 3.2) {\n  const [fx, fy] = UGC_GESICHT[n];\n  const w = px * zoom;\n  const h = w * 770 / 432;\n  const x = Math.max(0, Math.min(100, (fx / 100 * w - px / 2) / (w - px) * 100));\n  const y = Math.max(0, Math.min(100, (fy / 100 * h - px / 2) / (h - px) * 100));\n  return `background-image:url(https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__video__ugc-${n}.jpg);background-size:${zoom * 100}% auto;background-position:${x.toFixed(1)}% ${y.toFixed(1)}%`;\n}\nfunction vertrauenInKaufbox(art, liste, linie) {\n  const fig = $(\"[data-buy-stimme]\");\n  const clips = linie === \"her\" ? [7, 8, 9, 6] : [1, 2, 5, 4];\n  const score = `<span class=\"a-vt__score\"><span class=\"a-vt__st\" aria-hidden=\"true\">\u2605<span class=\"a-vt__st4\">\u2605\u2605\u2605\u2605</span></span><strong>4.8</strong> \u00B7 \u00FCber 30.000 Kunden</span>`;\n  const titel = (lang, kurz2) => `<strong><span class=\"a-vt__lang\">${lang}</span><span class=\"a-vt__kurz\">${kurz2}</span></strong>`;\n  $(\".a-ugc\")?.setAttribute(\"id\", \"echte-momente\");\n  if (art === \"gesichter\") {\n    fig.hidden = true;\n    const li = document.createElement(\"li\");\n    li.className = \"a-vt-ges\";\n    li.innerHTML = `<a href=\"#echte-momente\"><span class=\"a-vt-ges__stapel\" aria-hidden=\"true\">${clips.map((n) => `<i style=\"${gesicht(n, 40)}\"></i>`).join(\"\")}</span><span><strong>${score}</strong><span class=\"a-vt-ges__z\"><span class=\"a-vt__lang\">Echte Kunden zeigen ihren Duft </span><u>Kundenvideos ansehen</u></span></span></a>`;\n    $(\".a-buy .a-trust\").append(li);\n    return [];\n  }\n  if (art === \"videos\") {\n    const alle = linie === \"her\" ? [7, 8, 12, 9, 6, 13, 1] : [1, 10, 2, 5, 13, 4, 11, 3];\n    const AUS2 = '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 9.5h3.2L11.5 5.5v13l-4.3-4H4z\"/><path class=\"a-vt__w\" d=\"M15.5 9.5l5 5m0-5l-5 5\"/></svg>';\n    const AN = '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 9.5h3.2L11.5 5.5v13l-4.3-4H4z\"/><path class=\"a-vt__w\" d=\"M15 9a4.5 4.5 0 010 6M17.6 6.6a8 8 0 010 10.8\"/></svg>';\n    fig.className = \"a-vt a-vt--videos\";\n    fig.hidden = false;\n    fig.innerHTML = `<figcaption class=\"a-vt__kopf\"><strong>Getestet und geliebt</strong><span class=\"a-vt__score\" role=\"img\" aria-label=\"4.8 von 5 Sternen\"><span class=\"a-vt__st\" aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605</span><strong aria-hidden=\"true\">4.8</strong></span></figcaption><div class=\"a-vt__reihe\"><button type=\"button\" class=\"a-vt__pfeil a-vt__pfeil--l\" aria-label=\"Vorherige Videos\" hidden></button><button type=\"button\" class=\"a-vt__pfeil a-vt__pfeil--r\" aria-label=\"Weitere Videos\"></button><div class=\"a-vt__clips\">${alle.map((n) => `<figure class=\"a-vt__clip\"><video src=\"${zrVideo(`ugc-${n}-vorschau`)}\" poster=\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__video__ugc-${n}.jpg\" muted loop playsinline preload=\"none\" style=\"object-position:50% ${Math.min(60, UGC_GESICHT[n]?.[1] ?? 30) + 8}%\"></video><button type=\"button\" class=\"a-vt__ton\" aria-label=\"Ton einschalten\" aria-pressed=\"false\"><span>${AUS2}</span></button><button type=\"button\" class=\"a-vt__gross\" data-n=\"${n}\" aria-label=\"Video in voller Gr\u00F6sse ansehen\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M14 4h6v6M10 20H4v-6M20 4l-6.5 6.5M4 20l6.5-6.5\"/></svg></button></figure>`).join(\"\")}</div></div>`;\n    const vids = $$(\"video\", fig);\n    const reihe = $(\".a-vt__clips\", fig);\n    const [pl, pr] = [$(\".a-vt__pfeil--l\", fig), $(\".a-vt__pfeil--r\", fig)];\n    const pfeile = () => {\n      pl.hidden = reihe.scrollLeft < 4;\n      pr.hidden = reihe.scrollLeft + reihe.clientWidth > reihe.scrollWidth - 4;\n    };\n    pl.onclick = () => reihe.scrollBy({ left: -reihe.clientWidth * 0.9, behavior: \"smooth\" });\n    pr.onclick = () => reihe.scrollBy({ left: reihe.clientWidth * 0.9, behavior: \"smooth\" });\n    reihe.addEventListener(\"scroll\", pfeile, { passive: true });\n    requestAnimationFrame(pfeile);\n    const ruhig2 = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n    const stumm = (v) => {\n      v.muted = true;\n      const k = v.closest(\"figure\");\n      k.classList.remove(\"is-ton\");\n      const t = $(\".a-vt__ton\", k);\n      t.setAttribute(\"aria-pressed\", \"false\");\n      t.setAttribute(\"aria-label\", \"Ton einschalten\");\n      $(\"span\", t).innerHTML = AUS2;\n    };\n    const sicht = new IntersectionObserver((es) => es.forEach((e) => {\n      const v = e.target;\n      if (e.isIntersecting && (!ruhig2 || !v.muted)) v.play().catch(() => {\n      });\n      else {\n        v.pause();\n        if (!v.muted) stumm(v);\n      }\n    }), { threshold: 0.5 });\n    vids.forEach((v) => sicht.observe(v));\n    $$(\".a-vt__ton\", fig).forEach((t) => t.addEventListener(\"click\", () => {\n      const k = t.closest(\"figure\");\n      const v = $(\"video\", k);\n      if (!v.muted) {\n        stumm(v);\n        if (ruhig2) v.pause();\n        return;\n      }\n      vids.forEach((x) => {\n        if (x !== v) {\n          stumm(x);\n          if (ruhig2) x.pause();\n        }\n      });\n      const voll = zrVideo(`ugc-${$(\".a-vt__gross\", k).dataset.n}`);\n      if (!v.currentSrc.endsWith(voll) && !v.src.endsWith(voll)) v.src = voll;\n      v.muted = false;\n      v.currentTime = 0;\n      v.play().catch(() => {\n      });\n      k.classList.add(\"is-ton\");\n      t.setAttribute(\"aria-pressed\", \"true\");\n      t.setAttribute(\"aria-label\", \"Ton ausschalten\");\n      $(\"span\", t).innerHTML = AN;\n    }));\n    let dlg = $(\".a-vt__voll\");\n    if (!dlg) {\n      dlg = document.createElement(\"dialog\");\n      dlg.className = \"a-vt__voll\";\n      dlg.setAttribute(\"aria-label\", \"Video in voller Gr\u00F6sse\");\n      dlg.innerHTML = '<div class=\"a-vt__voll-rahmen\"><div class=\"a-vt__balken\"></div><video playsinline></video><button type=\"button\" class=\"a-vt__zu\" aria-label=\"Schliessen\">\u00D7</button><button type=\"button\" class=\"a-vt__pf a-vt__pf--zurueck\" aria-label=\"Vorheriges Video\"></button><button type=\"button\" class=\"a-vt__pf a-vt__pf--weiter\" aria-label=\"N\u00E4chstes Video\"></button></div>';\n      document.body.append(dlg);\n    }\n    const vv = $(\"video\", dlg);\n    const balken = $(\".a-vt__balken\", dlg);\n    let pos = 0;\n    const zeige = (i) => {\n      pos = (i + alle.length) % alle.length;\n      balken.innerHTML = alle.map((_, j) => `<i class=\"${j < pos ? \"is-fertig\" : j === pos ? \"is-an\" : \"\"}\"><b></b></i>`).join(\"\");\n      vv.src = `${zrVideo(`ugc-${alle[pos]}`)}`;\n      vv.muted = false;\n      vv.currentTime = 0;\n      vv.play().catch(() => {\n      });\n    };\n    vv.ontimeupdate = () => {\n      const b = $(\".is-an b\", balken);\n      if (b && vv.duration) b.style.width = `${vv.currentTime / vv.duration * 100}%`;\n    };\n    vv.onended = () => pos < alle.length - 1 ? zeige(pos + 1) : dlg.close();\n    vv.onclick = () => vv.paused ? vv.play() : vv.pause();\n    $(\".a-vt__zu\", dlg).onclick = () => dlg.close();\n    $(\".a-vt__pf--zurueck\", dlg).onclick = () => zeige(pos - 1);\n    $(\".a-vt__pf--weiter\", dlg).onclick = () => zeige(pos + 1);\n    dlg.onclick = (e) => {\n      if (e.target === dlg) dlg.close();\n    };\n    dlg.onkeydown = (e) => {\n      if (e.key === \"ArrowRight\") zeige(pos + 1);\n      if (e.key === \"ArrowLeft\") zeige(pos - 1);\n    };\n    let x0 = null;\n    dlg.ontouchstart = (e) => {\n      x0 = e.touches?.[0]?.clientX ?? null;\n    };\n    dlg.ontouchend = (e) => {\n      if (x0 === null || !e.changedTouches?.[0]) return;\n      const dx = e.changedTouches[0].clientX - x0;\n      x0 = null;\n      if (Math.abs(dx) > 50) zeige(pos + (dx < 0 ? 1 : -1));\n    };\n    dlg.onclose = () => {\n      vv.pause();\n      vv.removeAttribute(\"src\");\n      vv.load();\n      document.documentElement.classList.remove(\"is-voll\");\n    };\n    $$(\".a-vt__gross\", fig).forEach((g) => g.addEventListener(\"click\", () => {\n      vids.forEach((x) => {\n        stumm(x);\n      });\n      document.documentElement.classList.add(\"is-voll\");\n      dlg.showModal();\n      zeige(alle.indexOf(+g.dataset.n));\n    }));\n    return [];\n  }\n  const kurz = (t) => {\n    const z = ohneEmoji(t).split(/(?<=[.!?])\\s+/);\n    let x = z[0];\n    for (const y of z.slice(1)) {\n      if ((x + \" \" + y).length > 90) break;\n      x += \" \" + y;\n    }\n    return x;\n  };\n  const wahl = liste.filter((r) => kurz(r.text).length <= 110 && r.duft && findScentByName(r.duft)).slice(0, 5);\n  fig.className = \"a-vt a-vt--stimmen\";\n  fig.hidden = false;\n  fig.innerHTML = `<figcaption class=\"a-vt__kopf\">${titel(\"Das sagen unsere Kunden\", \"Kundenstimmen\")}${score}</figcaption><div class=\"a-vt__spur\" tabindex=\"0\" aria-label=\"Kundenstimmen, seitlich wischen\">${wahl.map((r) => {\n    const d = findScentByName(r.duft);\n    return `<article class=\"a-vt__karte\"><header><span class=\"a-vt__st\" role=\"img\" aria-label=\"5 von 5 Sternen\">\u2605\u2605\u2605\u2605\u2605</span><span class=\"a-vt__duft\"><img data-p=\"${d.id}\" alt=\"\">${r.duft}</span></header><p>${kurz(r.text)}</p><footer><strong>${r.name}</strong><span class=\"a-rcard__ok\">${SIEGEL}Verifiziert</span></footer></article>`;\n  }).join(\"\")}</div><div class=\"a-vt__punkte\" aria-hidden=\"true\">${wahl.map((_, i) => `<i${i ? \"\" : ' class=\"is-an\"'}></i>`).join(\"\")}</div>`;\n  $$(\"img[data-p]\", fig).forEach((im) => bild(im, flakon(im.dataset.p), \"24px\"));\n  const spur = $(\".a-vt__spur\", fig);\n  const punkte = $$(\".a-vt__punkte i\", fig);\n  spur.addEventListener(\"scroll\", () => {\n    const k = $$(\".a-vt__karte\", spur);\n    const i = Math.round(spur.scrollLeft / (k[1] ? k[1].offsetLeft - k[0].offsetLeft : 1));\n    punkte.forEach((p, j) => p.classList.toggle(\"is-an\", j === Math.min(i, punkte.length - 1)));\n  }, { passive: true });\n  return wahl;\n}\nconst findScentByName = (n) => Object.values(LINES).flatMap((l) => l.scents).find((x) => x.name === n) || null;\nif ($(\".a-start\")) {\n  const duftId = (n) => (Object.values(LINES).flatMap((l) => l.scents).find((x) => x.name === n) || {}).id;\n  const karteR = (r) => {\n    const id = duftId(r.duft);\n    return `<article class=\"a-rcard\"><header><span class=\"a-rcard__av\" aria-hidden=\"true\">${r.name[0]}</span><span><strong>${r.name}</strong><span class=\"a-rcard__ok\"><svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><circle cx=\"8\" cy=\"8\" r=\"6.6\"/><path d=\"M5.6 8.2l1.6 1.6 3.2-3.3\" fill=\"none\"/></svg>Verifizierter Kauf</span></span></header><p class=\"a-rcard__stars\" aria-label=\"5 von 5 Sternen\">\u2605\u2605\u2605\u2605\u2605</p>${r.titel ? `<h3>${r.titel}</h3>` : \"\"}<p class=\"a-rcard__text\">${ohneEmoji(r.text)}</p>${r.duft ? `<p class=\"a-rcard__duft\">${id ? `<img data-p=\"${id}\" alt=\"\">` : \"\"}${r.duft}</p>` : \"\"}</article>`;\n  };\n  const bandStimme = (l) => l === \"her\" ? STIMMEN.find((x) => x.duft === \"ziba\") : STIMMEN.find((x) => x.linie === \"him\");\n  const crow = $(\"[data-compl]\");\n  const complBox = $(\".a-compl\");\n  const breit = matchMedia(\"(min-width: 900px)\");\n  const karteB = (r) => {\n    const id = duftId(r.duft);\n    return `<article class=\"a-rk\"><header class=\"a-rk__kopf\"><span class=\"a-rk__av\" aria-hidden=\"true\">${r.name[0]}</span><span class=\"a-rk__wer\"><strong>${r.name}</strong><span class=\"a-rk__ok\">${SIEGEL}Verifizierter Kauf</span></span></header><p class=\"a-rk__stars\" aria-label=\"5 von 5 Sternen\">\u2605\u2605\u2605\u2605\u2605</p>${r.titel ? `<h3 class=\"a-rk__titel\">${r.titel}</h3>` : \"\"}<p class=\"a-rk__text\">${ohneEmoji(r.text)}</p>${r.duft ? `<footer class=\"a-rk__fuss\"><span class=\"a-rk__duft\">${id ? `<img data-p=\"${id}\" alt=\"\">` : \"\"}${r.duft}</span></footer>` : \"\"}</article>`;\n  };\n  const complZeige = (l = getLinie()) => {\n    const alle = [...BEWERTUNGEN.filter((r) => r.linie === l), ...STIMMEN.filter((x) => x.linie === l && x !== bandStimme(l)).map((x) => ({ name: x.name, text: x.text, duft: x.duft ? LINES[l].scents.find((y) => y.id === x.duft).name : null }))];\n    const reihen = [alle];\n    crow.innerHTML = reihen.map((r, i) => `<div class=\"a-compl__band${reihen.length > 1 && !i ? \" a-compl__band--hinten\" : \"\"}${i ? \" a-compl__band--zwei\" : \"\"}\" style=\"--dauer:${r.length * (breit.matches ? i ? 9 : 13 : 7)}s\"><div class=\"a-compl__lauf\">${r.map(karteB).join(\"\")}</div><div class=\"a-compl__lauf\" aria-hidden=\"true\" inert>${r.map(karteB).join(\"\")}</div></div>`).join(\"\");\n    $$(\"img[data-p]\", crow).forEach((im) => bild(im, flakon(im.dataset.p), \"40px\"));\n  };\n  complZeige();\n  onLinie(complZeige);\n  breit.addEventListener(\"change\", () => complZeige());\n  $(\"[data-compl-pause]\")?.addEventListener(\"click\", (e) => {\n    const an = complBox.classList.toggle(\"is-pause\");\n    e.currentTarget.setAttribute(\"aria-pressed\", an);\n    e.currentTarget.setAttribute(\"aria-label\", an ? \"Bewertungen weiterlaufen lassen\" : \"Bewertungen anhalten\");\n  });\n  duftprofil($(\"[data-finder]\"), { linie: getLinie(), ui });\n  onLinie((l) => duftprofil($(\"[data-finder]\"), { linie: l, ui }));\n  const track = $(\"[data-rail-track]\");\n  const railZeige = (l) => {\n    const LIMITIERT = [\"odyssey\", \"calypso\"];\n    const liste = [...LINES[l].scents].map((x) => LIMITIERT.includes(x.id) ? { ...x, neu: false } : x).sort((a, b) => (b.ausverkauft ? 1 : 0) - (a.ausverkauft ? 1 : 0) || (b.bestseller ? 1 : 0) - (a.bestseller ? 1 : 0) || (b.id === LEITDUFT[l]) - (a.id === LEITDUFT[l]));\n    track.replaceChildren(...liste.map((s) => karte(l, s)));\n    track.scrollLeft = 0;\n    $(\"[data-rail-title]\").textContent = `D\u00FCfte ${l === \"her\" ? \"f\u00FCr Sie\" : \"f\u00FCr Ihn\"}`;\n  };\n  const blaettern = (r) => track.scrollBy({ left: r * (track.clientWidth + 16), behavior: \"smooth\" });\n  $(\"[data-rail-prev]\").addEventListener(\"click\", () => blaettern(-1));\n  $(\"[data-rail-next]\").addEventListener(\"click\", () => blaettern(1));\n  railZeige(getLinie());\n  onLinie(railZeige);\n  const kolBox = $(\"[data-kol]\");\n  const regal = (id, gross) => new URL(`https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__img__a__${gross ? \"regal-gross\" : \"regal\"}__${id}.webp?v=3`, import.meta.url).href;\n  const pf = (id) => id, fr = (id) => id;\n  const REGAL_H = { serum: 0.42, \"ziba-mist\": 0.7 };\n  const kkTouch = !matchMedia(\"(hover: hover) and (pointer: fine)\").matches;\n  const KOL = {\n    \"invisible-code\": { name: \"The Invisible Code\", zeile: \"F\u00FCr Ihn \u00B7 5 D\u00FCfte\", bild: \"a/v3/k-invisible-code\", href: SEITEN.kollektion(\"invisible\"), flakons: [\"invisible\", \"veron\", \"the-chosen\", \"santal-obsidian\", \"azure\"].map(pf) },\n    \"extreme-invisible-code\": { name: \"Invisible Code Extreme\", zeile: \"F\u00FCr Ihn \u00B7 5 D\u00FCfte, intensiver\", bild: \"a/v3/k-extreme-invisible-code\", href: SEITEN.kollektion(\"invisible-extreme\"), flakons: [\"invisible\", \"veron\", \"the-chosen\", \"santal-obsidian\", \"azure\"].map((id) => fr(`${id}-extreme`)) },\n    luxury: { name: \"Luxury Collection\", zeile: \"F\u00FCr beide \u00B7 3 D\u00FCfte\", bild: \"a/v3/k-luxury\", href: SEITEN.kollektion(\"luxury\"), flakons: [\"vanilla-obsession\", \"velour-noir\", \"spicy-kiss\"].map(fr) },\n    \"limited-editions\": { name: \"Odyssey & Calypso\", zeile: (() => { const da = [...LINES.her.scents, ...LINES.him.scents].filter((x) => x.kollektion === \"limited\" && x.available).map((x) => x.name); return da.length ? `Limited Edition \u00B7 ${da.join(\" & \")} erh\u00E4ltlich` : \"Limited Edition \u00B7 ausverkauft\"; })(), bild: \"a/v3/k-limited-editions\", href: SEITEN.limited, aus: ![...LINES.her.scents, ...LINES.him.scents].some((x) => x.kollektion === \"limited\" && x.available), flakons: [\"odyssey\", \"calypso\"].map(pf) },\n    \"body-skin\": { name: \"Body & Skin\", zeile: \"Pflege f\u00FCr Haut und K\u00F6rper\", bild: \"a/v3/k-body-skin\", href: SEITEN.bodySkin(), flakons: [\"the-oaked-wash\", \"serum\", \"ziba-mist\", \"blanc-musk-wash\"].map(fr) },\n    \"eternal-code\": { name: \"The Eternal Code\", zeile: \"F\u00FCr Sie \u00B7 3 D\u00FCfte\", bild: \"a/v3/k-eternal-code\", href: SEITEN.kollektion(\"eternal\"), flakons: [\"ziba\", \"vera\", \"nova\"].map(pf) },\n    \"extreme-eternal-code\": { name: \"Eternal Code Extreme\", zeile: \"F\u00FCr Sie \u00B7 3 D\u00FCfte, intensiver\", bild: \"a/v3/k-extreme-eternal-code\", href: SEITEN.kollektion(\"eternal-extreme\"), flakons: [\"ziba\", \"vera\", \"nova\"].map((id) => fr(`${id}-extreme`)) }\n  };\n  const KOL_REIHE = {\n    him: [\"invisible-code\", \"extreme-invisible-code\", \"limited-editions\", \"luxury\", \"body-skin\", \"eternal-code\", \"extreme-eternal-code\"],\n    her: [\"eternal-code\", \"extreme-eternal-code\", \"limited-editions\", \"luxury\", \"body-skin\", \"invisible-code\", \"extreme-invisible-code\"]\n  };\n  const flak = (f, i, gross) => `<img src=\"${regal(f, gross)}\" alt=\"\" loading=\"lazy\" style=\"--i:${i}; --rh:${REGAL_H[f] || 1}\">`;\n  const kkSeite = (c, rueck) => `<span class=\"a-kk__flaeche${rueck ? \" a-kk__flaeche--rueck\" : \"\"}\"${rueck ? ' aria-hidden=\"true\"' : \"\"}>\n        <img class=\"a-kk__bild\" data-kk=\"${c.bild}\" alt=\"\">\n        ${c.aus ? '<span class=\"a-kk__mark\">Ausverkauft</span>' : \"\"}\n        <span class=\"a-kk__fuss\">\n          <span class=\"a-kk__produkte\" aria-hidden=\"true\" style=\"--n:${c.flakons.length}\">${c.flakons.map((f, i) => flak(f, i, true)).join(\"\")}</span>\n          <span class=\"a-kk__name\">${c.name}</span>\n          <span class=\"a-kk__zeile\">${c.zeile}<span class=\"a-kk__pfeil\" aria-hidden=\"true\">&#8594;</span></span>\n        </span>\n      </span>`;\n  const kolZeige = (l) => {\n    kolBox.dataset.kk = kkTouch ? \"dreh\" : \"hover\";\n    kolBox.innerHTML = KOL_REIHE[l].map((k) => {\n      const c = KOL[k];\n      return `<div class=\"a-kk-platz\" data-k=\"${k}\">\n      <a class=\"a-kk${c.aus ? \" a-kk--aus\" : \"\"}\" href=\"${c.href}\"><span class=\"a-kk__dreher\">${kkSeite(c)}${kkTouch ? kkSeite(c, true) : \"\"}</span></a>\n      ${kkTouch ? `<button type=\"button\" class=\"a-kk__dreh\" aria-pressed=\"false\" aria-label=\"Produkte von ${c.name} zeigen\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 12a8 8 0 0 1 13.7-5.6M20 12a8 8 0 0 1-13.7 5.6\"/><path d=\"M18 3v4h-4M6 21v-4h4\"/></svg><span class=\"a-kk__dreh-wort\" aria-hidden=\"true\">Produkte</span></button>` : \"\"}\n    </div>`;\n    }).join(\"\");\n    $$(\"img[data-kk]\", kolBox).forEach((im) => bild(im, im.dataset.kk, \"(min-width: 900px) 25vw, 70vw\"));\n    kolBox.scrollLeft = 0;\n  };\n  kolBox.addEventListener(\"click\", (e) => {\n    const knopf = e.target.closest(\".a-kk__dreh\");\n    if (!knopf) return;\n    const platz = knopf.closest(\".a-kk-platz\"), an = !platz.classList.contains(\"is-gedreht\"), name = KOL[platz.dataset.k].name;\n    platz.classList.remove(\"is-hinweis\");\n    platz.classList.remove(\"is-drehend\");\n    void platz.offsetWidth;\n    platz.classList.add(\"is-drehend\");\n    platz.classList.toggle(\"is-gedreht\", an);\n    knopf.setAttribute(\"aria-pressed\", an);\n    knopf.setAttribute(\"aria-label\", an ? `Bild von ${name} zeigen` : `Produkte von ${name} zeigen`);\n    setTimeout(() => {\n      $(\".a-kk__dreh-wort\", knopf).textContent = an ? \"Bild\" : \"Produkte\";\n    }, 380);\n    try {\n      sessionStorage.setItem(\"kk-hinweis\", \"1\");\n    } catch (_) {\n    }\n  });\n  kolBox.addEventListener(\"animationend\", (e) => {\n    const platz = e.target.closest(\".a-kk-platz\");\n    if (!platz) return;\n    if (e.animationName === \"kkAtmen\" && e.target.classList.contains(\"a-kk\")) platz.classList.remove(\"is-drehend\");\n    if (e.animationName === \"kkAnkippen\") platz.classList.remove(\"is-hinweis\");\n  });\n  if (kkTouch && !ruhig()) {\n    let gesehen = false;\n    try {\n      gesehen = sessionStorage.getItem(\"kk-hinweis\") === \"1\";\n    } catch (_) {\n    }\n    if (!gesehen) {\n      const beob = new IntersectionObserver((es) => {\n        if (!es.some((x) => x.isIntersecting)) return;\n        beob.disconnect();\n        setTimeout(() => {\n          const erste = kolBox.querySelector(\".a-kk-platz:not(.is-gedreht)\");\n          erste?.classList.add(\"is-hinweis\");\n        }, 700);\n        try {\n          sessionStorage.setItem(\"kk-hinweis\", \"1\");\n        } catch (_) {\n        }\n      }, { threshold: 0.7 });\n      beob.observe(kolBox);\n    }\n  }\n  kolZeige(getLinie());\n  onLinie(kolZeige);\n  const kolSchritt = () => (kolBox.firstElementChild?.offsetWidth || 300) + 16;\n  $(\"[data-kol-prev]\").addEventListener(\"click\", () => kolBox.scrollBy({ left: -kolSchritt(), behavior: \"smooth\" }));\n  $(\"[data-kol-next]\").addEventListener(\"click\", () => kolBox.scrollBy({ left: kolSchritt(), behavior: \"smooth\" }));\n  const pfeileFolgen = (box, zurueck, weiter) => {\n    const set = () => {\n      const anfang = box.scrollLeft <= 2, ende = box.scrollLeft + box.clientWidth >= box.scrollWidth - 2;\n      zurueck.setAttribute(\"aria-disabled\", String(anfang));\n      weiter.setAttribute(\"aria-disabled\", String(ende));\n    };\n    box.addEventListener(\"scroll\", set, { passive: true });\n    addEventListener(\"resize\", set, { passive: true });\n    new MutationObserver(() => requestAnimationFrame(set)).observe(box, { childList: true });\n    set();\n  };\n  pfeileFolgen(track, $(\"[data-rail-prev]\"), $(\"[data-rail-next]\"));\n  pfeileFolgen(kolBox, $(\"[data-kol-prev]\"), $(\"[data-kol-next]\"));\n  const stage = $(\"[data-stage]\");\n  let stageMenge = 3, stageLinie = \"him\";\n  const stageCta = () => {\n    const c = $(\"[data-stage-cta]\");\n    const t = TIERS.find((x) => x.qty === stageMenge);\n    c.href = ((u) => `${u}${u.includes(\"?\") ? \"&\" : \"?\"}menge=${stageMenge}`)(SEITEN.kollektion(KOLLEKTION_DER_LINIE[stageLinie]));\n    c.innerHTML = `<span class=\"a-stage__cta-lang\">${t.label} zusammenstellen</span><span class=\"a-stage__cta-kurz\">${t.qty === 1 ? \"Duft w\u00E4hlen\" : \"Set zusammenstellen\"}</span> <span>${formatCHF(t.price)}</span>`;\n  };\n  const stageTiers = () => {\n    $(\"[data-stage-tiers]\").innerHTML = TIERS.map((t) => `<button type=\"button\" role=\"radio\" aria-checked=\"${t.qty === stageMenge}\" data-q=\"${t.qty}\"><strong>${t.label}</strong><span>${t.qty === 1 ? \"50 ml\" : t.note}</span><em>${formatCHF(t.price)}</em><small>${t.perUnit ? `= ${formatCHF(t.perUnit)} pro Flakon` : \"&nbsp;\"}</small>${t.qty === 3 ? \"<b>Am beliebtesten</b>\" : \"\"}</button>`).join(\"\");\n    $$(\"[data-q]\", stage).forEach((b) => b.addEventListener(\"click\", () => {\n      stageMenge = +b.dataset.q;\n      stageTiers();\n      stageCta();\n    }));\n  };\n  const stageSetze = (l) => {\n    stageLinie = l;\n    stage.dataset.stage = l;\n    const sb = $(\"[data-stage-img]\");\n    bild(sb, `a/stage-${l}`, \"(min-width: 900px) 58vw, 100vw\");\n    sb.alt = l === \"her\" ? \"Ziba, Vera und Nova auf hellem Stein im Studiolicht.\" : \"V\u00E9ron, Invisible und The Chosen auf dunklem Stein im Spotlicht.\";\n    stageCta();\n  };\n  stageTiers();\n  stageSetze(getLinie());\n  onLinie(stageSetze);\n  const scene = $(\"[data-stage-scene]\");\n  if (scene && matchMedia(\"(hover: hover) and (prefers-reduced-motion: no-preference)\").matches) {\n    scene.addEventListener(\"pointermove\", (e) => {\n      const r = scene.getBoundingClientRect();\n      scene.style.setProperty(\"--mx\", ((e.clientX - r.left) / r.width - 0.5).toFixed(3));\n      scene.style.setProperty(\"--my\", ((e.clientY - r.top) / r.height - 0.5).toFixed(3));\n    });\n    scene.addEventListener(\"pointerleave\", () => {\n      scene.style.setProperty(\"--mx\", 0);\n      scene.style.setProperty(\"--my\", 0);\n    });\n  }\n  const discBox = $(\".a-disc\");\n  const DISC_INHALT = { him: [\"invisible\", \"the-chosen\", \"veron\", \"azure\", \"santal-obsidian\"], her: [\"ziba\", \"nova\", \"vera\"] };\n  const discSetze = (l) => {\n    const d = DISCOVERY.find((x) => x.line === l);\n    const ids = DISC_INHALT[l];\n    const namen = ids.map((id) => LINES[l].scents.find((s) => s.id === id).name);\n    discBox.dataset.linie = l;\n    $$(\"[data-disc-l]\", discBox).forEach((b) => b.setAttribute(\"aria-checked\", b.dataset.discL === l));\n    $(\"[data-disc-eyebrow]\").textContent = \"Discovery Set\";\n    const im = $(\"[data-disc-img]\");\n    bild(im, hatBild(`a/disc-${l === \"her\" ? \"women\" : \"men\"}`) ? `a/disc-${l === \"her\" ? \"women\" : \"men\"}` : `produkte/${d.id}`, \"(min-width: 900px) 46vw, 100vw\");\n    im.alt = `${d.name}: die Box mit ${ids.length} Proben (${namen.join(\", \")}) auf hellem Stein.`;\n    $(\"[data-disc-lede]\").textContent = `${ids.length === 5 ? \"F\u00FCnf\" : \"Drei\"} D\u00FCfte als Probe im Set. So findest du deinen Duft in Ruhe, bevor du dich f\u00FCr einen Flakon entscheidest.`;\n    const noten = ids.map((id) => LINES[l].scents.find((s) => s.id === id).keywords.split(\", \").slice(0, 2).map((n) => `<span>${n}</span>`).join(\"\"));\n    $(\"[data-disc-vials]\").innerHTML = ids.map((id, i) => `<li><span class=\"a-disc__fl\"><img data-p=\"${id}\" alt=\"\"></span><strong>${namen[i]}</strong><small>${noten[i]}</small></li>`).join(\"\");\n    $(\"[data-disc-vials]\").dataset.anzahl = ids.length;\n    $$(\"[data-disc-vials] img\", discBox).forEach((x) => bild(x, flakon(x.dataset.p), \"80px\"));\n    $(\"[data-disc-price]\").textContent = formatCHF(d.price);\n    $(\"[data-disc-was]\").textContent = formatCHF(d.compareAt);\n    $(\"[data-disc-save]\").textContent = `Du sparst ${formatCHF(d.compareAt - d.price)}`;\n    $(\"[data-disc-add]\").onclick = (e) => {\n      cart.addDiscovery(d.id);\n      ui.open(e.currentTarget);\n    };\n  };\n  discSetze(getLinie());\n  onLinie(discSetze);\n  $$(\"[data-disc-l]\", discBox).forEach((b) => b.addEventListener(\"click\", () => discSetze(b.dataset.discL)));\n  const welt = $(\"[data-welt]\");\n  if (welt) {\n    const film = $(\"[data-welt-film]\", welt), knopf = $(\"[data-welt-pause]\", welt);\n    const ruhig2 = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n    if (matchMedia(\"(max-width: 899px)\").matches) film.poster = \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__video__welt__welt-1x1.jpg\";\n    let sicht = false, angehalten = ruhig2;\n    const spielen = () => {\n      if (sicht && !angehalten) film.play().catch(() => {\n      });\n      else film.pause();\n    };\n    new IntersectionObserver(([e]) => {\n      sicht = e.isIntersecting;\n      spielen();\n    }, { threshold: 0.25 }).observe(film);\n    const knopfSetzen = () => {\n      welt.classList.toggle(\"is-pause\", angehalten);\n      knopf.setAttribute(\"aria-pressed\", angehalten);\n      knopf.setAttribute(\"aria-label\", angehalten ? \"Film abspielen\" : \"Film anhalten\");\n    };\n    knopf.addEventListener(\"click\", () => {\n      angehalten = !angehalten;\n      knopfSetzen();\n      spielen();\n    });\n    knopfSetzen();\n    const lauf = () => {\n      const b = film.getBoundingClientRect(), h = innerHeight;\n      const p = ruhig2 ? 1 : Math.min(1, Math.max(0, (h - b.top) / (h * 0.75)));\n      welt.style.setProperty(\"--p\", p.toFixed(3));\n      welt.classList.toggle(\"is-da\", p > 0.08);\n    };\n    addEventListener(\"scroll\", () => requestAnimationFrame(lauf), { passive: true });\n    addEventListener(\"resize\", lauf);\n    lauf();\n  }\n  const RIECH = {\n    him: { duft: \"invisible\", name: \"Invisible\", lede: \"Frisch im ersten Moment, warm auf der Haut. Und nah genug, dass man dich darauf anspricht.\" },\n    her: { duft: \"ziba\", name: \"Ziba\", lede: \"Orangenbl\u00FCte im ersten Moment, Vanille, die bleibt. Ein Duft, nach dem man dich fragt.\" }\n  };\n  const riechBox = $(\"[data-riech]\");\n  const riechSetze = (l) => {\n    const r = RIECH[l];\n    if (!riechBox || !r) return;\n    const duft = LINES[l].scents.find((x) => x.id === r.duft);\n    $(\"[data-riech-kicker]\", riechBox).textContent = LINES[l].name;\n    $(\"[data-riech-titel]\", riechBox).textContent = `So riecht ${r.name}.`;\n    $(\"[data-riech-lede]\", riechBox).textContent = r.lede;\n    $(\"[data-riech-noten]\", riechBox).innerHTML = [[\"kopf\", \"Zuerst\"], [\"herz\", \"Dann\"], [\"basis\", \"Was bleibt\"]].map(([k, t], i) => `<li style=\"--i:${i}\"><span>${t}</span><strong>${duft.pyramid[k].split(\", \").slice(0, 2).join(\", \")}</strong></li>`).join(\"\");\n    const cta = $(\"[data-riech-cta]\", riechBox);\n    cta.textContent = `${r.name} entdecken`;\n    cta.href = SEITEN.duft(r.duft);\n    $$(\"[data-riech-e]\", riechBox).forEach((im) => {\n      im.src = `https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__img__a__riech__${r.duft}-${im.dataset.riechE}.webp`;\n    });\n  };\n  riechSetze(getLinie());\n  onLinie(riechSetze);\n  if (riechBox) {\n    const ruhig2 = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n    const lauf = () => {\n      const b = riechBox.getBoundingClientRect(), h = innerHeight;\n      const p = ruhig2 ? 1 : Math.min(1, Math.max(0, (h - b.top) / (h * 0.9)));\n      riechBox.style.setProperty(\"--p\", p.toFixed(3));\n      riechBox.classList.toggle(\"is-offen\", p > 0.55);\n    };\n    addEventListener(\"scroll\", () => requestAnimationFrame(lauf), { passive: true });\n    addEventListener(\"resize\", lauf);\n    lauf();\n  }\n  const faqFl = $(\"[data-faq-fl]\");\n  const faqSetze = () => {\n    if (!faqFl || faqFl.firstChild) return;\n    faqFl.innerHTML = '<img src=\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__img__a__finder__faq-flakon.webp\" alt=\"\" width=\"268\" height=\"600\">';\n  };\n  faqSetze(getLinie());\n  onLinie(faqSetze);\n  const faqKlapp = (d, auf) => {\n    const s = $(\"summary\", d), antwort = $(\"p\", d);\n    d.getAnimations().forEach((a) => a.cancel());\n    const von = d.offsetHeight;\n    if (auf) {\n      d.classList.remove(\"is-zu\");\n      d.open = true;\n    } else d.classList.add(\"is-zu\");\n    const bis = auf ? d.offsetHeight : s.offsetHeight;\n    d.style.overflow = \"hidden\";\n    const lauf = d.animate({ height: [`${von}px`, `${bis}px`] }, { duration: auf ? 520 : 420, easing: \"cubic-bezier(.2,.7,.2,1)\" });\n    antwort?.getAnimations().forEach((a) => a.cancel());\n    antwort?.animate(auf ? { opacity: [0, 1], transform: [\"translateY(-6px)\", \"none\"] } : { opacity: [1, 0] }, { duration: auf ? 520 : 200, delay: auf ? 80 : 0, easing: \"ease-out\", fill: auf ? \"backwards\" : \"forwards\" });\n    lauf.onfinish = () => {\n      if (!auf) {\n        d.open = false;\n        d.classList.remove(\"is-zu\");\n        antwort?.getAnimations().forEach((a) => a.cancel());\n      }\n      d.style.overflow = \"\";\n    };\n  };\n  $$(\".a-faq__list details\").forEach((d) => $(\"summary\", d).addEventListener(\"click\", (e) => {\n    if (matchMedia(\"(prefers-reduced-motion: reduce)\").matches) return;\n    e.preventDefault();\n    const auf = !d.open || d.classList.contains(\"is-zu\");\n    if (auf) $$(\".a-faq__list details[open]\").forEach((x) => x !== d && !x.classList.contains(\"is-zu\") && faqKlapp(x, false));\n    faqKlapp(d, auf);\n  }));\n  const BAND = {\n    her: { bild: \"a/ziba-paar-v8\", hoch: \"a/ziba-paar-v8-hoch\", alt: \"In einem hellen Raum mit Vorh\u00E4ngen fl\u00FCstert ein Mann einer lachenden Frau etwas ins Ohr, vorne auf dem Marmortisch steht Ziba.\", kicker: \"Ziba \u00B7 Leitduft f\u00FCr Sie\", st: bandStimme(\"her\"), cta: [\"Ziba entdecken\", SEITEN.duft(\"ziba\")], ton: \"hell\" },\n    him: { bild: \"a/kompliment-him\", hoch: \"a/kompliment-him-hoch\", alt: \"In einer Hotelbar lehnt sich eine Frau zum Hals eines Mannes und riecht seinen Duft, er l\u00E4chelt.\", kicker: \"F\u00FCr Ihn \u00B7 verifizierter Kauf\", st: bandStimme(\"him\"), cta: [\"Invisible entdecken\", SEITEN.duft(\"invisible\")], ton: \"dunkel\" }\n  };\n  const bandSetze = (l) => {\n    const b = BAND[l], box = $(\"[data-banner]\");\n    if (!box) return;\n    const im = $(\"[data-banner-img]\", box);\n    bild(im, handy && b.hoch && hatBild(b.hoch) ? b.hoch : b.bild, \"100vw\");\n    im.alt = b.alt;\n    box.dataset.ton = b.ton;\n    box.dataset.linie = l;\n    $(\"[data-banner-kicker]\", box).textContent = b.kicker;\n    $(\"[data-banner-title]\", box).textContent = `\u00AB${b.st.kurz}\u00BB`;\n    $(\"[data-banner-by]\", box).textContent = `${b.st.name}, verifizierter Kauf`;\n    const c = $(\"[data-banner-cta]\", box);\n    c.textContent = b.cta[0];\n    c.href = b.cta[1];\n  };\n  bandSetze(getLinie());\n  onLinie(bandSetze);\n  const linienBox = $(\".a-lines\");\n  const linienSetze = (l) => {\n    if (!linienBox) return;\n    const karten = $$(\".a-line\", linienBox);\n    const erste = karten.find((a) => a.getAttribute(\"href\").includes(`linie=${l}`));\n    if (erste && linienBox.firstElementChild !== erste) linienBox.prepend(erste);\n    linienBox.scrollLeft = 0;\n  };\n  linienSetze(getLinie());\n  onLinie(linienSetze);\n  const STORY = {\n    him: { bild: \"a/stufe-3-was-bleibt\", alt: \"Der Flakon Invisible am sp\u00E4ten Abend auf einer Marmorbar, daneben eine Kerze und ein Glas.\" },\n    her: { bild: \"a/her-stufe-3\", alt: \"Der Flakon Ziba am sp\u00E4ten Abend auf einer Marmorbar, daneben eine Kerze, ein Glas und ein Seidentuch.\" }\n  };\n  const storySetze = (l) => {\n    const im = $(\"[data-story-img]\"), c = $(\"[data-story-cta]\");\n    if (!im) return;\n    const s = STORY[l];\n    bild(im, hatBild(s.bild) ? s.bild : STORY.him.bild, \"100vw\");\n    im.alt = s.alt;\n    if (c) {\n      c.href = SEITEN.kollektion(KOLLEKTION_DER_LINIE[l]);\n      c.textContent = `D\u00FCfte ${l === \"her\" ? \"f\u00FCr Sie\" : \"f\u00FCr Ihn\"}`;\n    }\n  };\n  storySetze(getLinie());\n  onLinie(storySetze);\n  const werk = $(\"[data-werk]\");\n  if (werk) {\n    const knoepfe = $$(\"[data-werk-k]\", werk), bilder = $$(\"[data-werk-bild]\", werk), seg = $(\"[data-werk-seg]\", werk);\n    seg.innerHTML = knoepfe.map(() => \"<span><i></i></span>\").join(\"\");\n    const segs = [...seg.children];\n    let i = 0;\n    const folien = $$(\"[data-werk-f]\", werk);\n    const zeige = (n) => {\n      i = (n + knoepfe.length) % knoepfe.length;\n      knoepfe.forEach((b, k) => {\n        b.setAttribute(\"aria-selected\", String(k === i));\n        b.classList.toggle(\"is-an\", k === i);\n        b.classList.toggle(\"is-durch\", k < i);\n      });\n      folien.forEach((f, k) => f.classList.toggle(\"is-an\", k === i));\n      bilder.forEach((im, k) => im.classList.toggle(\"is-an\", k === i));\n      segs.forEach((s, k) => {\n        s.classList.toggle(\"is-an\", k === i);\n        s.classList.toggle(\"is-durch\", k < i);\n      });\n    };\n    const neuStart = () => {\n      werk.classList.add(\"is-neu\");\n      void werk.offsetWidth;\n      werk.classList.remove(\"is-neu\");\n    };\n    zeige(0);\n    knoepfe.forEach((b, k) => b.addEventListener(\"click\", () => {\n      if (k === i) neuStart();\n      zeige(k);\n    }));\n    werk.addEventListener(\"animationend\", (e) => {\n      if (e.animationName === \"werk-lauf\" && e.target.closest(\".is-an\") && e.target.offsetParent) zeige(i + 1);\n    });\n    $(\"[data-werk-weiter]\", werk).addEventListener(\"click\", () => zeige(i + 1));\n    $(\"[data-werk-zurueck]\", werk).addEventListener(\"click\", () => zeige(i - 1));\n    let x0 = null;\n    const buehne = $(\".a-werk__buehne\", werk);\n    buehne.addEventListener(\"touchstart\", (e) => {\n      x0 = e.touches[0].clientX;\n    }, { passive: true });\n    buehne.addEventListener(\"touchend\", (e) => {\n      if (x0 === null) return;\n      const dx = e.changedTouches[0].clientX - x0;\n      x0 = null;\n      if (Math.abs(dx) > 40) zeige(i + (dx < 0 ? 1 : -1));\n    });\n    const pause = $(\"[data-werk-pause]\", werk);\n    pause.addEventListener(\"click\", () => {\n      const an = werk.classList.toggle(\"is-pause\");\n      pause.setAttribute(\"aria-pressed\", String(an));\n      pause.setAttribute(\"aria-label\", an ? \"Ablauf fortsetzen\" : \"Ablauf anhalten\");\n    });\n    if (ruhig()) werk.classList.add(\"is-ruhig\");\n    new IntersectionObserver(([e]) => werk.classList.toggle(\"is-sicht\", e.isIntersecting), { rootMargin: \"-33% 0px -33% 0px\" }).observe(werk);\n    const WIRKUNG = {\n      him: { titel: \"Was Invisible ausl\u00F6st.\", text: \"Er bleibt nah an der Haut, dort, wo jemand dir nahe kommt, und enth\u00E4lt Pheromon-\u00E4hnliche Botenstoffe. Was das ausl\u00F6st, erz\u00E4hlen unsere Kunden:\", zitat: \"\u00ABIch bekomme Komplimente, wo ich es nie erwartet h\u00E4tte. Der Duft ist so besonders, ich kann es weder zuordnen noch beschreiben, einfach magisch anders.\u00BB\", name: \"Andreas, verifizierter Kauf\", bild: \"a/v3/w6-wirkung-ihn\", hoch: \"a/v3/w6-wirkung-ihn-handy\", alt: \"Sp\u00E4t in einer Hotelbar neigt sich eine Frau zu seinem Hals, um seinen Duft zu riechen; er l\u00E4chelt nach unten.\" },\n      her: { titel: \"Was Eternal Code ausl\u00F6st.\", text: \"Weich im ersten Moment, dann bleibt er nah an der Haut, dort, wo jemand dir nahe kommt. Mit Pheromon-\u00E4hnlichen Botenstoffen. Was das ausl\u00F6st, erz\u00E4hlen unsere Kundinnen:\", zitat: \"\u00ABIch nutze es seit zwei Wochen und fast jeden Tag sagt jemand \u2039du riechst gut\u203A. So oft habe ich noch nie Komplimente bekommen.\u00BB\", name: \"Laura R., verifizierter Kauf\", bild: \"a/v3/w6-wirkung-sie\", hoch: \"a/v3/w6-wirkung-sie-handy\", alt: \"Dieselbe Hotelbar: Ein Mann neigt sich zu ihrem Hals, um ihren Duft zu riechen; sie lacht.\" }\n    };\n    const wirkungSetze = (l) => {\n      const w = WIRKUNG[l];\n      $(\"[data-werk-w-titel]\", werk).textContent = w.titel;\n      $(\"[data-werk-w-text]\", werk).textContent = w.text;\n      $(\"[data-werk-w-zitat]\", werk).textContent = w.zitat;\n      $(\"[data-werk-w-name]\", werk).textContent = w.name;\n      const im = $(\"[data-werk-wirkung]\", werk);\n      bild(im, handy && w.hoch ? w.hoch : w.bild, \"(min-width: 900px) 64vw, 100vw\");\n      im.alt = w.alt;\n    };\n    wirkungSetze(getLinie());\n    onLinie(wirkungSetze);\n  }\n  const schluss = $(\"[data-schluss]\");\n  if (schluss) {\n    const SCHLUSS = { him: \"a/ende-him\", her: \"a/ende-her\" };\n    const schlussSetze = (l) => {\n      const im = $(\"[data-schluss-img]\", schluss), c = $(\"[data-schluss-cta]\", schluss);\n      bild(im, SCHLUSS[l], \"(min-width: 900px) 50vw, 100vw\");\n      c.href = SEITEN.kollektion(KOLLEKTION_DER_LINIE[l]);\n      c.textContent = `D\u00FCfte ${l === \"her\" ? \"f\u00FCr Sie\" : \"f\u00FCr Ihn\"}`;\n    };\n    schlussSetze(getLinie());\n    onLinie(schlussSetze);\n    const da = new IntersectionObserver((es) => es.forEach((e) => {\n      if (e.isIntersecting) {\n        e.target.classList.add(\"is-da\");\n        da.unobserve(e.target);\n      }\n    }), { rootMargin: \"0px 0px -12% 0px\" });\n    $$(\".u-rein, .u-route\", schluss).forEach((el) => matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? el.classList.add(\"is-da\") : da.observe(el));\n  }\n}\nif ($(\".a-pdp\") && !document.documentElement.dataset.variante) produkt();\nfunction produkt() {\n  const params = zrParams();\n  const seite = document.body.dataset.seite === \"kollektion\" ? \"kollektion\" : \"duft\";\n  const ausUrl = findScent(params.get(\"duft\")) || LUXURY.find((s) => s.id === params.get(\"duft\")) || null;\n  const limitDuft = seite === \"duft\" && ausUrl?.kollektion === \"limited\" ? ausUrl : null;\n  const linieAusDuft = (ausUrl?.available || limitDuft) && ausUrl.kollektion !== \"luxury\" ? LINES.her.scents.some((x) => x.id === ausUrl.id) ? \"her\" : \"him\" : null;\n  let koll = seite === \"kollektion\" ? KOLLEKTIONEN[params.get(\"k\")] || KOLLEKTIONEN[KOLLEKTION_DER_LINIE[linieAusDuft || getLinie()]] : ausUrl?.kollektion === \"luxury\" ? KOLLEKTIONEN.luxury : null;\n  if (koll && koll.linie !== \"beide\") setLinie(koll.linie, { url: false });\n  else if (linieAusDuft) setLinie(linieAusDuft);\n  let linie = getLinie();\n  const eigenesSortiment = () => Boolean(koll && (koll.extreme || koll.id === \"luxury\"));\n  const limitHier = (s) => s.kollektion === \"limited\" && ((s.id === \"odyssey\" && (koll ? koll.id === \"invisible\" : linie === \"him\")) || (s.id === \"calypso\" && (koll ? koll.id === \"eternal\" : linie === \"her\")));\n  const sortiment = () => limitDuft ? { name: \"Limited Edition\", scents: [limitDuft], lead: limitDuft.id } : eigenesSortiment() ? { name: koll.name, scents: koll.duefte.concat(LINES[koll.linie]?.scents.filter((x) => limitHier(x) && !koll.duefte.includes(x)) || []), lead: koll.extreme ? `${LEITDUFT[koll.linie]}-extreme` : koll.vorschlag[0] } : { ...LINES[linie], scents: LINES[linie].scents.filter((s) => s.kollektion !== \"limited\" || limitHier(s)) };\n  let line = sortiment();\n  // Singles Day 11.11.: Kaufbox \u00ABAlles doppelt\u00BB nur mit ?aktion=doppelt (VIP-Seite), normale Kollektionsseiten bleiben unver\u00E4ndert\n  const DOPPELT = seite === \"kollektion\" && !limitDuft && params.get(\"aktion\") === \"doppelt\" && params.get(\"box\") !== \"alt\";\n  const DOPPELT_MAX = 3;\n  const SD_PREIS = {\"1\": 89.99, \"2\": 149.99, \"3\": 219.99};\n  const verdoppelt = (st) => DOPPELT ? Array.from({ length: DOPPELT_MAX }, (_, k) => k + 1).map((n) => ({ qty: n, price: st === TIERS ? SD_PREIS[n] : Math.round(st[0].price * n * 100) / 100, wert: Math.round(st[0].price * n * 200) / 100, label: `${n} + ${n}` })) : st;\n  let staffel = limitDuft ? [{ qty: 1, price: limitDuft.price, label: \"1 Flakon\" }] : verdoppelt(eigenesSortiment() ? koll.staffel : TIERS);\n  if (DOPPELT) {\n    document.documentElement.dataset.aktion = \"doppelt\";\n    // Intelligems-Membership-Test (Gruppe B) im Aktionsmodus ausschalten, sonst \u00FCberschreibt er die Kacheln\n    const mbWeg = () => [\"zr-membership\", \"zr-karten\"].forEach((k) => document.documentElement.classList.contains(k) && document.documentElement.classList.remove(k));\n    mbWeg();\n    new MutationObserver(mbWeg).observe(document.documentElement, { attributes: true, attributeFilter: [\"class\"] });\n    if (!document.querySelector(\"link[data-sd11-kaufbox]\")) document.head.insertAdjacentHTML(\"beforeend\", `<link rel=\"stylesheet\" href=\"${new URL(\"zr-sd11-kaufbox.css?v=sd2135\", import.meta.url).href}\" data-sd11-kaufbox>`);\n    // Links innerhalb des Shops behalten den Aktionsmodus (Kollektionswechsel)\n    document.addEventListener(\"click\", (e) => {\n      const a = e.target.closest?.(\"a[href*='/products/']\");\n      if (!a || a.href.includes(\"aktion=\")) return;\n      try { const u = new URL(a.href); if (u.host === location.host) { u.searchParams.set(\"aktion\", \"doppelt\"); a.href = u.href; } } catch {}\n    }, true);\n  }\n  let duft = line.scents.find((s) => s.id === params.get(\"duft\") && (s.available || limitDuft)) || line.scents.find((s) => s.id === line.lead);\n  const limitAus = () => Boolean(limitDuft && limitDuft.status !== \"verfuegbar\");\n  // T8: Intelligems setzt window.zrMembership evtl. erst nach dem Start dieses Moduls, darum neu berechenbar (Event zr:membership)\n  const aboBerechnen = () => window.ZR?.aboAn && (membership() || !window.zrOhneAbo && !document.documentElement.classList.contains(\"zr-ohne-abo\")) && params.get(\"abo\") !== \"0\" && (koll?.duefte || (KOLLEKTIONEN[KOLLEKTION_DER_LINIE[linie]]?.duefte) || [0]).filter((d) => d?.kollektion !== \"limited\").every((d) => (window.ZR.produkte?.[d?.id]?.abo || []).length) && params.get(\"box\") !== \"alt\" && !limitDuft && !DOPPELT && koll?.id !== \"luxury\" ? { rabatt: 0, monat: true } : null;\n  let ABO = aboBerechnen();\n  let abo = Boolean(ABO);\n  const aboMenge = (m) => m === 1 || m === 3 || m === 5 && MEMBERSHIP_ABO_5 && membership() && staffel === TIERS;\n  const aboAktiv = () => abo && aboMenge(menge);\n  const aboAbzug = (t, an = abo) => !(an && ABO && staffel === TIERS && aboMenge(t.qty)) ? 0 : membership() ? MEMBERSHIP_ABZUG[t.qty] || 0 : t.qty === 3 ? 19.05 : 0;\n  const WASCH = () => (koll?.linie || linie) === \"her\" ? \"BLANC MUSK\" : \"THE OAKED\";\n  document.body.dataset.linie = linie;\n  if (limitDuft) document.body.dataset.kollektion = \"limited\";\n  else if (eigenesSortiment()) document.body.dataset.kollektion = koll.id;\n  else delete document.body.dataset.kollektion;\n  const boxNeu = params.get(\"box\") !== \"alt\";\n  document.documentElement.classList.toggle(\"box-neu\", boxNeu);\n  if (boxNeu) {\n    const sterne = $(\".a-buy .a-stars\");\n    sterne.innerHTML = `<span class=\"a-stars__s\" aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605</span><strong>4.8</strong><span class=\"a-stars__t\">\u00FCber 30.000 Kunden</span>`;\n    sterne.setAttribute(\"aria-label\", \"Bewertung 4.8 von 5, \u00FCber 30.000 Kunden, zu den Bewertungen\");\n    $(\".a-buy__titlerow\").after(sterne);\n    const bis = cart.datumKurz(cart.lieferdatum(/* @__PURE__ */ new Date(), 3));\n    const bisKurz = bis.replace(/^[^,]+,\\s*/, \"\");\n    $(\".a-buy .a-trust\").innerHTML = [\n      [\"garantie\", \"Geld zur\u00FCck, auch ge\u00F6ffnet\", \"30 Tage lang testen\", \"Geld zur\u00FCck\", \"Auch ge\u00F6ffnet\"],\n      [\"versand\", \"Gratis Versand ab 100 \u20AC\", \"mit DHL\", \"Gratis Versand\", \"ab 100 \u20AC\"]\n    ].map(([i, t, z, tk, zk]) => `<li><span class=\"a-ico\">${ikon(i)}</span><span><strong><span class=\"a-tr-l\">${t}</span><span class=\"a-tr-k\">${tk}</span></strong><span class=\"a-tr-l\">${z}</span><span class=\"a-tr-k\">${zk}</span></span></li>`).join(\"\");\n    const lager = document.createElement(\"p\");\n    lager.className = \"a-lager\";\n    lager.innerHTML = `<strong>Auf Lager</strong><span class=\"a-lager__route\" aria-hidden=\"true\"><span class=\"a-lager__punkt\"></span><span class=\"a-lager__weg\"></span><span class=\"a-lager__ring\"></span></span><span class=\"a-lager__ziel\">Bei dir bis <b>${bis}</b></span>`;\n    new IntersectionObserver((es, o) => es.forEach((e) => {\n      if (e.isIntersecting) {\n        lager.classList.add(\"is-da\");\n        o.disconnect();\n      }\n    }), { threshold: 0.8 }).observe(lager);\n    $(\".a-buy [data-add]\").before(lager);\n    if (limitAus()) {\n      lager.classList.add(\"a-lager--aus\");\n      lager.innerHTML = `<strong>Ausverkauft</strong><span class=\"a-lager__ziel\">Limitiert auf 250 Flakons</span>`;\n    }\n  }\n  const notify = document.createElement(\"div\");\n  notify.className = \"a-notify\";\n  notify.hidden = true;\n  notify.innerHTML = '<label class=\"a-notify__label\" for=\"a-notify-mail\">Deine E-Mail f\u00FCr den n\u00E4chsten Drop</label><div class=\"a-notify__zeile\"><input id=\"a-notify-mail\" type=\"email\" autocomplete=\"email\" inputmode=\"email\" placeholder=\"name@beispiel.de\" data-notify-mail><button type=\"button\" class=\"a-btn a-btn--buy a-notify__go\" data-notify-go>Eintragen</button></div><p class=\"a-notify__msg\" data-notify-msg role=\"status\" aria-live=\"polite\"></p>';\n  const notifyKey = () => `zois-benachrichtigen-${duft.id}`;\n  const eingetragen = () => {\n    try {\n      return localStorage.getItem(notifyKey()) === \"1\";\n    } catch {\n      return false;\n    }\n  };\n  const notifyMeldung = (t, fehler = false) => {\n    const m = $(\"[data-notify-msg]\", notify);\n    m.textContent = t;\n    m.classList.toggle(\"is-fehler\", fehler);\n  };\n  function notifySenden() {\n    const feld = $(\"[data-notify-mail]\", notify);\n    const ok = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/.test(feld.value.trim());\n    feld.setAttribute(\"aria-invalid\", String(!ok));\n    if (!ok) {\n      notifyMeldung(\"Bitte gib eine g\u00FCltige E-Mail-Adresse ein.\", true);\n      feld.focus();\n      return;\n    }\n    try {\n      localStorage.setItem(notifyKey(), \"1\");\n    } catch {\n    }\n    trackBenachrichtigen(duft.id);\n    window.ZR?.eintragen?.(feld.value.trim(), \"drop\", { drop_duft: duft.name });\n    $(\".a-notify__zeile\", notify).hidden = true;\n    $(\".a-notify__label\", notify).hidden = true;\n    notifyMeldung(`Du bist eingetragen. Wir schreiben dir, sobald der n\u00E4chste Drop kommt.`);\n  }\n  function notifyAuf() {\n    if (eingetragen()) {\n      notify.hidden = false;\n      $(\".a-notify__zeile\", notify).hidden = true;\n      $(\".a-notify__label\", notify).hidden = true;\n      notifyMeldung(\"Du bist schon eingetragen. Wir melden uns zum n\u00E4chsten Drop.\");\n      return;\n    }\n    notify.hidden = false;\n    $(\"[data-notify-mail]\", notify).focus();\n  }\n  if (limitAus()) {\n    $(\".a-buy [data-add]\").after(notify);\n    $(\"[data-notify-go]\", notify).addEventListener(\"click\", notifySenden);\n    $(\"[data-notify-mail]\", notify).addEventListener(\"keydown\", (e) => {\n      if (e.key === \"Enter\") {\n        e.preventDefault();\n        notifySenden();\n      }\n    });\n  }\n  const kvAlle = () => linie === \"her\" ? [{ name: \"kv/a-her-pool\", duft: \"ziba\", alt: \"Eine Frau in hellem Leinen am Hotelpool h\u00E4lt Ziba an den Hals.\" }] : [{ name: \"kv/a-him-pool\", duft: \"invisible\", alt: \"Ein Mann im hellen Leinenanzug spr\u00FCht Invisible am Hotelpool an den Hals.\" }];\n  const notenBild = (id) => [`a/frei-${id}`, `a/noten-${id}`].find((n) => hatBild(n)) || `produkte/${id}-front-frei`;\n  const LIVE_GAL = {\"invisible-extreme\": [\"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_143111_f25ae5b5-54e3-4a67-90cf-88e05f219e73.png?v=1781549169\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/freepik_recreate-the-exact-compos_27566961461_1.png?v=1775925982\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/freepik_closeup-to-medium-shot-85_27589929201_1.png?v=1775925982\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/DesignohneTitel_2.png?v=1775925983\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141356_d83907a5-9b43-470b-bb3c-62473b1f783b.png?v=1781549170\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141228_701c80f0-6570-4b14-8b6d-8b67049a690e.png?v=1781549169\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_143748_cc46c5a4-8d96-4bef-86f5-b13b6a18e1e9.png?v=1781549170\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141213_64e8e658-76c6-4ece-8eab-317dc8f6acd6.png?v=1781549170\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141357_80c36ecd-302f-46d6-8b22-3769f7388bb7.png?v=1781549170\"], \"eternal-extreme\": [\"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141129_d4b3a480-29da-4961-9581-086190edcf06.png?v=1781551255\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/freepik_recreate-img1-exactly.-re_27580747411.png?v=1775925984\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/freepik_same-composition-as-img1-_27592761791.png?v=1775925983\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/freepik_closeup-to-medium-shot-85_27590602901.png?v=1775925983\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/DesignohneTitel_3.png?v=1775925984\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141214_c15837c5-18d5-4edf-90b6-af788ee7bf4d.png?v=1781551257\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141315_54f92873-b288-4802-82bf-6ad44615caf6.png?v=1781551256\", \"https://cdn.shopify.com/s/files/1/0944/4871/4071/files/hf_20260603_141228_e2d2d377-8a1c-405b-b955-f2fb6ed019af.png?v=1781551257\"], \"invisible\": [\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/Codex-Bild_15._Sept._2026_00_28_38.png?v=1789424938\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/Codex-Bild_15._Sept._2026_00_25_33.png?v=1789424792\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik__create-a-premium-11-square-studio-product-image-us__757491.png?v=1773135943\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik_an-editorial-asymmetric-t_28080882271_1.png?v=1776501606\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik_an-editorial-comparison-c_28083189871_1.png?v=1776501760\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik_an-editorial-asymmetric-g_28084275001_1.png?v=1776501747\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141133_c9826455-31ac-489c-971f-06955afb954b.png?v=1781547910\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/creation_2087946103.png?v=1766050072\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_143330_606a7a09-435d-4bdd-a9d7-f1664d59459f.png?v=1781547910\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141134_ef3aaa85-e050-41eb-b91e-7f73482ec9e8.png?v=1781547913\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_142607_18826a54-c5ea-410b-a1dd-24af0bb0542e.png?v=1781547911\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_142448_2455bf86-a860-4606-867c-0220f2fdd6cf.png?v=1781547910\"], \"luxury\": [\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141130_6bcb006c-3d91-451b-95ec-766796c8dc51.png?v=1781597897\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/mainverpackungbildluxus_1.webp?v=1775944821\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/DesignohneTitel_1.png?v=1775955361\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik_premium-fragrance-campaig_2762897675_1_1.png?v=1775946393\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141343_9264fc9b-062f-4aef-83f9-535228a7ef4c.png?v=1781597897\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141336_8ade1b55-e2c7-432a-ace0-4c6e4c8fa72e.png?v=1781597897\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141252_9178ebe2-9f17-49ad-bdf3-ff4abbcf7584.png?v=1781597898\"], \"eternal\": [\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141103_4047e7df-2b93-4874-80e0-a64ba46fc146.png?v=1781550691\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/creation_2088280713.png?v=1766049884\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zoisfrauen.png?v=1771404709\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik_an-editorial-asymmetric-t_28080968781_1.png?v=1776502205\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260926_082943_2fce5820-5132-4467-9732-b715d3e673c8.png?v=1790411780\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik_an-editorial-comparison-c_28083483541_1.png?v=1776502210\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/freepik_an-editorial-asymmetric-g_28084521391_1.png?v=1776502210\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141213_4711c021-ef42-437f-9d82-a8b2ed64db9b.png?v=1781550687\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141313_936f5afc-d664-4fc1-8dda-7a99052c1e9c.png?v=1781550688\", \"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/hf_20260603_141346_799cb1cb-1f0c-4ed9-a03d-0686882ca347.png?v=1781550688\"]};\n  function galerie() {\n    const live = seite === \"kollektion\" && !limitDuft && koll && (koll.extreme && /extreme/.test(location.pathname) && (window.ZR?.medien || []).length > 1 ? window.ZR.medien.map((u) => u.startsWith(\"//\") ? `https:${u}` : u) : LIVE_GAL[koll.id]) || seite === \"duft\" && (window.ZR?.medien || []).length > 1 && window.ZR.medien.map((u) => u.startsWith(\"//\") ? `https:${u}` : u);\n    const bilder = live ? live.map((url) => ({ url })) : [\n      { name: `produkte/${duft.id}-front`, alt: `${duft.name}, 50 ml Flakon, von vorne` },\n      { notes: true },\n      { name: `produkte/${duft.id}-3q`, alt: `${duft.name}, 50 ml Flakon, schr\u00E4g` },\n      ...kvAlle().filter((k) => k.duft === duft.id).map((k) => ({ ...k, life: true })),\n      { video: UGC[linie][0] }\n    ];\n    if (boxNeu && bilder.some((b) => b.video)) bilder.splice(1, 0, ...bilder.splice(bilder.findIndex((b) => b.video), 1));\n    if (!live && document.documentElement.dataset.reg === \"dunkel\") bilder[0] = { ...bilder[0], buehne: true, name: flakon(duft.id) };\n    const track = $(\"[data-gal-track]\");\n    const thumbs = $(\"[data-gal-thumbs]\");\n    const dots = $(\"[data-gal-dots]\");\n    track.replaceChildren();\n    thumbs.replaceChildren();\n    dots.replaceChildren();\n    const gezeigt = [];\n    bilder.forEach((b) => {\n      const fig = document.createElement(\"figure\");\n      if (b.notes) {\n        fig.className = \"a-gal__slide a-gal__slide--notes\";\n        fig.innerHTML = `<div class=\"a-info\"><p class=\"a-info__k\">${duft.name} \u00B7 Extrait de Parfum</p><ol>${[[\"Kopfnote\", \"kopf\", \"die ersten Minuten\"], [\"Herznote\", \"herz\", \"die n\u00E4chsten Stunden\"], [\"Basisnote\", \"basis\", \"was bleibt\"]].map(([t, k, z]) => `<li><span>${t}</span><strong>${duft.pyramid[k]}</strong><em>${z}</em></li>`).join(\"\")}</ol><p class=\"a-info__f\">Bis zu 12h \u00B7 bis zu 30% Parf\u00FCm\u00F6l \u00B7 Swiss Made</p></div>`;\n        fig.setAttribute(\"aria-label\", `Duftnoten von ${duft.name}`);\n        track.append(fig);\n        gezeigt.push({ notes: true });\n        return;\n      }\n      if (b.video) {\n        fig.className = \"a-gal__slide a-gal__slide--video\";\n        fig.innerHTML = `<video src=\"${zrVideo(`ugc-${b.video}`)}\" poster=\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__video__ugc-${b.video}.jpg\" muted loop playsinline autoplay preload=\"metadata\"></video>`;\n        track.append(fig);\n        gezeigt.push(b);\n        return;\n      }\n      if (b.url) {\n        fig.className = \"a-gal__slide a-gal__slide--live\";\n        const im = document.createElement(\"img\");\n        im.src = `${b.url}&width=1200`;\n        im.srcset = [600, 900, 1200, 1600].map((w) => `${b.url}&width=${w} ${w}w`).join(\", \");\n        im.sizes = \"(min-width: 900px) 56vw, 100vw\";\n        im.alt = `${koll?.name || document.title.split(/[|\u2013-]/)[0].trim()}, Bild ${gezeigt.length + 1}`;\n        im.decoding = \"async\";\n        if (gezeigt.length) im.loading = \"lazy\";\n        fig.append(im);\n        track.append(fig);\n        gezeigt.push(b);\n        return;\n      }\n      if (b.buehne) {\n        fig.className = \"a-gal__slide a-gal__slide--buehne\";\n        const im2 = document.createElement(\"img\");\n        if (!gezeigt.length) im2.setAttribute(\"fetchpriority\", \"high\");\n        if (!bild(im2, b.name, \"(min-width: 900px) 40vw, 80vw\")) return;\n        im2.alt = b.alt;\n        im2.className = \"a-buehne__flakon\";\n        const sp = im2.cloneNode();\n        sp.alt = \"\";\n        sp.className = \"a-buehne__spiegel\";\n        sp.setAttribute(\"aria-hidden\", \"true\");\n        fig.innerHTML = '<span class=\"a-buehne__licht\" aria-hidden=\"true\"></span><span class=\"a-buehne__boden\" aria-hidden=\"true\"></span>';\n        fig.append(sp, im2);\n        track.append(fig);\n        gezeigt.push(b);\n        return;\n      }\n      fig.className = `a-gal__slide${b.life ? \" a-gal__slide--life\" : \"\"}`;\n      const im = document.createElement(\"img\");\n      if (!gezeigt.length) im.setAttribute(\"fetchpriority\", \"high\");\n      if (!bild(im, b.name, \"(min-width: 900px) 56vw, 100vw\")) return;\n      im.alt = b.alt;\n      if (!b.life && /\\/produkte\\//.test(im.srcset || im.src)) {\n        fig.classList.add(\"a-gal__slide--frei\");\n        const rand = () => {\n          try {\n            const c = document.createElement(\"canvas\");\n            c.width = c.height = 8;\n            const x = c.getContext(\"2d\", { willReadFrequently: true });\n            x.drawImage(im, 0, 0, 8, 8);\n            const farbe = (sx) => {\n              const d = x.getImageData(sx, 0, 1, 8).data;\n              const f = [0, 1, 2].map((k) => Math.round((d[k] + d[4 + k] + d[24 + k] + d[28 + k]) / 4));\n              return `rgb(${f})`;\n            };\n            fig.style.setProperty(\"--frei-l\", farbe(0));\n            fig.style.setProperty(\"--frei-r\", farbe(7));\n          } catch {\n          }\n        };\n        if (im.complete && im.naturalWidth) rand();\n        else im.addEventListener(\"load\", rand, { once: true });\n      }\n      fig.append(im);\n      track.append(fig);\n      gezeigt.push(b);\n    });\n    gezeigt.forEach((b, i) => {\n      const t = document.createElement(\"button\");\n      t.type = \"button\";\n      t.className = `a-gal__thumb${b.notes ? \" a-gal__thumb--notes\" : \"\"}${b.life ? \" a-gal__thumb--life\" : \"\"}`;\n      t.setAttribute(\"aria-label\", `Bild ${i + 1} von ${gezeigt.length} zeigen`);\n      if (b.notes) {\n        const im = document.createElement(\"img\");\n        im.loading = \"eager\";\n        im.decoding = \"sync\";\n        bild(im, notenBild(duft.id), \"96px\");\n        im.alt = \"\";\n        t.append(im);\n        t.insertAdjacentHTML(\"beforeend\", '<span class=\"a-gal__tag\">Noten</span>');\n        t.style.setProperty(\"--glas\", duft.glass);\n      } else if (b.video) t.innerHTML = `<img src=\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__video__ugc-${b.video}.jpg\" alt=\"\"><span class=\"a-gal__play\" aria-hidden=\"true\"></span>`;\n      else if (b.url) t.innerHTML = `<img src=\"${b.url}&width=200\" alt=\"\" loading=\"eager\">`;\n      else {\n        const im = document.createElement(\"img\");\n        im.loading = \"eager\";\n        im.decoding = \"sync\";\n        bild(im, b.name, \"96px\");\n        im.alt = \"\";\n        t.append(im);\n        if (b.buehne) t.classList.add(\"a-gal__thumb--buehne\");\n      }\n      t.addEventListener(\"click\", () => track.scrollTo({ left: i * track.clientWidth, behavior: \"smooth\" }));\n      thumbs.append(t);\n      dots.append(document.createElement(\"span\"));\n    });\n    const markiere = () => {\n      const i = Math.round(track.scrollLeft / Math.max(1, track.clientWidth));\n      [...thumbs.children].forEach((t, j) => t.setAttribute(\"aria-current\", String(i === j)));\n      [...dots.children].forEach((d, j) => d.classList.toggle(\"is-on\", i === j));\n    };\n    track.onscroll = () => requestAnimationFrame(markiere);\n    track.scrollLeft = 0;\n    markiere();\n  }\n  function zweiZeilen() {\n    const el = $(\"[data-buy-charakter]\");\n    if (!el || !$(\".a-buy__z2\", el)) return;\n    const zeilen = () => Math.round(el.getBoundingClientRect().height / parseFloat(getComputedStyle(el).lineHeight));\n    const z2 = $(\".a-buy__z2\", el);\n    z2.dataset.voll ??= z2.innerHTML;\n    z2.innerHTML = z2.dataset.voll;\n    el.style.fontSize = \"\";\n    if (zeilen() <= 2) return;\n    z2.innerHTML = '<a class=\"a-buy__noten\" href=\"#duftnoten\">Alle Duftnoten</a>';\n    for (let px = parseFloat(getComputedStyle(el).fontSize) - 1; zeilen() > 2 && px >= 13; px -= 1) el.style.fontSize = `${px}px`;\n  }\n  if (!zweiZeilen.an) {\n    zweiZeilen.an = true;\n    let t;\n    addEventListener(\"resize\", () => {\n      clearTimeout(t);\n      t = setTimeout(zweiZeilen, 120);\n    });\n    document.fonts?.ready.then(zweiZeilen);\n  }\n  function kopf2() {\n    document.title = `${seite === \"kollektion\" && koll ? koll.name : duft.name} \u00B7 ZOIS`;\n    $(\"[data-line-kicker]\").textContent = koll?.id === \"luxury\" ? `F\u00FCr Sie und f\u00FCr Ihn \u00B7 ${line.name}` : `${linie === \"her\" ? \"F\u00FCr Sie\" : \"F\u00FCr Ihn\"} \u00B7 ${line.name}`;\n    $(\"[data-name]\").innerHTML = nameHtml(duft.name);\n    const badge = $(\"[data-badge]\");\n    badge.textContent = limitAus() ? \"Ausverkauft\" : \"Bestseller\";\n    badge.classList.toggle(\"is-aus\", limitAus());\n    badge.hidden = !limitAus();\n    let marke = $(\".a-gal__marke\");\n    if (!marke) {\n      marke = document.createElement(\"span\");\n      marke.className = \"a-gal__marke\";\n      $(\".a-gal\")?.prepend(marke);\n    }\n    marke.textContent = \"Bestseller\";\n    marke.hidden = !(duft.bestseller && !limitAus());\n    const track = $(\"[data-gal-track]\");\n    const setzeMarke = () => {\n      const op = marke.offsetParent;\n      if (!track || !op) return;\n      const r = track.getBoundingClientRect(), o = op.getBoundingClientRect();\n      marke.style.setProperty(\"--gal-x\", `${r.left - o.left}px`);\n      marke.style.setProperty(\"--gal-y\", `${r.top - o.top}px`);\n    };\n    setzeMarke();\n    if (!kopf2.marke) {\n      kopf2.marke = true;\n      addEventListener(\"resize\", setzeMarke);\n    }\n    const st = STIMMEN.find((s) => s.duft === duft.id) || STIMMEN.find((s) => s.linie === linie);\n    $(\"[data-checks]\").innerHTML = [[\"zeit\", \"Bis zu 12h haltbar\", \"Bis zu 12h\"], [\"oel\", \"Bis zu 30% reines Parf\u00FCm\u00F6l\", \"bis 30% Parf\u00FCm\u00F6l\"], [\"swiss\", \"Extrait de Parfum, Swiss Made\", \"Swiss Made\"]].map(([i, t, k]) => `<li><span class=\"a-ico\">${ikon(i)}</span><span class=\"a-checks__lang\">${t}</span><span class=\"a-checks__kurz\">${k}</span></li>`).join(\"\");\n    if (boxNeu) $(\"[data-checks]\").innerHTML = [[\"zeit\", \"Bis zu 12h\", \"haltbar\"], [\"oel\", koll?.extreme ? \"Bis 40%\" : \"Bis 30%\", \"reines Parf\u00FCm\u00F6l\"], [\"swiss-linie\", \"Swiss Made\", \"Extrait de Parfum\"]].map(([i, t, z]) => `<li><strong><span class=\"a-ico\">${ikon(i)}</span>${t}</strong><span>${z}</span></li>`).join(\"\");\n    $(\"[data-sticky-name]\").innerHTML = nameHtml(duft.name);\n    $(\"[data-sticky-name]\").style.setProperty(\"--zeichen\", String(duft.name.replace(/ Extreme$/, \"\").length + (/ Extreme$/.test(duft.name) ? 6 : 0)));\n    $(\".a-sticky\")?.classList.toggle(\"is-langname\", duft.name.length > 19);\n    $(\"[data-buy-charakter]\").textContent = `${STIL[duft.id] || \"\"} \u00B7 ${duft.keywords}`;\n    if (boxNeu && PROFIL[duft.id]) {\n      const [familie, satz] = PROFIL[duft.id];\n      const [noten, ...wirkung] = satz.split(/(?<=\\.)\\s+/);\n      $(\"[data-buy-charakter]\").innerHTML = `<span class=\"a-buy__z1\"><strong>${familie}.</strong> ${noten}</span> <span class=\"a-buy__z2\">${wirkung.join(\" \")} <a class=\"a-buy__noten\" href=\"#duftnoten\">Alle Duftnoten</a></span>`;\n      zweiZeilen();\n    }\n    const d = DISCOVERY.find((x) => x.line === linie);\n    $(\"[data-upsell-text]\").innerHTML = `Discovery Set<span class=\"a-upsell__proben\"> \u00B7 Proben</span> \u00B7 ${formatCHF(d.price)}`;\n    bild($(\"[data-upsell-img]\"), d.img.replace(\"/assets/img/\", \"\"), \"64px\");\n    $(\"[data-upsell]\").onclick = (e) => {\n      e.preventDefault();\n      cart.addDiscovery(d.id);\n      ui.open(e.currentTarget);\n    };\n    const eigene = BEWERTUNGEN.filter((r) => r.linie === (koll?.id === \"luxury\" ? \"luxury\" : linie));\n    stimmeInKaufbox(eigene.filter((r) => r.duft === duft.name).length ? eigene.filter((r) => r.duft === duft.name) : eigene);\n    const vertrauen = boxNeu ? params.get(\"vertrauen\") || \"videos\" : null;\n    if (vertrauen) vertrauenInKaufbox(vertrauen, [...eigene.filter((r) => r.duft === duft.name), ...eigene.filter((r) => r.duft !== duft.name)], linie);\n  }\n  let menge = 3;\n  let plaetze = [];\n  let popPlatz = -1;\n  let zwillinge = [];\n  let popZw = false;\n  let popOpener = null;\n  let gedaechtnis = [];\n  let sheetVerlauf = false;\n  let platz1Auto = true;\n  const neuGesetzt = /* @__PURE__ */ new Set();\n  let warKomplett = null;\n  const merke = () => {\n    plaetze.forEach((x, i) => {\n      gedaechtnis[i] = x;\n    });\n  };\n  let lieferbar = line.scents.filter((s) => s.available);\n  const sichtbar = () => line.scents.filter((s) => s.available || s.kollektion !== \"limited\" || limitHier(s));\n  const ausverkauft = () => line.scents.filter((s) => !s.available && (s.kollektion !== \"limited\" || limitHier(s)));\n  const GUIDE_TEXT = {\n    invisible: \"Verf\u00FChrerische Bittermandel, t\u00FCrkische Rose, warme Vanille. F\u00FCr subtile Dominanz.\",\n    \"the-chosen\": \"Elegante Kaffeebohne, Tabakbl\u00E4tter, warmer Amber. F\u00FCr etablierte Erfolgreiche.\",\n    \"santal-obsidian\": \"Kraftvolles Mandelpulver, Tonkabohnen, tiefes Sandelholz. F\u00FCr nat\u00FCrliche Autorit\u00E4t.\",\n    azure: \"Spritzige Limette, Meeresbrise, trockener Amber. F\u00FCr sportliche Frische.\",\n    veron: \"Edles Safran, warmes Leder, Tonkabohne. F\u00FCr den zeitlosen Mann.\",\n    odyssey: \"Frische Zitrone, w\u00FCrziger Kardamom, marines Amber. F\u00FCr M\u00E4nner, die Neues wagen.\"\n  };\n  function guideZeigen(an) {\n    const g = document.querySelector(\"[data-guide]\");\n    if (!g) return;\n    g.classList.toggle(\"is-offen\", an);\n    g.setAttribute(\"aria-hidden\", an ? \"false\" : \"true\");\n    document.querySelector(\"[data-guide-schleier]\")?.classList.toggle(\"is-offen\", an);\n    if (an) g.scrollTop = 0;\n  }\n  function guideAufbauen(pop, liste) {\n    if (!$(\"[data-guide-btn]\", pop)) {\n      const gbtn = document.createElement(\"button\");\n      gbtn.type = \"button\";\n      gbtn.className = \"a-dw__gbtn\";\n      gbtn.dataset.guideBtn = \"\";\n      gbtn.innerHTML = '<i aria-hidden=\"true\">?</i><span>Unsicher? Duft-Guide \u00F6ffnen</span><u aria-hidden=\"true\">\u203A</u>';\n      liste.before(gbtn);\n      const g = document.createElement(\"div\");\n      g.className = \"a-dw__guide\";\n      g.dataset.guide = \"\";\n      g.setAttribute(\"role\", \"dialog\");\n      g.setAttribute(\"aria-label\", \"Duft-Guide\");\n      g.setAttribute(\"aria-hidden\", \"true\");\n      g.innerHTML = '<div class=\"a-dw__gkopf\"><button type=\"button\" class=\"a-dw__gzurueck\" data-guide-zu aria-label=\"Zur\u00FCck zur Auswahl\">\u2039</button><b>Duft-Guide</b><span></span></div><div data-guide-liste></div>';\n      const gs = document.createElement(\"div\");\n      gs.className = \"a-dw__gschleier\";\n      gs.dataset.guideSchleier = \"\";\n      document.body.append(gs, g);\n      gbtn.addEventListener(\"click\", (e) => {\n        e.stopPropagation();\n        guideZeigen(true);\n      });\n      gs.addEventListener(\"click\", (e) => {\n        e.stopPropagation();\n        guideZeigen(false);\n      });\n      g.addEventListener(\"click\", (e) => {\n        e.stopPropagation();\n        if (e.target.closest(\"[data-guide-zu]\")) return guideZeigen(false);\n        const b = e.target.closest(\"[data-g]\");\n        if (!b || b.disabled) return;\n        guideZeigen(false);\n        $(`[data-id=\"${b.dataset.g}\"]`, liste)?.click();\n      });\n    }\n    const g = document.querySelector(\"[data-guide] [data-guide-liste]\");\n    g.innerHTML = [...lieferbar, ...ausverkauft()].map((s) => `<div class=\"a-dw__gi\"><img data-gp=\"${s.id}\" alt=\"\"><div><b>${s.name}${STIL[s.id] ? ` \u00B7 ${STIL[s.id]}` : \"\"}</b><p>${GUIDE_TEXT[s.id] || s.keywords || \"\"}</p></div><button type=\"button\" data-g=\"${s.id}\"${s.available ? \"\" : \" disabled\"}>${s.available ? \"W\u00E4hlen\" : \"Ausverkauft\"}</button></div>`).join(\"\");\n    $$(\"img[data-gp]\", g).forEach((im) => bild(im, flakon(im.dataset.gp), \"64px\"));\n    guideZeigen(false);\n  }\n  const sName = (id) => lieferbar.find((x) => x.id === id)?.name || \"\";\n  const offen = () => plaetze.filter((x) => !x).length;\n  const komplett = () => offen() === 0;\n  const tier = () => staffel.find((t) => t.qty === menge);\n  const istHandy = () => matchMedia(\"(max-width: 899px)\").matches;\n  const geschenk = () => DOPPELT || !window.ZR?.geschenkAn || limitDuft || !boxNeu || angebotB() && staffel === TIERS && !(membership() && aboAktiv()) ? null : PFLEGE.find((p) => p.id === GESCHENK[koll?.linie === \"beide\" ? \"beide\" : linie === \"her\" ? \"her\" : \"him\"]) || null;\n  let geschenkFrei = null;\n  function geschenkZeile() {\n    const g = geschenk();\n    let box = $(\"[data-geschenk]\");\n    if (!g) {\n      box?.remove();\n      return;\n    }\n    if (!box) {\n      box = document.createElement(\"div\");\n      box.className = \"a-dw__geschenk is-da\";\n      box.dataset.geschenk = \"\";\n      $(\"[data-plaetze]\").after(box);\n      const zumSet = () => {\n        if (menge === 1) setzeMenge(staffel.find((t) => t.qty === 3)?.qty || staffel[1]?.qty || 1);\n      };\n      box.addEventListener(\"click\", zumSet);\n      box.addEventListener(\"keydown\", (e) => {\n        if (menge === 1 && (e.key === \"Enter\" || e.key === \" \")) {\n          e.preventDefault();\n          zumSet();\n        }\n      });\n    }\n    if (box.dataset.id !== g.id) {\n      box.dataset.id = g.id;\n      box.innerHTML = `<div class=\"a-dw__g-in\"><div class=\"a-dw__g-karte\"><span class=\"a-dw__g-buehne\" aria-hidden=\"true\"><img class=\"a-dw__g-bild\" src=\"${new URL(`https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__img__a__geschenk-${g.id}-216.webp`, import.meta.url).href}\" srcset=\"${new URL(`https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__img__a__geschenk-${g.id}-216.webp`, import.meta.url).href} 216w, ${new URL(`https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__img__a__geschenk-${g.id}-432.webp`, import.meta.url).href} 432w\" sizes=\"56px\" alt=\"\"></span><span class=\"a-dw__g-text\"><span class=\"a-dw__g-kicker\">${ikon(\"geschenk\")}<span data-g-kicker></span></span><strong>${g.name} ${g.typ === \"wash\" ? \"Wash\" : g.zusatz}</strong><small>im Wert von ${formatCHF(g.price)}</small></span><span class=\"a-dw__g-linie\" aria-hidden=\"true\"><i></i></span></div><span class=\"a-dw__g-konf\" aria-hidden=\"true\"></span></div>`;\n    }\n    const ab = staffel.find((t) => t.qty > 1)?.qty || 3;\n    const teaser = menge === 1 && !aboAktiv();\n    const frei = !teaser && komplett();\n    const rest = offen();\n    $(\"[data-g-kicker]\", box).textContent = teaser ? `Ab ${ab} Flakons ist ein Geschenk dabei` : frei ? \"Dein Geschenk ist dabei\" : `Noch ${rest} ${rest === 1 ? \"Duft\" : \"D\u00FCfte\"} bis zu deinem Geschenk`;\n    box.style.setProperty(\"--g-fort\", teaser ? 0 : (menge - rest) / menge);\n    box.classList.toggle(\"is-teaser\", teaser);\n    box.classList.toggle(\"is-zu\", !frei);\n    box.classList.toggle(\"is-frei\", frei);\n    box.setAttribute(\"role\", teaser ? \"button\" : \"status\");\n    box.tabIndex = teaser ? 0 : -1;\n    if (frei && geschenkFrei === false && !ruhig()) {\n      box.classList.remove(\"is-moment\");\n      void box.offsetWidth;\n      box.classList.add(\"is-moment\");\n      $(\".a-dw__g-buehne\", box)?.animate([{ transform: \"scale(.86)\" }, { transform: \"scale(1.06)\", offset: 0.55 }, { transform: \"none\" }], { duration: 700, delay: 150, easing: \"cubic-bezier(.34, 1.36, .64, 1)\" });\n      setTimeout(() => konfettiAuf($(\".a-dw__g-konf\", box)), 380);\n      setTimeout(() => box.classList.remove(\"is-moment\"), 1400);\n    }\n    geschenkFrei = frei;\n  }\n  function aboKarten() {\n    if (!ABO) return;\n    let box = $(\"[data-abo]\");\n    if (!box) {\n      box = document.createElement(\"div\");\n      box.className = \"a-dw__abo\";\n      box.dataset.abo = \"\";\n      if (membership()) {\n        box.classList.add(\"a-dw__abo--mb\");\n        $(\"[data-seg]\").before(box);\n      } else $(\"[data-wahl]\").after(box);\n      box.innerHTML = membership() ? `<button type=\"button\" role=\"checkbox\" class=\"a-dw__mb\" data-abo-schalter aria-checked=\"${abo}\"><span class=\"a-dw__mb-box\" aria-hidden=\"true\"><svg viewBox=\"0 0 16 16\"><path d=\"M3.5 8.5 6.5 11.5 12.5 4.5\"/></svg></span><span class=\"a-dw__mb-text\"><span class=\"a-dw__mb-titel\"><b>ZO\u00CDS Membership</b><span class=\"a-dw__mb-pill\" data-mb-pill></span></span><small data-mb-zeile></small></span></button><p class=\"a-dw__ab-zeile a-dw__mb-mehr\"><button type=\"button\" class=\"a-dw__ab-mehr\" data-abo-mehr aria-expanded=\"false\" aria-controls=\"a-dw-abo-info\">So funktioniert's <svg viewBox=\"0 0 12 12\" aria-hidden=\"true\"><path d=\"M3 4.5 6 7.5 9 4.5\"/></svg></button></p><div class=\"a-dw__ab-info\" id=\"a-dw-abo-info\"><div class=\"a-dw__ab-info-in\"><ul><li data-abo-was></li><li data-abo-wahl></li><li>Versand immer gratis. \u00DCberspringen, pausieren oder k\u00FCndigen mit einem Klick.</li></ul></div></div>` : `<button type=\"button\" role=\"switch\" class=\"a-dw__ab-kopf\" data-abo-schalter aria-checked=\"${abo}\"><span class=\"a-dw__ab-ico\" aria-hidden=\"true\">${ikon(\"wieder\")}</span><span class=\"a-dw__ab-titel\">Als <b>ZO\u00CDS Membership Abo</b></span><span class=\"a-dw__switch\" aria-hidden=\"true\"><i></i></span></button><p class=\"a-dw__ab-zeile\"><span data-abo-preis></span><button type=\"button\" class=\"a-dw__ab-mehr\" data-abo-mehr aria-expanded=\"false\" aria-controls=\"a-dw-abo-info\" aria-label=\"Details zum Abo\"><svg viewBox=\"0 0 12 12\" aria-hidden=\"true\"><path d=\"M3 4.5 6 7.5 9 4.5\"/></svg></button></p><div class=\"a-dw__ab-info\" id=\"a-dw-abo-info\"><div class=\"a-dw__ab-info-in\"><ul><li data-abo-was></li><li data-abo-wahl></li><li>Versand immer gratis. \u00DCberspringen, pausieren oder k\u00FCndigen mit einem Klick.</li></ul></div></div>`;\n      $(\"[data-abo-schalter]\", box).addEventListener(\"click\", () => aboSetzen(!abo));\n      $(\"[data-abo-mehr]\", box).addEventListener(\"click\", (e) => {\n        const auf = e.currentTarget.getAttribute(\"aria-expanded\") !== \"true\";\n        e.currentTarget.setAttribute(\"aria-expanded\", String(auf));\n        box.classList.toggle(\"is-auf\", auf);\n      });\n    }\n    box.hidden = !aboMenge(menge);\n    $(\"[data-abo-was]\", box).textContent = membership() ? `Zum Start ${menge === 1 ? \"dein Duft\" : `deine ${menge} D\u00FCfte`} + ${WASCH() === \"BLANC MUSK\" ? \"BLANC MUSK Body Wash\" : \"THE OAKED 3-in-1 Shampoo\"}. Danach jeden Monat 1 Duft + ${WASCH() === \"BLANC MUSK\" ? \"BLANC MUSK Body Wash\" : \"THE OAKED 3-in-1 Shampoo\"} f\u00FCr 89,99 \u20AC.` : `Zum Start gibt es das ${WASCH()} Shampoo gratis dazu. ` + (menge === 1 ? `Monat 1 dein Duft, Monat 2 das ${WASCH()} Shampoo (39,90 \u20AC), dann wieder ein Duft. Immer im Wechsel.` : menge === 5 ? `Monat 1 deine 5 D\u00FCfte, Monat 2 bis ${MEMBERSHIP_SHAMPOO_MONATE_5 + 1} je das ${WASCH()} Shampoo (39,90 \u20AC), dann wieder 5 D\u00FCfte zum gleichen Preis.` : `Monat 1 deine 3 D\u00FCfte, Monat 2 und 3 je das ${WASCH()} Shampoo (39,90 \u20AC), dann wieder 3 D\u00FCfte zum gleichen Preis.`);\n    $(\"[data-abo-wahl]\", box).textContent = membership() ? \"Vor jeder Lieferung erinnern wir dich per Mail. Den Duft w\u00E4hlst du im Kundenkonto jederzeit neu.\" : \"Vor jeder Duft-Lieferung erinnern wir dich per Mail. Du kannst den Duft im Kundenkonto neu w\u00E4hlen.\";\n    $(\"[data-abo-schalter]\", box).setAttribute(\"aria-checked\", String(abo));\n    box.classList.toggle(\"is-an\", abo);\n    const t = tier();\n    if (membership()) {\n      const spar = aboAbzug(t, true);\n      $(\"[data-mb-pill]\", box).textContent = spar ? `${formatCHF(spar).replace(/,00(?= \u20AC)/, \"\")} sparen` : WASCH() === \"BLANC MUSK\" ? \"Body Wash gratis\" : \"Shampoo gratis\";\n      $(\"[data-mb-zeile]\", box).textContent = `Jeden Monat 1 Duft + ${WASCH() === \"BLANC MUSK\" ? \"BLANC MUSK Body Wash\" : \"THE OAKED 3-in-1 Shampoo\"} \u00B7 Jederzeit k\u00FCndbar`;\n      return;\n    }\n    $(\"[data-abo-preis]\", box).innerHTML = menge === 1 ? `<b>${formatCHF(t.price)}</b> + Shampoo gratis \u00B7 Versand gratis` : `<b>${formatCHF(t.price - aboAbzug(t, true))}</b>${aboAbzug(t, true) ? ` statt ${formatCHF(t.price)}` : \"\"} + Shampoo gratis \u00B7 Versand gratis`;\n  }\n  function aboSetzen(an) {\n    if (an === abo) return;\n    abo = an;\n    aboKarten();\n    segmente();\n    geschenkZeile();\n    preis();\n    if (!ruhig()) $(\"[data-price]\")?.animate([{ transform: \"translateY(6px)\", opacity: 0 }, { transform: \"none\", opacity: 1 }], { duration: 250, easing: \"cubic-bezier(.22, 1, .36, 1)\" });\n  }\n  function setzeMenge(m) {\n    merke();\n    menge = m;\n    plaetze = Array.from({ length: m }, (_, i) => gedaechtnis[i] || null);\n    if (!plaetze[0] || seite === \"duft\" && m === 1) plaetze[0] = duft.id;\n    popZu();\n    zeichne();\n  }\n  function segmente() {\n    const box = $(\"[data-seg]\");\n    const ep = (t) => Math.round((t.price - aboAbzug(t)) * 100) / 100;\n    const pro = (t) => aboAbzug(t) ? Math.round(ep(t) / t.qty * 100) / 100 : t.perUnit ?? (t.qty > 1 ? Math.round(t.price / t.qty * 100) / 100 : null);\n    if (DOPPELT) {\n      const glas = (frei) => `<svg class=\"sd-dop__glas${frei ? \" is-frei\" : \"\"}\" viewBox=\"0 0 8 14\" aria-hidden=\"true\"><rect x=\"2.6\" y=\".5\" width=\"2.8\" height=\"2.6\" rx=\".5\"/><rect x=\".6\" y=\"3.6\" width=\"6.8\" height=\"9.9\" rx=\"1.4\"/></svg>`;\n      const keine = menge > 3;\n      if (box.dataset.sdHalten) delete box.dataset.sdHalten; else {\n      box.classList.add(\"sd-v-liste\");\n      plaetze.forEach((id, i) => { if (!id) plaetze[i] = lieferbar[i % lieferbar.length]?.id || null; });\n      const opts = (sel) => lieferbar.map((s) => `<option value=\"${s.id}\"${s.id === sel ? \" selected\" : \"\"}>${s.name}</option>`).join(\"\");\n      const wahl = () => `<div class=\"sd-v__wahl\">${plaetze.map((id, i) => `<label class=\"sd-v__zeile\"><span>Flakon ${2 * i + 1}</span><select data-sel=\"${i}\">${opts(id)}</select></label><label class=\"sd-v__zeile\"><span>Flakon ${2 * i + 2}<em>gratis</em></span><select data-sel=\"${i}\" data-zw=\"1\">${opts(zwilling(i))}</select></label>`).join(\"\")}</div>`;\n      box.innerHTML = staffel.slice(0, 3).map((t) => `<div class=\"sd-v\" aria-checked=\"${t.qty === menge}\"><button type=\"button\" role=\"radio\" class=\"sd-v__knopf\" aria-checked=\"${t.qty === menge}\" tabindex=\"${t.qty === menge || keine && t.qty === 1 ? 0 : -1}\" data-m=\"${t.qty}\" aria-label=\"${t.qty} plus ${t.qty} gratis: ${t.qty * 2} Flakons f\u00FCr ${formatCHF(t.price)} statt ${formatCHF(t.wert)}\"><span class=\"sd-v__kopf-in\" style=\"display:contents\"><span class=\"sd-v__radio\" aria-hidden=\"true\"></span><span class=\"sd-v__txt\"><span class=\"sd-v__titel\">${t.qty} <em>+ ${t.qty} Gratis</em><i class=\"sd-v__chip\">${t.qty * 2} Flakons</i></span><span class=\"sd-v__spar\">Du sparst ${formatCHF(t.wert - t.price)}</span></span><span class=\"sd-v__preis\"><strong>${formatCHF(t.price)}</strong><s>${formatCHF(t.wert)}</s></span></span></button>${t.price >= 100 ? '<span class=\"sd-v__versand\">\u2713 Gratis Versand inklusive</span>' : \"\"}${t.qty === menge ? wahl() : \"\"}${t.qty === 2 ? '<b class=\"sd-v__tag\">Am beliebtesten</b>' : t.qty === 3 ? '<b class=\"sd-v__tag is-hell\">Bester Wert</b>' : \"\"}</div>`).join(\"\");\n      $$(\"[data-sel]\", box).forEach((s) => s.addEventListener(\"change\", () => {\n        const i = +s.dataset.sel;\n        if (s.dataset.zw) zwillinge[i] = s.value;\n        else { if (i === 0) platz1Auto = false; if (!zwillinge[i]) zwillinge[i] = plaetze[i]; plaetze[i] = s.value; gedaechtnis[i] = s.value; }\n        box.dataset.sdHalten = \"1\";\n        zeichne();\n      }));\n      }\n    } else box.innerHTML = staffel.map((t) => `<button type=\"button\" role=\"radio\" class=\"a-dw__s\" aria-checked=\"${t.qty === menge}\" tabindex=\"${t.qty === menge ? 0 : -1}\" data-m=\"${t.qty}\">\n      <span class=\"a-dw__q\">${t.label}</span><strong>${formatCHF(ep(t))}</strong><small>${pro(t) ? `${formatCHF(pro(t))}<span class=\"a-dw__pro\"> pro Flakon</span><span class=\"a-dw__je\"> / Flakon</span>` : \"50 ml\"}</small>${geschenk() && (membership() ? abo && aboMenge(t.qty) : t.qty > 1 || abo && ABO && t.qty === 1) ? `<em class=\"a-dw__s-g\">${ikon(\"geschenk\")}<span><span class=\"a-dw__s-mit\">mit </span>Geschenk</span></em>` : \"\"}${t.qty === 3 ? \"<b>Beliebt</b>\" : \"\"}</button>`).join(\"\");\n    $$(\"[data-m]\", box).forEach((b) => b.addEventListener(\"click\", () => setzeMenge(+b.dataset.m)));\n    box.onkeydown = (e) => {\n      if (![\"ArrowLeft\", \"ArrowRight\"].includes(e.key)) return;\n      e.preventDefault();\n      const i = staffel.findIndex((t) => t.qty === menge) + (e.key === \"ArrowRight\" ? 1 : -1);\n      if (staffel[i]) {\n        setzeMenge(staffel[i].qty);\n        $(`[data-m=\"${staffel[i].qty}\"]`, box).focus();\n      }\n    };\n    if (DOPPELT) mehrZeile();\n  }\n  function mehrZeile() {\n    if (DOPPELT_MAX <= 3) { $(\"[data-dop-mehr]\")?.remove(); return; }\n    const fokus = document.activeElement?.dataset?.mehr;\n    let z = $(\"[data-dop-mehr]\");\n    if (!z) {\n      z = document.createElement(\"div\");\n      z.dataset.dopMehr = \"\";\n      $(\"[data-seg]\").after(z);\n    }\n    const an = menge > 3;\n    const t = an ? tier() : staffel[3];\n    z.className = `sd-dop-mehr${an ? \" is-an\" : \"\"}`;\n    z.innerHTML = an ? `<span class=\"sd-dop-mehr__step\" role=\"group\" aria-label=\"Menge \u00FCber 3 + 3\"><button type=\"button\" class=\"sd-dop-mehr__b\" data-mehr=\"-1\" aria-label=\"Ein Paar weniger\">\u2212</button><span class=\"sd-dop__zahl\" aria-live=\"polite\">${menge}<i> + ${menge}</i></span><button type=\"button\" class=\"sd-dop-mehr__b\" data-mehr=\"1\" aria-label=\"Ein Paar mehr\"${menge >= DOPPELT_MAX ? \" disabled\" : \"\"}>+</button></span><span class=\"sd-dop-mehr__preis\"><strong>${formatCHF(t.price)}</strong><s>${formatCHF(t.wert)}</s></span>` : `<button type=\"button\" class=\"sd-dop-mehr__auf\" data-mehr=\"1\" aria-label=\"Mehr als 3 plus 3: ab 4 plus 4 f\u00FCr ${formatCHF(t.price)}\"><span class=\"sd-dop-mehr__t\">Mehr als 3 + 3</span><span class=\"sd-dop-mehr__ab\">ab 4 + 4 \u00B7 ${formatCHF(t.price)}</span><span class=\"sd-dop-mehr__plus\" aria-hidden=\"true\">+</span></button>`;\n    $$(\"[data-mehr]\", z).forEach((b) => b.addEventListener(\"click\", () => setzeMenge(Math.min(DOPPELT_MAX, Math.max(an ? 3 : 4, an ? menge + +b.dataset.mehr : 4)))));\n    if (fokus) ($(`[data-mehr=\"${fokus}\"]:not([disabled])`, z) || $(\"[data-mehr]\", z))?.focus({ preventScroll: true });\n  }\n  const zwilling = (i) => zwillinge[i] || plaetze[i];\n  const paarKarte = (id, i) => {\n    const z = zwilling(i);\n    return `<div class=\"a-dw__platz is-voll sd-paar\"><button type=\"button\" class=\"a-dw__pick\" data-i=\"${i}\" aria-label=\"Platz ${2 * i + 1} und ${2 * i + 2}: ${sName(id)} und ${sName(z)} gratis, tippen zum \u00C4ndern\"><span class=\"sd-paar__bild\"><img class=\"sd-paar__z\" data-p=\"${z}\" alt=\"\"><img class=\"sd-paar__a\" data-p=\"${id}\" alt=\"\"></span><span>${sName(id)} + ${sName(z)}</span></button><button type=\"button\" class=\"a-dw__x\" data-x=\"${i}\" aria-label=\"${sName(id)} aus Platz ${i + 1} entfernen\"><span aria-hidden=\"true\">\u00D7</span></button></div>`;\n  };\n  function platzKarten() {\n    const box = $(\"[data-plaetze]\");\n    if (DOPPELT) {\n      box.style.setProperty(\"--n\", Math.min(menge, 3));\n      box.innerHTML = plaetze.map((id, i) => id ? paarKarte(id, i) : `<button type=\"button\" class=\"a-dw__platz is-leer sd-paar\" data-i=\"${i}\" aria-label=\"Platz ${i + 1}: Duft w\u00E4hlen, ein zweiter kommt gratis dazu\"><span class=\"a-dw__plus\" aria-hidden=\"true\">+</span><span>Duft w\u00E4hlen</span><small class=\"sd-paar__g\">+ 1 gratis</small></button>`).join(\"\");\n      $$(\"img[data-p]\", box).forEach((im) => bild(im, flakon(im.dataset.p), \"80px\"));\n      if (!ruhig()) neuGesetzt.forEach((i) => {\n        const platz = box.children[i];\n        if (!platz?.classList.contains(\"is-voll\")) return;\n        $(\".sd-paar__a\", platz)?.animate([{ transform: \"translateY(12px) scale(.96)\", opacity: 0.35 }, { transform: \"none\", opacity: 1 }], { duration: 320, easing: AUS });\n        const a = $(\".sd-paar__a\", platz), z = $(\".sd-paar__z\", platz);\n        const weg = `translateX(${a.offsetLeft - z.offsetLeft}px)`;\n        z.animate([{ transform: weg, opacity: 0 }, { transform: weg, opacity: 0, offset: 0.3 }, { transform: \"none\", opacity: 1 }], { duration: 640, easing: AUS });\n        $(\".sd-paar__g\", platz)?.animate([{ opacity: 0, transform: \"translateY(4px)\" }, { opacity: 0, transform: \"translateY(4px)\", offset: 0.55 }, { opacity: 1, transform: \"none\" }], { duration: 720, easing: AUS });\n      });\n      neuGesetzt.clear();\n      $$(\"[data-i]\", box).forEach((b) => b.addEventListener(\"click\", (e) => {\n        e.stopPropagation();\n        popAuf(+b.dataset.i, b);\n      }));\n      $$(\"[data-z]\", box).forEach((b) => b.addEventListener(\"click\", (e) => {\n        e.stopPropagation();\n        popAuf(+b.dataset.z, b, true);\n      }));\n      $$(\"[data-x]\", box).forEach((b) => b.addEventListener(\"click\", (e) => {\n        e.stopPropagation();\n        const i = +b.dataset.x;\n        if (i === 0) platz1Auto = false;\n        plaetze[i] = null;\n        gedaechtnis[i] = null;\n        zwillinge[i] = null;\n        zeichne();\n        $(`[data-i=\"${i}\"]`, box)?.focus();\n      }));\n      return;\n    }\n    box.style.setProperty(\"--n\", menge);\n    box.innerHTML = plaetze.map((id, i) => id ? `<div class=\"a-dw__platz is-voll\"><button type=\"button\" class=\"a-dw__pick\" data-i=\"${i}\" aria-label=\"Platz ${i + 1}: ${sName(id)}, tippen zum \u00C4ndern\"><img data-p=\"${id}\" alt=\"\"><span>${sName(id)}</span></button><button type=\"button\" class=\"a-dw__x\" data-x=\"${i}\" aria-label=\"${sName(id)} aus Platz ${i + 1} entfernen\"><span aria-hidden=\"true\">\u00D7</span></button></div>` : `<button type=\"button\" class=\"a-dw__platz is-leer\" data-i=\"${i}\" aria-label=\"Platz ${i + 1}: Duft w\u00E4hlen\"><span class=\"a-dw__plus\" aria-hidden=\"true\">+</span><span>Duft w\u00E4hlen</span></button>`).join(\"\");\n    $$(\"img[data-p]\", box).forEach((im) => bild(im, flakon(im.dataset.p), \"80px\"));\n    if (!ruhig()) neuGesetzt.forEach((i) => {\n      const platz = box.children[i];\n      if (!platz?.classList.contains(\"is-voll\")) return;\n      const rand = document.createElement(\"span\");\n      rand.className = \"a-dw__rand\";\n      rand.setAttribute(\"aria-hidden\", \"true\");\n      platz.append(rand);\n      rand.animate([{ opacity: 1 }, { opacity: 0 }], { duration: 200, easing: \"ease-out\", fill: \"forwards\" }).onfinish = () => rand.remove();\n      $(\".a-dw__pick\", platz)?.animate([{ transform: \"translateY(12px) scale(.96)\", opacity: 0.35 }, { transform: \"none\", opacity: 1 }], { duration: 320, easing: AUS });\n    });\n    neuGesetzt.clear();\n    $$(\"[data-i]\", box).forEach((b) => b.addEventListener(\"click\", (e) => {\n      e.stopPropagation();\n      popAuf(+b.dataset.i, b);\n    }));\n    $$(\"[data-x]\", box).forEach((b) => b.addEventListener(\"click\", (e) => {\n      e.stopPropagation();\n      const i = +b.dataset.x;\n      if (i === 0) platz1Auto = false;\n      plaetze[i] = null;\n      gedaechtnis[i] = null;\n      zeichne();\n      $(`[data-i=\"${i}\"]`, box)?.focus();\n    }));\n  }\n  function umschalter() {\n    const box = $(\"[data-dsw]\");\n    $(\"[data-dsw-name]\").textContent = duft.name;\n    const zusatz = (s) => boxNeu && STIL[s.id] ? `<span class=\"a-dsw__n\">${STIL[s.id]}</span>` : \"\";\n    box.innerHTML = sichtbar().map((s) => s.available ? `<button type=\"button\" role=\"radio\" class=\"a-dsw__b\" aria-checked=\"${s.id === duft.id}\" tabindex=\"${s.id === duft.id ? 0 : -1}\" data-dsw-id=\"${s.id}\" aria-label=\"${s.name}\" title=\"${s.name}\"><img data-p=\"${s.id}\" alt=\"\">${zusatz(s)}</button>` : `<button type=\"button\" class=\"a-dsw__b is-aus\" aria-disabled=\"true\" data-dsw-aus=\"${s.name}\" aria-label=\"${s.name}, ausverkauft\" title=\"${s.name}: ausverkauft\"><img data-p=\"${s.id}\" alt=\"\">${zusatz(s)}</button>`).join(\"\");\n    $$(\"img[data-p]\", box).forEach((im) => {\n      im.loading = \"eager\";\n      bild(im, flakon(im.dataset.p), \"48px\");\n    });\n    $$(\"[data-dsw-id]\", box).forEach((b) => b.addEventListener(\"click\", () => wechsle(lieferbar.find((x) => x.id === b.dataset.dswId))));\n    $$(\"[data-dsw-aus]\", box).forEach((b) => b.addEventListener(\"click\", () => {\n      const n = $(\"[data-dsw-name]\");\n      n.textContent = `${b.dataset.dswAus} \u00B7 Ausverkauft`;\n      n.classList.add(\"is-aus-info\");\n      clearTimeout(umschalter.aus);\n      umschalter.aus = setTimeout(() => {\n        n.textContent = duft.name;\n        n.classList.remove(\"is-aus-info\");\n      }, 2600);\n    }));\n    box.onkeydown = (e) => {\n      if (![\"ArrowLeft\", \"ArrowRight\"].includes(e.key)) return;\n      e.preventDefault();\n      const i = lieferbar.findIndex((x) => x.id === duft.id) + (e.key === \"ArrowRight\" ? 1 : -1);\n      const s = lieferbar[(i + lieferbar.length) % lieferbar.length];\n      wechsle(s);\n      $(`[data-dsw-id=\"${s.id}\"]`, box)?.focus();\n    };\n  }\n  function zeichne() {\n    segmente();\n    const n = menge - offen();\n    $(\"[data-wahl-titel]\").textContent = DOPPELT ? `W\u00E4hle deine ${menge * 2} D\u00FCfte` : menge === 1 ? \"Dein Duft\" : `W\u00E4hle deine ${menge} D\u00FCfte`;\n    $(\"[data-wahl]\").classList.toggle(\"is-aus\", seite === \"duft\" && menge === 1);\n    $(\"[data-wahl-zahl]\").textContent = DOPPELT ? `${n * 2} von ${menge * 2} gew\u00E4hlt` : `${n} von ${menge} gew\u00E4hlt`;\n    $(\"[data-wahl-punkte]\").innerHTML = DOPPELT && menge > 3 ? \"\" : plaetze.map((x) => `<i class=\"${x ? \"is-voll\" : \"\"}\"></i>`).join(\"\");\n    $(\"[data-vorschlag]\").hidden = komplett() || menge === 1 || boxNeu;\n    if (boxNeu && !$(\"[data-vorschlag]\").hidden) {\n      const rest = lieferbar.map((s) => s.id).filter((id) => !plaetze.includes(id)).sort((a, b) => (SET_REIHE.indexOf(a) + 1 || 99) - (SET_REIHE.indexOf(b) + 1 || 99));\n      const neu = [...new Set(plaetze.filter((x) => !x).map((_, k) => rest[k] || lieferbar[0].id))];\n      const set = [...plaetze.filter(Boolean), ...neu];\n      const name = (id) => lieferbar.find((s) => s.id === id).name;\n      const und = (ids) => ids.length <= 2 ? ids.map(name).join(\" und \") : `${ids.slice(0, 2).map(name).join(\", \")} und ${ids.length - 2} weiteren`;\n      const gewaehlt = plaetze.filter(Boolean);\n      const liste = gewaehlt.length ? `${[...new Set(gewaehlt)].map(name).join(\", \")} mit ${und(neu)}` : und(neu);\n      const titel = \"Das Lieblingsset unserer Kunden\";\n      $(\"[data-vorschlag]\").innerHTML = `<span class=\"a-dw__vflak\" aria-hidden=\"true\">${set.slice(0, 5).map((id) => `<img data-p=\"${id}\" alt=\"\">`).join(\"\")}</span><span class=\"a-dw__vtext\"><strong>${titel}</strong><small>${liste}</small></span><span class=\"a-dw__vgo\" aria-hidden=\"true\"><span class=\"a-dw__vgo-lang\">Set \u00FCbernehmen</span><span class=\"a-dw__vgo-kurz\">\u00DCbernehmen</span></span>`;\n      $(\"[data-vorschlag]\").setAttribute(\"aria-label\", `${titel}: ${liste} \u00FCbernehmen`);\n      $$(\"[data-vorschlag] img[data-p]\").forEach((im) => bild(im, flakon(im.dataset.p), \"32px\"));\n    }\n    platzKarten();\n    geschenkZeile();\n    aboKarten();\n    preis();\n    if (DOPPELT) dopZeilen();\n  }\n  function dopZeilen() {\n    const feld = $(\"[data-seg]\").closest(\"fieldset\");\n    if (!$(\"[data-dop-band]\")) {\n      feld.insertAdjacentHTML(\"beforebegin\", `<div class=\"sd-dop-band\" data-dop-band><span class=\"sd-dop-band__k\">${ikon(\"geschenk\")}<b>Singles Day</b><span class=\"sd-dop-band__am\">Nur heute verdoppeln wir alles</span></span><span class=\"sd-dop-band__uhr\">noch <time data-dop-uhr></time></span></div>`);\n      const uhr = $(\"[data-dop-uhr]\");\n      const tick = () => {\n        const jetzt = new Date(), zh = new Date(jetzt.toLocaleString(\"en-US\", { timeZone: \"Europe/Zurich\" }));\n        const s = Math.max(0, 86400 - (zh.getHours() * 3600 + zh.getMinutes() * 60 + zh.getSeconds()));\n        uhr.textContent = [Math.floor(s / 3600), Math.floor(s / 60) % 60, s % 60].map((x) => String(x).padStart(2, \"0\")).join(\":\");\n      };\n      tick();\n      setInterval(tick, 1e3);\n      $(\".a-dw__label\", feld).textContent = \"Jeder Flakon kommt doppelt\";\n      $(\"[data-wahl]\").insertAdjacentHTML(\"beforeend\", '<p class=\"sd-dop-summe\" data-dop-summe aria-live=\"polite\"></p>');\n    }\n    const t = tier();\n    $(\"[data-dop-summe]\").innerHTML = `<span>${menge * 2} Flakons</span><span class=\"sd-dop-summe__spar\">Du sparst <b>${formatCHF(t.wert - t.price)}</b></span>`;\n  }\n  function vorschlag() {\n    const rest = lieferbar.map((s) => s.id).filter((id) => !plaetze.includes(id)).sort((a, b) => (SET_REIHE.indexOf(a) + 1 || 99) - (SET_REIHE.indexOf(b) + 1 || 99));\n    plaetze.forEach((x, i) => {\n      if (!x) neuGesetzt.add(i);\n    });\n    plaetze = plaetze.map((x) => x || rest.shift() || lieferbar[0].id);\n    popZu();\n    zeichne();\n  }\n  const anzahlImSet = (id) => plaetze.filter((x) => x === id).length + (DOPPELT ? zwillinge.filter((x, k) => x && plaetze[k] && x === id).length : 0);\n  function popAuf(i, opener, zw = false) {\n    if (i < 0) return;\n    popPlatz = i;\n    popZw = DOPPELT && zw;\n    if (opener) popOpener = opener;\n    const pop = $(\"[data-pop]\");\n    $(\"[data-pop-titel]\").textContent = DOPPELT ? `Duft f\u00FCr Platz ${2 * i + (popZw ? 2 : 1)} von ${menge * 2}${popZw ? \" \u00B7 gratis\" : \"\"}` : `Duft f\u00FCr Platz ${i + 1} von ${menge}`;\n    const liste = $(\"[data-pop-liste]\");\n    liste.innerHTML = lieferbar.map((s) => `<button type=\"button\" class=\"a-dw__opt\" data-id=\"${s.id}\" aria-pressed=\"${(popZw ? zwilling(i) : plaetze[i]) === s.id}\"><img data-p=\"${s.id}\" alt=\"\"><strong>${s.name}</strong><span>${STIL[s.id] || \"\"}</span>${anzahlImSet(s.id) ? `<em title=\"${anzahlImSet(s.id)}\u00D7 im Set\"><span class=\"visually-hidden\">Im Set: </span>${anzahlImSet(s.id)}\u00D7</em>` : \"\"}</button>`).join(\"\") + ausverkauft().map((s) => `<button type=\"button\" class=\"a-dw__opt is-aus\" disabled aria-disabled=\"true\"><img data-p=\"${s.id}\" alt=\"\"><strong>${s.name}</strong><span>Ausverkauft</span></button>`).join(\"\");\n    $$(\"img[data-p]\", liste).forEach((im) => bild(im, flakon(im.dataset.p), \"96px\"));\n    guideAufbauen(pop, liste);\n    $$(\"[data-id]\", liste).forEach((b) => b.addEventListener(\"click\", (e) => {\n      e.stopPropagation();\n      if (popZw) {\n        zwillinge[popPlatz] = b.dataset.id;\n        neuGesetzt.add(popPlatz);\n        const naechsterZw = plaetze.findIndex((x) => !x);\n        zeichne();\n        if (naechsterZw >= 0) popAuf(naechsterZw, $(`[data-i=\"${naechsterZw}\"]`));\n        else {\n          popZu();\n          $(\"[data-add]\").focus({ preventScroll: true });\n        }\n        return;\n      }\n      if (popPlatz === 0) platz1Auto = false;\n      if (plaetze[popPlatz] !== b.dataset.id) neuGesetzt.add(popPlatz);\n      plaetze[popPlatz] = b.dataset.id;\n      if (DOPPELT) {\n        const p = popPlatz;\n        zwillinge[p] = null;\n        zeichne();\n        popAuf(p, $(`[data-i=\"${p}\"]`), true);\n        return;\n      }\n      const naechster = plaetze.findIndex((x) => !x);\n      zeichne();\n      if (naechster >= 0) popAuf(naechster, $(`[data-i=\"${naechster}\"]`));\n      else {\n        popZu();\n        $(\"[data-add]\").focus({ preventScroll: true });\n      }\n    }));\n    if (pop.hidden) {\n      history.pushState({ duftwahl: true }, \"\");\n      sheetVerlauf = true;\n    }\n    pop.hidden = false;\n    $(\"[data-pop-schleier]\").hidden = !istHandy();\n    document.documentElement.classList.toggle(\"is-sheet\", istHandy());\n    $$(\"[data-plaetze] > *\").forEach((p, k) => p.classList.toggle(\"is-aktiv\", k === i));\n    ($('[aria-pressed=\"true\"]', liste) || $(\".a-dw__opt\", liste))?.focus({ preventScroll: true });\n    liste.classList.remove(\"is-zwei\");\n    liste.classList.toggle(\"is-zwei\", $$(\".a-dw__opt strong\", liste).some((x) => x.offsetHeight > parseFloat(getComputedStyle(x).lineHeight) * 1.5));\n  }\n  function popZu(vomZurueck = false) {\n    const pop = $(\"[data-pop]\");\n    if (!pop || pop.hidden) return;\n    pop.hidden = true;\n    guideZeigen(false);\n    if (sheetVerlauf && !vomZurueck) {\n      sheetVerlauf = false;\n      history.back();\n    }\n    sheetVerlauf = false;\n    $(\"[data-pop-schleier]\").hidden = true;\n    document.documentElement.classList.remove(\"is-sheet\");\n    $$(\"[data-plaetze] > .is-aktiv\").forEach((p) => p.classList.remove(\"is-aktiv\"));\n    popPlatz = -1;\n  }\n  function preis() {\n    if (limitAus()) {\n      $(\"[data-price]\").textContent = \"\";\n      $(\"[data-add-text]\").textContent = istHandy() ? \"Benachrichtigen\" : \"Beim n\u00E4chsten Drop benachrichtigen\";\n      $(\"[data-add]\").classList.remove(\"is-offen\");\n      $(\"[data-sticky-add]\").textContent = \"Benachrichtigen\";\n      $(\"[data-sticky-price]\").innerHTML = '<span class=\"a-sticky__menge\">Limited \u00B7 </span><span class=\"is-aus\">Ausverkauft</span>';\n      return;\n    }\n    const t = tier();\n    const fertig = komplett();\n    const endpreis = Math.round((t.price - aboAbzug(t)) * 100) / 100;\n    $(\"[data-price]\").textContent = fertig ? formatCHF(endpreis) : \"\";\n    $(\"[data-add-text]\").textContent = fertig ? \"In den Warenkorb\" : `Noch ${offen()} ${offen() === 1 ? \"Duft\" : \"D\u00FCfte\"} w\u00E4hlen`;\n    $(\"[data-add]\").classList.toggle(\"is-offen\", !fertig);\n    if (warKomplett === false && fertig && !ruhig()) {\n      const knopf = $(\"[data-add]\");\n      [$(\"[data-add-text]\"), $(\"[data-price]\")].forEach((el) => el.animate([{ opacity: 0 }, { opacity: 1 }], { duration: 200, easing: \"ease-out\" }));\n      const ring = document.createElement(\"span\");\n      ring.className = \"a-btn__ring\";\n      ring.setAttribute(\"aria-hidden\", \"true\");\n      knopf.append(ring);\n      ring.animate([{ opacity: 0.55, transform: \"scale(1)\" }, { opacity: 0, transform: \"scale(1.04, 1.25)\" }], { duration: 700, easing: AUS, fill: \"forwards\" }).onfinish = () => ring.remove();\n    }\n    warKomplett = fertig;\n    $(\"[data-sticky-add]\").textContent = fertig ? \"In den Warenkorb\" : `Noch ${offen()} ${offen() === 1 ? \"Duft\" : \"D\u00FCfte\"} w\u00E4hlen`;\n    $(\"[data-sticky-price]\").innerHTML = `<span class=\"a-sticky__menge\">${t.label} \u00B7 </span>${formatCHF(endpreis)}`;\n  }\n  let bildLauf = 0;\n  const vorladen = (paare) => Promise.race([\n    Promise.all(paare.map(([name, sizes]) => {\n      const t = new Image();\n      if (!bild(t, name, sizes)) return null;\n      return t.decode().catch(() => {\n      });\n    })),\n    new Promise((ok) => setTimeout(ok, 900))\n  ]);\n  const galerieVorladen = (d) => [[`produkte/${d.id}-front`, \"(min-width: 900px) 56vw, 100vw\"], [`produkte/${d.id}-front`, \"96px\"], [`produkte/${d.id}-3q`, \"96px\"], [notenBild(d.id), \"96px\"]];\n  function wechsle(s) {\n    if (!s || s.id === duft.id) return;\n    const alt = duft.id;\n    const lauf = ++bildLauf;\n    duft = s;\n    const url = new URL(location.href);\n    url.searchParams.set(\"duft\", s.id);\n    history.replaceState(history.state, \"\", url);\n    kopf2();\n    umschalter();\n    if (platz1Auto && plaetze[0] === alt) {\n      plaetze[0] = s.id;\n      gedaechtnis[0] = s.id;\n    }\n    zeichne();\n    vorladen(galerieVorladen(s)).then(() => {\n      if (lauf === bildLauf) galerie();\n    });\n  }\n  function linieWechsel(l) {\n    if (l === linie) return;\n    if (koll?.id === \"luxury\" || limitDuft) {\n      linie = l;\n      document.body.dataset.linie = l;\n      return;\n    }\n    linie = l;\n    if (seite === \"kollektion\") koll = KOLLEKTIONEN[`${KOLLEKTION_DER_LINIE[l]}${koll?.extreme ? \"-extreme\" : \"\"}`];\n    line = sortiment();\n    staffel = verdoppelt(eigenesSortiment() ? koll.staffel : TIERS);\n    lieferbar = line.scents.filter((s) => s.available);\n    document.body.dataset.linie = l;\n    if (eigenesSortiment()) document.body.dataset.kollektion = koll.id;\n    duft = line.scents.find((s) => s.id === (eigenesSortiment() ? line.lead : LEITDUFT[l])) || lieferbar[0];\n    const url = new URL(location.href);\n    url.searchParams.set(\"duft\", duft.id);\n    if (seite === \"kollektion\") url.searchParams.set(\"k\", koll.id);\n    history.replaceState(history.state, \"\", url);\n    popZu();\n    plaetze = [];\n    zwillinge = [];\n    gedaechtnis = [];\n    platz1Auto = true;\n    kopf2();\n    galerie();\n    umschalter();\n    setzeMenge(menge);\n  }\n  onLinie(linieWechsel);\n  function starte(m = 3) {\n    kopf2();\n    galerie();\n    umschalter();\n    plaetze = [];\n    zwillinge = [];\n    setzeMenge(m);\n  }\n  const kaufen = (opener) => {\n    if (limitDuft) {\n      if (limitAus()) {\n        if (opener?.matches?.(\"[data-sticky-add]\")) $(\".a-buy [data-add]\").scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n        notifyAuf();\n        return;\n      }\n      try {\n        cart.addProdukt(limitDuft.id);\n      } catch (e) {\n        kaufFehler(e, opener);\n        return;\n      }\n      ui.open(opener);\n      return;\n    }\n    if (!komplett()) {\n      const i = plaetze.findIndex((x) => !x);\n      const ziel = $(`[data-i=\"${i}\"]`);\n      const r = ziel?.getBoundingClientRect();\n      if (!istHandy() && r && (r.top < 0 || r.bottom > innerHeight)) ziel.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n      popAuf(i, ziel);\n      return;\n    }\n    try {\n      if (DOPPELT) cart.addSet({ kollektion: eigenesSortiment() ? koll.id : void 0, line: linie, qty: menge * 2, scents: plaetze.flatMap((id, i) => [id, zwilling(i)]), doppelt: true });\n      else cart.addSet({ kollektion: eigenesSortiment() ? koll.id : void 0, line: linie, qty: menge, scents: plaetze.slice(), abo: aboAktiv() ? { ...ABO, rabatt: aboAbzug(tier()) } : null });\n    } catch (e) {\n      kaufFehler(e, opener);\n      return;\n    }\n    ui.open(opener);\n  };\n  function kaufFehler(e, opener) {\n    const knopf = $(\".a-buy [data-add]\");\n    let m = $(\".a-buy__fehler\");\n    if (!m) {\n      m = document.createElement(\"p\");\n      m.className = \"a-buy__fehler\";\n      m.setAttribute(\"role\", \"alert\");\n      knopf.after(m);\n    }\n    m.textContent = e.message;\n    if (opener?.matches?.(\"[data-sticky-add]\") || knopf.getBoundingClientRect().bottom > innerHeight) knopf.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n    clearTimeout(kaufFehler.t);\n    kaufFehler.t = setTimeout(() => m.remove(), 6e3);\n  }\n  $(\"[data-vorschlag]\").addEventListener(\"click\", vorschlag);\n  const membershipNachladen = () => {\n    if (!membership() || document.querySelector(\"[data-abo]\")) return;\n    const neu = aboBerechnen();\n    if (!neu) return;\n    ABO = neu;\n    abo = true;\n    zeichne();\n  };\n  addEventListener(\"zr:membership\", membershipNachladen);\n  membershipNachladen();\n  addEventListener(\"popstate\", () => {\n    if (sheetVerlauf) {\n      sheetVerlauf = false;\n      popZu(true);\n    }\n  });\n  $(\"[data-pop-zu]\").addEventListener(\"click\", (e) => {\n    e.stopPropagation();\n    const o = popOpener;\n    popZu();\n    o?.focus();\n  });\n  $(\"[data-pop-schleier]\").addEventListener(\"click\", popZu);\n  document.addEventListener(\"keydown\", (e) => {\n    if (e.key === \"Escape\" && !$(\"[data-pop]\").hidden) {\n      const o = popOpener;\n      popZu();\n      o?.focus();\n    }\n  });\n  document.addEventListener(\"click\", (e) => {\n    const pop = $(\"[data-pop]\");\n    if (!pop.hidden && !istHandy() && !pop.contains(e.target) && !e.target.closest(\"[data-add], [data-sticky-add]\")) popZu();\n  });\n  $(\"[data-buy]\").addEventListener(\"submit\", (e) => {\n    e.preventDefault();\n    e.stopPropagation();\n    kaufen(e.submitter || $(\"[data-add]\"));\n  });\n  $(\"[data-sticky-add]\").addEventListener(\"click\", (e) => {\n    e.stopPropagation();\n    kaufen(e.currentTarget);\n  });\n  const sticky = $(\"[data-sticky]\");\n  new IntersectionObserver(([e]) => {\n    const an = !e.isIntersecting && e.boundingClientRect.top < 0;\n    sticky.classList.toggle(\"is-on\", an);\n    document.body.classList.toggle(\"has-sticky\", an);\n    sticky.setAttribute(\"aria-hidden\", String(!an));\n    $(\"[data-sticky-add]\").tabIndex = an ? 0 : -1;\n  }).observe($(\"[data-add]\"));\n  const mengeUrl = Number(params.get(\"menge\"));\n  starte(staffel.some((t) => t.qty === mengeUrl) ? mengeUrl : seite === \"duft\" ? 1 : DOPPELT ? 1 : 3);\n}\nconst LEISTE = [[\"versand\", \"Gratis Versand ab 100 \u20AC\"], [\"garantie\", \"30 Tage Geld zur\u00FCck, auch ge\u00F6ffnet\"], [\"lieferung\", \"Lieferung in 2\u20133 Werktagen\"], [\"swiss\", \"Swiss Made \u00B7 Extrait de Parfum\"], [\"twint\", \"Bezahlen mit PayPal oder Klarna\"]];\n$$(\"[data-bar]\").forEach((leiste) => {\n  const punkte = LEISTE.map(([i, t]) => `<li><span class=\"a-ico\">${ikon(i)}</span>${t}</li>`).join(\"\");\n  leiste.innerHTML = `<div class=\"a-bar__band\"><ul class=\"a-bar__liste\" role=\"list\">${punkte}</ul><ul class=\"a-bar__liste\" aria-hidden=\"true\">${punkte}</ul></div>`;\n  leiste.classList.add(\"is-v2\");\n});\nikonenSetzen();\n// Singles Day 11.11. Splittest Announcement Bar: A = normale Leiste, B = Countdown bis Aktionsende (nur im Aktionskontext)\n(async () => {\n  const START = Date.parse(\"2026-11-11T16:40:00Z\"), ENDE = Date.parse(\"2026-11-11T22:59:59Z\");\n  const q = new URLSearchParams(location.search), erzwungen = q.get(\"sd_bar\");\n  const jetzt = Date.now();\n  if (!erzwungen && (jetzt < START || jetzt > ENDE)) return;\n  const leisten = $$(\"[data-bar]\");\n  if (!leisten.length) return;\n  let aktion = q.get(\"aktion\") === \"doppelt\" || sessionStorage.getItem(\"zr_sd11\") === \"1\";\n  if (!aktion) {\n    try { const c = await fetch(\"/cart.js\", { headers: { Accept: \"application/json\" }, credentials: \"same-origin\" }).then((r) => r.json()); aktion = (c.discount_codes || []).some((d) => String(d.code).toUpperCase() === \"SINGLES\"); } catch {}\n  }\n  if (!aktion && !erzwungen) return;\n  sessionStorage.setItem(\"zr_sd11\", \"1\");\n  let g = erzwungen === \"A\" || erzwungen === \"B\" ? erzwungen : \"A\"; // Gewinner A (mehr Umsatz), Test beendet 11.11. 22:00\n  if (g !== \"A\" && g !== \"B\") { g = Math.random() < 0.5 ? \"A\" : \"B\"; localStorage.setItem(\"zr_sd11_bar\", g); }\n  document.documentElement.dataset.sdBar = g;\n  if (!erzwungen && localStorage.getItem(\"zr_sd11_bar_cart\") !== g) {\n    fetch(\"/cart/update.js\", { method: \"POST\", headers: { \"Content-Type\": \"application/json\", Accept: \"application/json\" }, credentials: \"same-origin\", body: JSON.stringify({ attributes: { sd11_bar: g } }) }).then((r) => r.ok && localStorage.setItem(\"zr_sd11_bar_cart\", g)).catch(() => {});\n  }\n  try { (window.dataLayer ||= []).push({ event: \"sd11_bar\", sd11_bar: g }); window.Shopify?.analytics?.publish?.(\"sd11_bar\", { gruppe: g }); } catch {}\n  if (g !== \"B\") return;\n  const zwei = (n) => String(n).padStart(2, \"0\");\n  leisten.forEach((leiste) => {\n    leiste.classList.remove(\"is-v2\");\n    leiste.innerHTML = `<p class=\"a-bar__sd\" role=\"timer\" aria-live=\"off\" style=\"margin:0;display:flex;justify-content:center;align-items:center;gap:.5em;width:100%;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums\"><b>Singles Day \u00B7 50 % auf alles</b><span>endet in <b data-sd-uhr>--:--:--</b></span></p>`;\n  });\n  const tick = () => {\n    const s = Math.max(0, Math.floor((ENDE - Date.now()) / 1000));\n    const t = s ? `${zwei(Math.floor(s / 3600))}:${zwei(Math.floor(s / 60) % 60)}:${zwei(s % 60)}` : \"00:00:00\";\n    $$(\"[data-sd-uhr]\").forEach((el) => el.textContent = t);\n    if (!s) clearInterval(uhr);\n  };\n  const uhr = setInterval(tick, 1000);\n  tick();\n})();\nconst WM = { w: 2600, h: 1184, koerper: 862, unter: 22 };\nfunction wortmarkenEinpassen() {\n  const c = document.createElement(\"canvas\").getContext(\"2d\");\n  $$(\".a-wm\").forEach((el) => {\n    const cs = getComputedStyle(el.parentElement);\n    c.font = `${cs.fontStyle} ${cs.fontWeight} ${cs.fontSize} ${cs.fontFamily}`;\n    const cap = c.measureText(\"H\").actualBoundingBoxAscent;\n    const h = cap * WM.h / WM.koerper;\n    el.style.height = `${h.toFixed(2)}px`;\n    el.style.width = `${(h * WM.w / WM.h).toFixed(2)}px`;\n    el.style.verticalAlign = `${(-(h * WM.unter) / WM.h).toFixed(2)}px`;\n  });\n}\nwortmarkenEinpassen();\ndocument.fonts?.ready.then(wortmarkenEinpassen);\naddEventListener(\"resize\", wortmarkenEinpassen);\nfunction richtungen(l) {\n  return LINES[l].scents.filter((x) => x.available && STIL[x.id]).map((x) => [x.id, `<span class=\"a-pop__optk\"><strong>${STIL[x.id]}</strong><small>${x.keywords}</small></span>`]);\n}\nfunction finderLauf(body, { zu = () => {\n}, inline = false, linie = null } = {}) {\n  {\n    {\n      const wahl = {};\n      const gesamt = linie ? 1 : 2;\n      const frage = (nr, titel, optionen, weiter, bildNr = nr) => {\n        body.innerHTML = `<figure class=\"a-pop__media\"><img alt=\"\"></figure>\n          <div class=\"a-pop__main\">\n            <p class=\"a-pop__step\">${gesamt === 1 ? \"Eine Frage\" : `Frage ${nr} von ${gesamt}`}</p>\n            <div class=\"a-pop__prog\"><span style=\"width:${nr / gesamt * 100}%\"></span></div>\n            <h2 class=\"a-pop__title\">${titel}</h2>\n            <div class=\"a-pop__opts\">${optionen.map(([k, t]) => `<button type=\"button\" class=\"a-pop__opt\" data-k=\"${k}\">${t}<span aria-hidden=\"true\">\u2192</span></button>`).join(\"\")}</div>\n            <p class=\"a-pop__fine\">\u00DCber 30.000 Kunden haben ihren Duft schon gefunden.</p>\n          </div>`;\n        const fig = body.querySelector(\".a-pop__media\");\n        const name = inline && hatBild(\"a/finder-v8\") ? \"a/finder-v8\" : bildNr === 1 ? \"a/finder-frage1\" : `a/pop-${bildNr}-${wahl.linie}`;\n        bild(fig.querySelector(\"img\"), hatBild(name) ? name : wahl.linie === \"her\" ? \"kv/a-her-hero-hoch\" : \"kv/a-him-hoch\", \"(min-width: 900px) 30vw, 100vw\");\n        fig.classList.toggle(\"is-mensch\", ![\"a/finder\", \"a/finder-v8\"].includes(name));\n        fig.classList.toggle(\"is-still\", name === \"a/finder-v8\");\n        body.querySelectorAll(\"[data-k]\").forEach((b) => b.addEventListener(\"click\", () => weiter(b.dataset.k)));\n        if (!inline) body.querySelector(\".a-pop__opt\")?.focus();\n      };\n      const ergebnis = () => {\n        const id = wahl.richtung;\n        const duft = LINES[wahl.linie].scents.find((s) => s.id === id);\n        const st = STIMMEN.find((s) => s.duft === id) || STIMMEN.find((s) => s.linie === wahl.linie);\n        const d = DISCOVERY.find((x) => x.line === wahl.linie);\n        body.innerHTML = `<figure class=\"a-pop__media a-pop__media--erg\" style=\"--glas:${duft.glass}\"><img alt=\"\"><img class=\"a-pop__flasche\" alt=\"${duft.name}\"><figcaption class=\"a-pop__tag\">Dein Duft</figcaption></figure>\n          <div class=\"a-pop__main\">\n            <p class=\"a-pop__step\">Dein Duft</p>\n            <h2 class=\"a-pop__title a-pop__title--gross\">${duft.name}</h2>\n            <p class=\"a-pop__notes\">${duft.keywords}. Extrait de Parfum, bis zu 12 Stunden.</p>\n            <p class=\"a-pop__price\"><strong>${formatCHF(TIERS[0].price)}</strong><span>oder ${angebotB() ? \"3 f\u00FCr\" : \"2+1 f\u00FCr\"} ${formatCHF(TIERS[1].price)}</span></p>\n            ${st ? `<p class=\"a-pop__quote\">\u00AB${st.kurz}\u00BB<span>${st.name} \u00B7 Verifizierter Kauf</span></p>` : \"\"}\n            <a class=\"a-btn a-pop__cta\" href=\"${SEITEN.duft(id)}\">${duft.name} entdecken</a>\n            <button type=\"button\" class=\"a-pop__alt\" data-disc>Lieber erst testen: ${d.name} f\u00FCr ${formatCHF(d.price)}</button>\n            <p class=\"a-pop__fine\">Im ${angebotB() ? \"5er-Set\" : \"3+2-Set\"} ab ${formatCHF(TIERS[2].price / 5)} pro Flakon \u00B7 30 Tage Geld zur\u00FCck, auch ge\u00F6ffnet.</p>\n          </div>`;\n        const [ergBild, ergFlakon] = body.querySelectorAll(\".a-pop__media img\");\n        bild(ergBild, hatBild(`a/pop-e-${wahl.linie}`) ? `a/pop-e-${wahl.linie}` : `produkte/${id}-front`, \"(min-width: 900px) 30vw, 100vw\");\n        bild(ergFlakon, flakon(id), \"(min-width: 900px) 16vw, 40vw\");\n        body.querySelector(\"[data-disc]\").addEventListener(\"click\", (e) => {\n          cart.addDiscovery(d.id);\n          zu();\n          ui.open(e.currentTarget);\n        });\n        if (!inline) body.querySelector(\".a-pop__cta\").focus();\n        if (inline) {\n          const n = document.createElement(\"button\");\n          n.type = \"button\";\n          n.className = \"a-pop__alt\";\n          n.textContent = \"Nochmals starten\";\n          n.addEventListener(\"click\", () => finderLauf(body, { inline, linie: inline ? getLinie() : null }));\n          body.querySelector(\".a-pop__main\").append(n);\n        }\n      };\n      const abFrage2 = (n) => frage(n, \"Welche Richtung zieht dich an?\", richtungen(wahl.linie), (r) => {\n        wahl.richtung = r;\n        ergebnis();\n      }, 3);\n      if (linie) {\n        wahl.linie = linie;\n        abFrage2(1);\n      } else frage(1, \"Welcher Duft macht dich begehrt?\", [[\"him\", \"Ich suche einen Duft f\u00FCr ihn\"], [\"her\", \"Ich suche einen Duft f\u00FCr sie\"]], (k) => {\n        wahl.linie = k;\n        abFrage2(2);\n      });\n    }\n  }\n}\nfunction leadMagnet(body, { zu }) {\n  body.innerHTML = `<figure class=\"a-pop__media a-lead__media\"><img alt=\"Ein Paar lacht auf einer Steinterrasse \u00FCber dem Meer in der Abendsonne.\"></figure>\n    <div class=\"a-pop__main a-lead\">\n      <img class=\"a-lead__logo\" src=\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__zois-logo-web.svg\" alt=\"zo\u00EDs\" width=\"96\" height=\"54\">\n      <p class=\"a-lead__kicker\">Willkommen</p>\n      <h2 class=\"a-lead__title\">15% auf deine erste Bestellung.</h2>\n      <p class=\"a-lead__lede\">Trag dich ein und sichere dir deinen Willkommensrabatt. Dazu erf\u00E4hrst du als Erste von neuen D\u00FCften und limitierten Drops.</p>\n      <form class=\"a-lead__form\" novalidate>\n        <label class=\"visually-hidden\" for=\"a-lead-mail\">E-Mail-Adresse</label>\n        <input id=\"a-lead-mail\" type=\"email\" inputmode=\"email\" autocomplete=\"email\" placeholder=\"Deine E-Mail-Adresse\" required>\n        <button class=\"a-btn\" type=\"submit\">15% sichern</button>\n      </form>\n      <p class=\"a-lead__fine\">Kein Spam. Abmeldung jederzeit mit einem Klick.</p>\n      <button type=\"button\" class=\"a-lead__later\" data-lead-zu>Vielleicht sp\u00E4ter</button>\n    </div>`;\n  bild(body.querySelector(\".a-lead__media img\"), hatBild(\"a/pop-1\") ? \"a/pop-1\" : \"kv/a-her-pool\", \"(min-width: 900px) 34vw, 100vw\");\n  body.querySelector(\"[data-lead-zu]\").addEventListener(\"click\", zu);\n  const form = body.querySelector(\"form\");\n  form.addEventListener(\"submit\", (e) => {\n    e.preventDefault();\n    const feld = form.querySelector(\"input\");\n    if (!feld.value.includes(\"@\")) {\n      feld.setCustomValidity(\"Bitte gib eine g\u00FCltige E-Mail-Adresse ein.\");\n      feld.reportValidity();\n      return;\n    }\n    feld.setCustomValidity(\"\");\n    body.querySelector(\".a-lead\").innerHTML = `<img class=\"a-lead__logo\" src=\"https://cdn.shopify.com/s/files/1/0897/9614/9513/files/zr__zois-logo-web.svg\" alt=\"zo\u00EDs\" width=\"96\" height=\"54\">\n      <p class=\"a-lead__kicker\">Willkommen im Kreis</p>\n      <h2 class=\"a-lead__title\">Dein Code ist unterwegs.</h2>\n      <p class=\"a-lead__lede\">Schau in dein Postfach: Mit deinem Code sparst du 15% auf deine erste Bestellung.</p>\n      <button type=\"button\" class=\"a-btn a-lead__weiter\" data-lead-zu>Weiter entdecken</button>\n      <p class=\"a-lead__fine\">Prototyp: Es wird keine E-Mail versendet.</p>`;\n    body.querySelector(\"[data-lead-zu]\").addEventListener(\"click\", zu);\n  });\n}\n"],
  "mappings": "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",
  "names": ["im", "g"]
}
