{
  "version": 3,
  "sources": ["/cdn/shop/t/33/assets/luxury-dior-r183.js?llb_round=185-final"],
  "sourcesContent": ["(function () {\n  function disableLegacyRuntimeTag() {\n    Array.prototype.slice.call(document.querySelectorAll([\n      \"script[src*='luxury-dior-runtime-20260703-r68']\",\n      \"script[src*='lux-r131-terminal-lock']\",\n      \"script[src*='lux-r175-stability']\",\n      \"script[src*='lux-r176-banner-freeze']\"\n    ].join(\",\"))).forEach(function (script) {\n      if (!script || script.dataset.llbR183Disabled === \"true\") return;\n      script.dataset.llbR183Disabled = \"true\";\n      script.type = \"text/plain\";\n      if (script.parentNode) script.parentNode.removeChild(script);\n    });\n    Array.prototype.slice.call(document.querySelectorAll(\"link[href*='lux-r175-stability']\")).forEach(function (link) {\n      if (link && link.parentNode) link.parentNode.removeChild(link);\n    });\n  }\n\n  disableLegacyRuntimeTag();\n  window.__llbLegacyRuntimeR68Disabled = true;\n  window.__llbLegacyVisualLayersDisabled = true;\n\n  var LUX_EASE = \"power3.out\";\n  var LUX_IN_OUT = \"power3.inOut\";\n\n  function prefersReducedMotion() {\n    return window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n  }\n\n  function isMobileViewport() {\n    return window.matchMedia && window.matchMedia(\"(max-width: 768px)\").matches;\n  }\n\n  function hasFinePointer() {\n    return window.matchMedia && window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches;\n  }\n\n  function getGsap() {\n    if (prefersReducedMotion()) return null;\n    return window.gsap || null;\n  }\n\n  function initLiveCollectionGuardStyles() {\n    if (document.getElementById(\"lux-live-collection-guard\")) return;\n    var style = document.createElement(\"style\");\n    style.id = \"lux-live-collection-guard\";\n    style.textContent = [\n      \"html body #FilterDrawer,html body #FilterDrawer .drawer__contents,html body #FilterDrawer .drawer__scrollable,html body #FilterDrawer .lux-filter-panel-quick,html body #FilterDrawer .lux-guided-filters,html body #FilterDrawer .lux-guided-filters__row,html body #FilterDrawer .drawer__header,html body #FilterDrawer .drawer__fixed-header{background:#F4F1EC!important;color:#211D18!important;border-color:rgba(33,29,24,.12)!important}\",\n      \"html body #FilterDrawer .drawer__title,html body #FilterDrawer .drawer__close-button,html body #FilterDrawer .lux-filter-panel-quick__title,html body #FilterDrawer .lux-guided-filters__label,html body #FilterDrawer .collapsible-trigger,html body #FilterDrawer .tag-list,html body #FilterDrawer .tag-list a,html body #FilterDrawer .tag-list label,html body #FilterDrawer .tag__text,html body #FilterDrawer .collapsible-content__inner,html body #FilterDrawer .collapsible-content__inner *{color:#211D18!important;text-shadow:none!important}\",\n      \"html body #FilterDrawer .lux-guided-filter,html body #FilterDrawer .lux-guided-filter:visited,html body #FilterDrawer .lux-guided-filters__scroll a,html body #FilterDrawer .lux-guided-filters__scroll a:visited{background:rgba(251,250,247,.86)!important;border:1px solid rgba(33,29,24,.16)!important;color:rgba(33,29,24,.76)!important;text-shadow:none!important}\",\n      \"html body #FilterDrawer .lux-guided-filter:hover,html body #FilterDrawer .lux-guided-filter.is-active,html body #FilterDrawer .lux-guided-filter[aria-pressed='true']{background:rgba(184,154,97,.16)!important;border-color:rgba(184,154,97,.54)!important;color:#0E0E0E!important}\",\n      \"html body main#MainContent .lux-product-card .grid-product__image-mask,html body main#MainContent .lux-collection .lux-product-card .grid-product__image-mask,html body main#MainContent .template-index .lux-featured-drop .lux-product-card .grid-product__image-mask{box-shadow:none!important}\",\n      \"html body main#MainContent .lux-product-card:hover .grid-product__image-mask,html body main#MainContent .lux-product-card:focus-within .grid-product__image-mask,html body main#MainContent .lux-collection .lux-product-card:hover .grid-product__image-mask,html body main#MainContent .template-index .lux-featured-drop .lux-product-card:hover .grid-product__image-mask{box-shadow:0 18px 42px -38px rgba(20,18,14,.28)!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-mark__fallback,html body [data-lux-brand-card] .lux-brand-mark__fallback{color:#0E0E0E!important;opacity:1!important;text-shadow:none!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--louis-vuitton .lux-brand-mark,html body [data-lux-brand-card].lux-brand-logo--louis-vuitton .lux-brand-mark,html body .lux-brand-mark--louis-vuitton{width:min(90%,420px)!important;min-width:0!important;max-width:420px!important;overflow:visible!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--louis-vuitton .lux-brand-mark img,html body [data-lux-brand-card].lux-brand-logo--louis-vuitton .lux-brand-mark img,html body .lux-brand-mark--louis-vuitton img{display:none!important;transform:none!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--louis-vuitton .lux-brand-mark__fallback,html body [data-lux-brand-card].lux-brand-logo--louis-vuitton .lux-brand-mark__fallback,html body .lux-brand-mark--louis-vuitton .lux-brand-mark__fallback{display:block!important;width:100%!important;color:#0E0E0E!important;font-size:clamp(25px,2.1vw,40px)!important;line-height:1!important;letter-spacing:.14em!important;white-space:nowrap!important;text-align:center!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--saint-laurent .lux-brand-mark,html body [data-lux-brand-card].lux-brand-logo--saint-laurent .lux-brand-mark{width:min(70%,168px)!important;min-width:0!important;max-width:168px!important;overflow:visible!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--saint-laurent .lux-brand-mark__fallback,html body [data-lux-brand-card].lux-brand-logo--saint-laurent .lux-brand-mark__fallback{display:block!important;width:100%!important;max-width:148px!important;margin:0 auto!important;color:#0E0E0E!important;font-size:clamp(16px,1.16vw,20px)!important;line-height:1.12!important;letter-spacing:.10em!important;white-space:normal!important;text-align:center!important;overflow-wrap:normal!important;word-break:normal!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--goyard .lux-brand-mark,html body.template-index .lux-curated-tiles--logos .lux-brand-logo--miu-miu .lux-brand-mark,html body [data-lux-brand-card].lux-brand-logo--goyard .lux-brand-mark,html body [data-lux-brand-card].lux-brand-logo--miu-miu .lux-brand-mark{width:min(74%,190px)!important;min-width:0!important;max-width:190px!important}\",\n      \"html body .lux-designer-directory .lux-brand-logo--gucci .lux-brand-mark{width:min(72%,190px)!important;max-width:190px!important;height:98px!important;max-height:98px!important;overflow:visible!important}html body .lux-designer-directory .lux-brand-logo--gucci .lux-brand-mark img,html body .lux-designer-directory .lux-brand-logo--gucci .lux-brand-mark svg{width:auto!important;height:98px!important;max-width:none!important;max-height:98px!important;object-fit:contain!important}\",\n      \"html body .lux-designer-directory .lux-brand-logo--ferragamo .lux-brand-mark,html body .lux-designer-directory .lux-brand-logo--mcm .lux-brand-mark,html body .lux-designer-directory .lux-brand-logo--bvlgari .lux-brand-mark{width:min(70%,180px)!important;max-width:180px!important;height:74px!important;max-height:74px!important}\",\n      \"@media screen and (max-width:768px){html body.template-page .featured-collections .grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:1px!important;margin-left:0!important}html body.template-page .featured-collections .grid--uniform>.grid__item:nth-child(n){float:none!important;clear:none!important;width:auto!important;max-width:none!important;padding-left:0!important;grid-column:auto!important}}\"\n    ].join(\"\\n\");\n    document.head.appendChild(style);\n  }\n\n  function initCollectionHeroRuntimeOverrides() {\n    var hero = document.querySelector(\".lux-collection__intro\");\n    if (!hero) return;\n\n    var match = window.location.pathname.match(/^\\/collections\\/([^/?#]+)/);\n    var handle = match && match[1] ? decodeURIComponent(match[1]).toLowerCase() : \"\";\n    if (!handle) return;\n\n    var overrides = {\n      \"louis-vuitton\": { asset: \"lux-brand-hero-louis-vuitton.jpg\", position: \"50% 50%\" },\n      \"chanel\": { asset: \"lux-brand-hero-chanel.jpg\", position: \"center 42%\" },\n      \"dior\": { asset: \"lux-brand-hero-dior-r42.jpg\", position: \"50% 50%\" },\n      \"gucci\": { asset: \"lux-brand-hero-gucci.jpg\", position: \"center 44%\" },\n      \"saint-laurent\": { asset: \"lux-brand-hero-saint-laurent.jpg\", position: \"50% 50%\" },\n      \"prada\": { asset: \"lux-brand-hero-prada.jpg\", position: \"50% 50%\" },\n      \"fendi\": { asset: \"lux-brand-hero-fendi.jpg\", position: \"center 46%\" },\n      \"celine\": { asset: \"lux-brand-hero-celine.jpg\", position: \"center 40%\" },\n      \"burberry\": { asset: \"lux-brand-hero-burberry.jpg\", position: \"50% 50%\" },\n      \"goyard\": { asset: \"lux-brand-hero-goyard-editorial-r42.jpg\", position: \"50% 50%\" },\n      \"hermes\": { asset: \"lux-brand-hero-hermes.jpg\", position: \"center 45%\" },\n      \"miumiu\": { asset: \"lux-brand-hero-miu-miu.jpg\", position: \"center 44%\" },\n      \"miu-miu\": { asset: \"lux-brand-hero-miu-miu.jpg\", position: \"center 44%\" },\n      \"valentino\": { asset: \"lux-brand-hero-valentino.jpg\", position: \"center 46%\" },\n      \"loewe\": { asset: \"lux-brand-hero-loewe.jpg\", position: \"50% 50%\" },\n      \"bottega-veneta\": { asset: \"lux-brand-hero-bottega-veneta.jpg\", position: \"center 44%\" },\n      \"balenciaga\": { asset: \"lux-brand-hero-balenciaga.jpg\", position: \"50% 50%\" },\n      \"salvatore-ferragamo\": { asset: \"lux-brand-hero-ferragamo.jpg\", position: \"50% 50%\" },\n      \"ferragamo\": { asset: \"lux-brand-hero-ferragamo.jpg\", position: \"50% 50%\" },\n      \"givenchy\": { asset: \"lux-brand-hero-givenchy.jpg\", position: \"center 46%\" },\n      \"new-arrivals\": { asset: \"lux-campaign-new-arrival-r163.jpg\", position: \"50% 56%\" },\n      \"shoulder-bags\": { asset: \"lux-hero-shoulder-landscape.jpg\", position: \"50% 50%\" },\n      \"crossbody-bags\": { asset: \"lux-final-crossbody-v3.jpg\", position: \"55% 50%\" },\n      \"shopper-bags\": { asset: \"lux-style-neverfull.jpg\", position: \"50% 50%\" },\n      \"satchel-bags\": { asset: \"lux-r120-satchel-lady-dior.jpg\", position: \"38% 56%\" },\n      \"wallet-on-chain\": { asset: \"lux-final-woc-v2.jpg\", position: \"50% 62%\" },\n      \"wallets\": { asset: \"lux-final-wallets-v2.jpg\", position: \"50% 52%\" },\n      \"charms-pendants\": { asset: \"lux-web-r41-card-charms.jpg\", position: \"center center\" },\n      \"earrings\": { asset: \"lux-final-earrings-v2.jpg\", position: \"58% 48%\" },\n      \"lady-dior\": { asset: \"lux-r120-satchel-lady-dior.jpg\", position: \"38% 56%\" },\n      \"dionysus\": { asset: \"lux-web-r41-signature-dionysus.jpg\", position: \"center center\" },\n      \"baguette\": { asset: \"lux-web-r41-signature-baguette.jpg\", position: \"50% 50%\" },\n      \"hobo-bags\": { asset: \"lux-web-r41-card-hobo.jpg\", position: \"50% 54%\" },\n      \"handbags\": { asset: \"lux-web-r51-handbag-table.jpg\", position: \"50% 50%\" },\n      \"half-moon-bags\": { asset: \"lux-web-r54-halfmoon.jpg\", position: \"50% 54%\" },\n      \"duffle-bags\": { asset: \"lux-web-r41-card-duffle.jpg\", position: \"50% 50%\" },\n      \"bucket-bags\": { asset: \"lux-final-bucket-v3.jpg\", position: \"50% 50%\" },\n      \"fanny-packs\": { asset: \"lux-final-fanny-v3.jpg\", position: \"50% 50%\" }\n    };\n    var brandHandles = {\n      \"louis-vuitton\": true,\n      \"chanel\": true,\n      \"dior\": true,\n      \"gucci\": true,\n      \"saint-laurent\": true,\n      \"prada\": true,\n      \"fendi\": true,\n      \"celine\": true,\n      \"burberry\": true,\n      \"goyard\": true,\n      \"hermes\": true,\n      \"miumiu\": true,\n      \"miu-miu\": true,\n      \"valentino\": true,\n      \"loewe\": true,\n      \"bottega-veneta\": true,\n      \"balenciaga\": true,\n      \"salvatore-ferragamo\": true,\n      \"ferragamo\": true,\n      \"givenchy\": true\n    };\n\n    var override = overrides[handle];\n    if (!override) return;\n\n    function normalizeAssetUrl(rawUrl) {\n      if (!rawUrl) return \"\";\n      return rawUrl.replace(/^\\/\\//, window.location.protocol + \"//\").split(\"?\")[0];\n    }\n\n    function assetUrl(filename) {\n      var current = hero.style.getPropertyValue(\"--lux-collection-hero-image\") || \"\";\n      var match = current.match(/url\\([\"']?([^\"')]+)[\"']?\\)/);\n      var base = normalizeAssetUrl(match && match[1]);\n      var assetIndex = base.lastIndexOf(\"/assets/\");\n      if (assetIndex !== -1) {\n        return base.slice(0, assetIndex + 8) + filename;\n      }\n\n      var script = document.querySelector('script[src*=\"/assets/luxury-dior.js\"]');\n      var scriptBase = normalizeAssetUrl(script && script.src);\n      assetIndex = scriptBase.lastIndexOf(\"/assets/\");\n      if (assetIndex !== -1) {\n        return scriptBase.slice(0, assetIndex + 8) + filename;\n      }\n\n      return window.location.origin + \"/cdn/shop/t/16/assets/\" + filename;\n    }\n\n    var url = assetUrl(override.asset);\n    hero.classList.add(\"lux-collection__intro--image\");\n    hero.setAttribute(\"data-lux-collection-handle\", handle);\n    if (brandHandles[handle]) {\n      hero.setAttribute(\"data-lux-brand-hero\", \"true\");\n    } else {\n      hero.removeAttribute(\"data-lux-brand-hero\");\n    }\n    hero.style.setProperty(\"--lux-collection-hero-image\", \"url(\" + url + \")\");\n    hero.style.setProperty(\"--lux-collection-hero-position\", override.position);\n    hero.dataset.luxHeroRuntime = \"true\";\n\n    var preload = new Image();\n    preload.onload = function () {\n      hero.dataset.luxHeroLoaded = \"true\";\n    };\n    preload.src = url;\n  }\n\n  function updateHeaderState() {\n    document.body.classList.toggle(\"lux-header--scrolled\", window.scrollY > 16);\n  }\n\n  function initHeader() {\n    var lastY = window.scrollY || 0;\n    var ticking = false;\n\n    function update() {\n      var currentY = window.scrollY || 0;\n      updateHeaderState();\n      document.body.classList.toggle(\"lux-header--hidden\", currentY > lastY && currentY > 140);\n      lastY = currentY;\n      ticking = false;\n    }\n\n    updateHeaderState();\n    window.addEventListener(\"scroll\", function () {\n      if (ticking) return;\n      ticking = true;\n      window.requestAnimationFrame(update);\n    }, { passive: true });\n  }\n\n  function initHeaderDropdowns() {\n    if (!hasFinePointer()) return;\n    document.querySelectorAll(\"#HeaderWrapper .lux-nav__item--designer\").forEach(function (item) {\n      if (item.dataset.luxDropdownReady === \"true\") return;\n      item.dataset.luxDropdownReady = \"true\";\n      var closeTimer = null;\n\n      function open() {\n        window.clearTimeout(closeTimer);\n        item.classList.add(\"lux-nav__item--open\");\n      }\n\n      function closeSoon() {\n        window.clearTimeout(closeTimer);\n        closeTimer = window.setTimeout(function () {\n          item.classList.remove(\"lux-nav__item--open\");\n        }, 350);\n      }\n\n      item.addEventListener(\"pointerenter\", open, { passive: true });\n      item.addEventListener(\"pointerleave\", closeSoon, { passive: true });\n      item.addEventListener(\"focusin\", open);\n      item.addEventListener(\"focusout\", closeSoon);\n    });\n  }\n\n  function initMobileProductBar() {\n    var bar = document.querySelector(\".lux-mobile-product-bar\");\n    var productForm = document.querySelector(\".product-single__form, form[action*='/cart/add']\");\n    if (!bar || !productForm || !(\"IntersectionObserver\" in window)) return;\n\n    var button = bar.querySelector(\"[data-lux-product-cta]\");\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        document.body.classList.toggle(\"lux-product-bar-visible\", !entry.isIntersecting);\n      });\n    }, { threshold: 0.08 });\n\n    observer.observe(productForm);\n\n    if (button) {\n      button.addEventListener(\"click\", function () {\n        var addButton = productForm.querySelector(\"[type='submit'], .add-to-cart\");\n        productForm.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n        if (addButton && !addButton.disabled) {\n          setTimeout(function () { addButton.focus(); }, 320);\n        }\n      });\n    }\n  }\n\n  function initTouchFeedback(gsap) {\n    var targets = document.querySelectorAll(\"a, button, .btn, .lux-button, .lux-link\");\n    targets.forEach(function (target) {\n      if (target.closest && target.closest(\"[data-lux-brand-card], .lux-curated-tiles--logos\")) return;\n      target.addEventListener(\"pointerdown\", function () {\n        if (target.dataset.luxPressing === \"true\") return;\n        target.dataset.luxPressing = \"true\";\n        if (gsap) {\n          gsap.to(target, { scale: 0.985, duration: 0.14, ease: \"power2.out\", overwrite: \"auto\" });\n        }\n      }, { passive: true });\n      [\"pointerup\", \"pointercancel\", \"pointerleave\"].forEach(function (type) {\n        target.addEventListener(type, function () {\n          if (target.dataset.luxPressing !== \"true\") return;\n          target.dataset.luxPressing = \"false\";\n          if (gsap) {\n            gsap.to(target, { scale: 1, duration: 0.2, ease: \"back.out(2)\", overwrite: \"auto\", clearProps: \"transform\" });\n          }\n        }, { passive: true });\n      });\n    });\n  }\n\n  function initAtelierCursor(gsap) {\n    function disableCursor(cursor) {\n      document.body.classList.remove(\"lux-cursor-ready\");\n      document.body.classList.add(\"lux-cursor-disabled\");\n      document.body.dataset.luxCursorReady = \"false\";\n      if (cursor && cursor.parentNode) cursor.parentNode.removeChild(cursor);\n    }\n\n    if (!gsap || prefersReducedMotion() || !hasFinePointer()) {\n      disableCursor(document.querySelector(\".lux-cursor\"));\n      return;\n    }\n    if (document.body.dataset.luxCursorReady === \"true\" || document.body.dataset.luxCursorReady === \"booting\") return;\n\n    var cursor = null;\n    try {\n      cursor = document.createElement(\"div\");\n      cursor.className = \"lux-cursor\";\n      cursor.setAttribute(\"aria-hidden\", \"true\");\n      cursor.innerHTML = '<span class=\"lux-cursor__ring\"><span class=\"lux-cursor__label\" aria-hidden=\"true\"></span></span><span class=\"lux-cursor__dot\"></span>';\n      document.body.appendChild(cursor);\n      document.body.dataset.luxCursorReady = \"booting\";\n      document.body.classList.remove(\"lux-cursor-disabled\");\n    } catch (error) {\n      disableCursor(cursor);\n      return;\n    }\n\n    var dot = cursor.querySelector(\".lux-cursor__dot\");\n    var ring = cursor.querySelector(\".lux-cursor__ring\");\n    var label = cursor.querySelector(\".lux-cursor__label\");\n    if (!dot || !ring || !label) {\n      disableCursor(cursor);\n      return;\n    }\n\n    try {\n      var interactiveSelector = [\n        \"a\",\n        \"button\",\n        \".btn\",\n        \".lux-button\",\n        \".lux-link\",\n        \".collection-item\",\n        \".grid-product__link\",\n        \".lux-curated-tile\",\n        \".collection-filter .btn--tertiary\",\n        \"[role='button']\",\n        \"summary\"\n      ].join(\",\");\n      var editableSelector = \"input, textarea, select, [contenteditable='true']\";\n      var mediaSelector = [\n        \"[data-lux-card-track]\",\n        \"[data-lux-card-slider]\",\n        \".grid-product__image-mask\",\n        \".product-single__photo\",\n        \".product__main-photos\",\n        \".product__thumb\",\n        \".lux-editorial-card\",\n        \".lux-curated-tile:not(.lux-curated-tile--logo)\"\n      ].join(\",\");\n      var activeMode = \"\";\n      var activeLabel = \"\";\n      var activated = false;\n      var ringX = -120;\n      var ringY = -120;\n      var targetX = -120;\n      var targetY = -120;\n      var lastX = null;\n      var lastY = null;\n      var raf = null;\n      var modeRaf = null;\n\n      cursor.style.setProperty(\"--lux-cursor-dot-x\", \"-120px\");\n      cursor.style.setProperty(\"--lux-cursor-dot-y\", \"-120px\");\n      cursor.style.setProperty(\"--lux-cursor-ring-x\", \"-120px\");\n      cursor.style.setProperty(\"--lux-cursor-ring-y\", \"-120px\");\n\n      function setPositionVar(name, value) {\n        cursor.style.setProperty(name, value.toFixed(2) + \"px\");\n      }\n\n      function setDotPosition(x, y) {\n        setPositionVar(\"--lux-cursor-dot-x\", x);\n        setPositionVar(\"--lux-cursor-dot-y\", y);\n      }\n\n      function setRingPosition(x, y) {\n        ringX = x;\n        ringY = y;\n        setPositionVar(\"--lux-cursor-ring-x\", ringX);\n        setPositionVar(\"--lux-cursor-ring-y\", ringY);\n      }\n\n      function animateRing() {\n        ringX += (targetX - ringX) * 0.68;\n        ringY += (targetY - ringY) * 0.68;\n        setPositionVar(\"--lux-cursor-ring-x\", ringX);\n        setPositionVar(\"--lux-cursor-ring-y\", ringY);\n        if (Math.abs(targetX - ringX) < 0.12 && Math.abs(targetY - ringY) < 0.12) {\n          setRingPosition(targetX, targetY);\n          raf = null;\n          return;\n        }\n        raf = window.requestAnimationFrame(animateRing);\n      }\n\n      function moveRing(x, y, instant) {\n        targetX = x;\n        targetY = y;\n        if (instant) {\n          if (raf) {\n            window.cancelAnimationFrame(raf);\n            raf = null;\n          }\n          setRingPosition(x, y);\n          return;\n        }\n        if (!raf) raf = window.requestAnimationFrame(animateRing);\n      }\n\n      function setMode(mode, nextLabel) {\n        nextLabel = mode === \"media\" ? (nextLabel || \"\") : \"\";\n        if (mode === activeMode && nextLabel === activeLabel && label.textContent === nextLabel) return;\n        activeMode = mode;\n        activeLabel = nextLabel;\n        if (label.textContent !== nextLabel) label.textContent = nextLabel;\n        cursor.classList.toggle(\"lux-cursor--hover\", mode === \"hover\");\n        cursor.classList.toggle(\"lux-cursor--media\", mode === \"media\");\n        cursor.classList.toggle(\"lux-cursor--brand\", mode === \"brand\");\n        cursor.classList.toggle(\"lux-cursor--label\", mode === \"media\" && nextLabel !== \"\");\n        cursor.classList.toggle(\"lux-cursor--text\", mode === \"text\");\n        cursor.classList.toggle(\"lux-cursor--visible\", activated);\n      }\n\n      function updateModeFromPoint(x, y) {\n        try {\n          var target = document.elementFromPoint(x, y);\n          if (!target || !target.closest) {\n            setMode(\"idle\");\n            return;\n          }\n\n          if (target.closest(editableSelector)) {\n            setMode(\"text\");\n          } else if (target.closest(\"[data-lux-brand-card], .lux-curated-tiles--logos\")) {\n            setMode(\"idle\");\n          } else {\n            var dragTarget = target.closest(\"[data-lux-card-track], [data-lux-card-slider]\");\n            var mediaTarget = dragTarget || target.closest(mediaSelector);\n            if (mediaTarget) {\n              setMode(\"media\", mediaTarget.getAttribute(\"data-lux-cursor-label\") || (dragTarget ? \"DRAG\" : \"VIEW\"));\n            } else if (target.closest(interactiveSelector)) {\n              setMode(\"hover\");\n            } else {\n              setMode(\"idle\");\n            }\n          }\n        } catch (error) {\n          disableCursor(cursor);\n        }\n      }\n\n      function scheduleModeRefresh() {\n        if (!activated || lastX === null || lastY === null || modeRaf) return;\n        modeRaf = window.requestAnimationFrame(function () {\n          modeRaf = null;\n          updateModeFromPoint(lastX, lastY);\n        });\n      }\n\n      document.addEventListener(\"pointermove\", function (event) {\n        try {\n          lastX = event.clientX;\n          lastY = event.clientY;\n          if (!activated) {\n            activated = true;\n            setDotPosition(event.clientX, event.clientY);\n            moveRing(event.clientX, event.clientY, true);\n            document.body.dataset.luxCursorReady = \"true\";\n            document.body.classList.add(\"lux-cursor-ready\");\n            cursor.classList.add(\"lux-cursor--visible\");\n          } else {\n            setDotPosition(event.clientX, event.clientY);\n            moveRing(event.clientX, event.clientY);\n          }\n\n          updateModeFromPoint(event.clientX, event.clientY);\n        } catch (error) {\n          disableCursor(cursor);\n        }\n      }, { passive: true });\n\n      window.addEventListener(\"scroll\", scheduleModeRefresh, { passive: true });\n      window.addEventListener(\"wheel\", scheduleModeRefresh, { passive: true });\n\n      document.addEventListener(\"pointerleave\", function () {\n        cursor.classList.remove(\"lux-cursor--visible\");\n        activeMode = \"\";\n        activeLabel = \"\";\n      });\n\n      document.addEventListener(\"lux:cursor-mode\", function (event) {\n        var detail = event.detail || {};\n        if (detail.mode === \"media\") {\n          setMode(\"media\", detail.label || \"VIEW\");\n        } else if (detail.mode === \"hover\") {\n          setMode(\"hover\");\n        } else if (detail.mode === \"idle\") {\n          setMode(\"idle\");\n        }\n      });\n\n      document.addEventListener(\"pointerdown\", function () {\n        cursor.classList.add(\"lux-cursor--down\");\n      }, { passive: true });\n\n      document.addEventListener(\"pointerup\", function () {\n        cursor.classList.remove(\"lux-cursor--down\");\n      }, { passive: true });\n    } catch (error) {\n      disableCursor(cursor);\n    }\n  }\n\n  function initMagneticInteractions(gsap) {\n    if (!gsap || prefersReducedMotion() || !hasFinePointer()) return;\n    var targets = document.querySelectorAll(\".btn, .product-form__cart-submit, .add-to-cart, .site-nav__link\");\n    targets.forEach(function (target) {\n      if (target.dataset.luxMagneticReady === \"true\") return;\n      target.dataset.luxMagneticReady = \"true\";\n      target.addEventListener(\"pointermove\", function (event) {\n        var rect = target.getBoundingClientRect();\n        if (!rect.width || !rect.height) return;\n        var x = ((event.clientX - (rect.left + rect.width / 2)) / rect.width) * 12;\n        var y = ((event.clientY - (rect.top + rect.height / 2)) / rect.height) * 12;\n        x = Math.max(-6, Math.min(6, x));\n        y = Math.max(-6, Math.min(6, y));\n        gsap.to(target, { x: x, y: y, duration: 0.32, ease: \"power3.out\", overwrite: \"auto\" });\n      }, { passive: true });\n      target.addEventListener(\"pointerleave\", function () {\n        gsap.to(target, { x: 0, y: 0, duration: 0.42, ease: \"power3.out\", overwrite: \"auto\", clearProps: \"transform\" });\n      }, { passive: true });\n    });\n  }\n\n  function splitLetters(text) {\n    return text.split(\"\").map(function (char) {\n      return \"<span>\" + (char === \" \" ? \"&nbsp;\" : char) + \"</span>\";\n    }).join(\"\");\n  }\n\n  function initPreloader(gsap) {\n    if (!gsap || prefersReducedMotion()) {\n      document.body.classList.remove(\"lux-preloading\");\n      return;\n    }\n    if (window.sessionStorage && window.sessionStorage.getItem(\"luxSkipNextPreloader\") === \"true\") {\n      window.sessionStorage.removeItem(\"luxSkipNextPreloader\");\n      window.sessionStorage.setItem(\"luxPreloaderShown\", \"true\");\n      document.body.classList.remove(\"lux-preloading\");\n      return;\n    }\n    if (window.sessionStorage && window.sessionStorage.getItem(\"luxPreloaderShown\") === \"true\") {\n      document.body.classList.remove(\"lux-preloading\");\n      return;\n    }\n    if (window.sessionStorage) window.sessionStorage.setItem(\"luxPreloaderShown\", \"true\");\n\n    var isMobile = isMobileViewport();\n    var overlay = document.createElement(\"div\");\n    overlay.className = \"lux-preloader\";\n    overlay.setAttribute(\"aria-hidden\", \"true\");\n    overlay.innerHTML = [\n      '<div class=\"lux-preloader__brand\">' + splitLetters(\"LUXURY LOOKBOOK\") + \"</div>\",\n      '<div class=\"lux-preloader__count\">00</div>'\n    ].join(\"\");\n    document.body.appendChild(overlay);\n    document.body.classList.add(\"lux-preloading\");\n\n    var preloaderDone = false;\n    function finishPreloader() {\n      if (preloaderDone) return;\n      preloaderDone = true;\n      document.body.classList.remove(\"lux-preloading\");\n      if (overlay && overlay.parentNode) overlay.remove();\n    }\n\n    var hardStop = window.setTimeout(finishPreloader, isMobile ? 2200 : 2800);\n    window.addEventListener(\"load\", function () {\n      window.setTimeout(finishPreloader, isMobile ? 1600 : 2100);\n    }, { once: true });\n\n    var count = overlay.querySelector(\".lux-preloader__count\");\n    var counter = { value: 0 };\n    var tl = gsap.timeline({\n      defaults: { ease: LUX_EASE },\n      onComplete: function () {\n        window.clearTimeout(hardStop);\n        finishPreloader();\n      }\n    });\n\n    tl.from(overlay.querySelectorAll(\".lux-preloader__brand span\"), {\n      autoAlpha: 0,\n      yPercent: 90,\n      duration: isMobile ? 0.48 : 0.64,\n      stagger: isMobile ? 0.018 : 0.024\n    }, 0);\n    tl.to(counter, {\n      value: 100,\n      duration: isMobile ? 0.82 : 1.08,\n      ease: \"power2.out\",\n      onUpdate: function () {\n        count.textContent = String(Math.round(counter.value)).padStart(2, \"0\");\n      }\n    }, 0);\n    tl.to(overlay, {\n      clipPath: \"inset(0 0 100% 0)\",\n      duration: isMobile ? 0.5 : 0.72,\n      ease: LUX_IN_OUT\n    }, isMobile ? 0.82 : 1.06);\n  }\n\n  function initPageWipe(gsap) {\n    if (!gsap || prefersReducedMotion()) return;\n    if (document.body.dataset.luxPageWipeReady === \"true\") return;\n    document.body.dataset.luxPageWipeReady = \"true\";\n\n    var overlay = document.createElement(\"div\");\n    overlay.className = \"lux-page-wipe\";\n    overlay.setAttribute(\"aria-hidden\", \"true\");\n    overlay.innerHTML = '<span class=\"lux-page-wipe__mark\"><span class=\"lux-page-wipe__logo\">Luxury</span><span class=\"lux-page-wipe__small\">LOOKBOOK</span></span><span class=\"lux-page-wipe__line\"></span>';\n    document.body.appendChild(overlay);\n    gsap.set(overlay, { autoAlpha: 0 });\n\n    var selector = [\n      \".site-nav__link[href]\",\n      \".mobile-nav__link[href]\",\n      \".lux-button[href]\",\n      \".lux-link[href]\",\n      \".grid-product__link[href]\",\n      \".lux-product-card__meta-link[href]\",\n      \".lux-curated-tile[href]\",\n      \".collection-item[href]\",\n      \".collection-item a[href]\"\n    ].join(\",\");\n\n    document.querySelectorAll(selector).forEach(function (link) {\n      link.addEventListener(\"click\", function (event) {\n        if (event.defaultPrevented || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n        if (link.target && link.target !== \"_self\") return;\n\n        var href = link.getAttribute(\"href\");\n        if (!href || href.charAt(0) === \"#\" || href.indexOf(\"mailto:\") === 0 || href.indexOf(\"tel:\") === 0) return;\n\n        var nextUrl = new URL(href, window.location.href);\n        if (nextUrl.origin !== window.location.origin || nextUrl.href === window.location.href) return;\n        if (document.documentElement.dataset.luxNavigating === \"true\") return;\n        document.documentElement.dataset.luxNavigating = \"true\";\n\n        event.preventDefault();\n        try {\n          if (window.sessionStorage) window.sessionStorage.setItem(\"luxSkipNextPreloader\", \"true\");\n        } catch (error) {}\n        overlay.classList.add(\"lux-page-wipe--active\");\n        gsap.fromTo(overlay, {\n          autoAlpha: 0\n        }, {\n          autoAlpha: 1,\n          duration: isMobileViewport() ? 0.11 : 0.14,\n          ease: \"power1.out\",\n          overwrite: true,\n          onComplete: function () {\n            window.location.href = nextUrl.href;\n          }\n        });\n      });\n    });\n  }\n\n  function revealElements(gsap, elements, options) {\n    if (!elements.length) return;\n    var isMobile = isMobileViewport();\n    gsap.fromTo(elements, {\n      autoAlpha: 0,\n      y: isMobile ? 14 : 24\n    }, {\n      autoAlpha: 1,\n      y: 0,\n      duration: options && options.duration ? options.duration : (isMobile ? 0.58 : 0.7),\n      stagger: options && options.stagger ? options.stagger : (isMobile ? 0.045 : 0.06),\n      ease: LUX_EASE,\n      clearProps: \"transform,opacity,visibility\"\n    });\n  }\n\n  function forceReveal(nodes) {\n    Array.prototype.slice.call(nodes || []).forEach(function (node) {\n      if (!node || !node.style) return;\n      node.style.opacity = \"1\";\n      node.style.visibility = \"visible\";\n      node.style.transform = \"none\";\n      node.style.clipPath = \"none\";\n    });\n  }\n\n  function forceAllReveal() {\n    forceReveal(document.querySelectorAll([\n      \".lux-editorial-card\",\n      \".lux-featured-drop\",\n      \".lux-curated-tile\",\n      \".lux-trust-atelier__point\",\n      \".lux-doran-video__frame\",\n      \".collection-item\",\n      \".grid-product\",\n      \".collection-grid__wrapper\",\n      \".page-content\",\n      \".lux-product__media\",\n      \".product-single__meta\",\n      \".product-block\",\n      \".lux-wholesale-portal\",\n      \".lux-wholesale-portal__media\",\n      \".lux-wholesale-portal__copy > *\",\n      \".lux-wholesale-portal__metric\"\n    ].join(\",\")));\n    document.body.classList.remove(\"lux-preloading\");\n  }\n\n  function revealImages(gsap, elements) {\n    if (!elements.length) return;\n    var isMobile = isMobileViewport();\n    elements.forEach(function (el) {\n      var media = el.querySelector(\".lux-editorial-card__image, .lux-curated-tile__image, .collection-image, .grid-product__image-mask, .lux-wholesale-portal__media\");\n      if (!media) return;\n      gsap.fromTo(el, {\n        clipPath: \"inset(0 0 100% 0)\"\n      }, {\n        clipPath: \"inset(0 0 0% 0)\",\n        duration: isMobile ? 0.62 : 0.86,\n        ease: LUX_IN_OUT,\n        clearProps: \"clipPath\"\n      });\n      gsap.fromTo(media, {\n        scale: 1.08\n      }, {\n        scale: 1,\n        duration: isMobile ? 0.78 : 1.05,\n        ease: LUX_EASE,\n        clearProps: \"transform\"\n      });\n    });\n  }\n\n  function initSectionReveals(gsap) {\n    if (!gsap || !(\"IntersectionObserver\" in window)) return;\n    if (document.body.dataset.luxRevealReady === \"true\") return;\n    document.body.dataset.luxRevealReady = \"true\";\n\n    var sections = document.querySelectorAll([\n      \".lux-editorial-panels\",\n      \".lux-featured-drop\",\n      \".lux-curated-tiles\",\n      \".lux-trust-atelier\",\n      \".lux-doran-video\",\n      \".lux-wholesale-portal\",\n      \".lux-designer-directory\",\n      \".featured-collections\",\n      \".collection-grid__wrapper\",\n      \".page-content\"\n    ].join(\",\"));\n\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) return;\n        observer.unobserve(entry.target);\n\n        var section = entry.target;\n        var header = Array.prototype.slice.call(section.querySelectorAll([\n          \".lux-kicker\",\n          \".lux-heading\",\n          \".lux-copy\",\n          \".section-header > *\",\n          \".lux-designer-directory__header > *\",\n          \".collection-filter\"\n        ].join(\",\"))).filter(function (node) {\n          return !node.closest(\".lux-editorial-card, .lux-curated-tile, .grid-product, .collection-item\");\n        });\n\n        var cards = Array.prototype.slice.call(section.querySelectorAll([\n          \".lux-editorial-card\",\n          \".lux-featured-drop__products .grid__item\",\n          \".lux-curated-tile\",\n          \".lux-trust-atelier__point\",\n          \".lux-doran-video__frame\",\n          \".collection-item\",\n          \".grid-product\",\n          \".lux-wholesale-portal__metric\"\n        ].join(\",\")));\n\n        revealElements(gsap, header, { stagger: 0.05 });\n        revealElements(gsap, cards, { stagger: isMobileViewport() ? 0.035 : 0.05 });\n        revealImages(gsap, cards);\n      });\n    }, { threshold: 0.04, rootMargin: \"20% 0px -6% 0px\" });\n\n    sections.forEach(function (section) {\n      var rect = section.getBoundingClientRect();\n      if (rect.top < window.innerHeight * 0.92) {\n        forceReveal(section.querySelectorAll(\".lux-kicker, .lux-heading, .lux-copy, .section-header > *, .collection-filter, .lux-editorial-card, .lux-curated-tile, .grid-product, .collection-item\"));\n      }\n      observer.observe(section);\n    });\n  }\n\n  function initEditorialHover(gsap) {\n    if (!gsap || isMobileViewport() || !window.matchMedia || !window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches) return;\n\n    document.querySelectorAll(\".lux-editorial-card, .lux-curated-tile, .collection-item\").forEach(function (card) {\n      if (card.matches && card.matches(\".lux-curated-tile--logo, [data-lux-brand-card]\")) return;\n      var image = card.querySelector(\".lux-editorial-card__image, .lux-curated-tile__image, .collection-image\");\n      var body = card.querySelector(\".lux-editorial-card__body, .lux-curated-tile__body, .collection-item__title\");\n      if (!image && !body) return;\n\n      card.addEventListener(\"mouseenter\", function () {\n        if (image) gsap.to(image, { scale: 1.03, duration: 0.6, ease: LUX_EASE, overwrite: \"auto\" });\n        if (body) gsap.to(body, { y: -3, duration: 0.32, ease: LUX_EASE, overwrite: \"auto\" });\n      });\n      card.addEventListener(\"mouseleave\", function () {\n        if (image) gsap.to(image, { scale: 1, duration: 0.6, ease: LUX_EASE, overwrite: \"auto\", clearProps: \"transform\" });\n        if (body) gsap.to(body, { y: 0, duration: 0.28, ease: LUX_EASE, overwrite: \"auto\", clearProps: \"transform\" });\n      });\n    });\n  }\n\n  function initProductCards(gsap) {\n    var cards = document.querySelectorAll(\".lux-product-card\");\n    cards.forEach(function (card) {\n      if (card.dataset.luxCardReady === \"true\") return;\n      card.dataset.luxCardReady = \"true\";\n\n      var slider = card.querySelector(\"[data-lux-card-slider]\");\n      var viewport = card.querySelector(\"[data-lux-card-viewport]\");\n      var track = card.querySelector(\"[data-lux-card-track]\");\n      var slides = Array.prototype.slice.call(card.querySelectorAll(\"[data-lux-card-slide]\"));\n      var dots = Array.prototype.slice.call(card.querySelectorAll(\"[data-lux-card-dot]\"));\n      var prev = card.querySelector(\"[data-lux-card-prev]\");\n      var next = card.querySelector(\"[data-lux-card-next]\");\n      if (!slider || !viewport || !track || !slides.length) return;\n\n      var activeIndex = 0;\n      var scrollTicking = false;\n      var pointerStart = null;\n      var pointerMoved = false;\n      var hoverTimer = null;\n\n      slider.style.setProperty(\"--lux-card-slide-count\", String(slides.length));\n      track.style.setProperty(\"--lux-card-slide-count\", String(slides.length));\n      card.setAttribute(\"data-lux-slide-count\", String(slides.length));\n      if (slides.length > 1) card.setAttribute(\"data-lux-has-multiple\", \"true\");\n\n      function parseWidths(value) {\n        if (!value) return [360, 540, 720, 900, 1080];\n        try {\n          var parsed = JSON.parse(value);\n          if (Array.isArray(parsed) && parsed.length) return parsed;\n        } catch (error) {\n          return value.replace(/[\\[\\]\\s]/g, \"\").split(\",\").map(Number).filter(Boolean);\n        }\n        return [360, 540, 720, 900, 1080];\n      }\n\n      function imageUrlForWidth(template, width) {\n        if (!template) return \"\";\n        return template.replace(\"{width}\", String(width));\n      }\n\n      function hydrateImage(img) {\n        if (!img || img.dataset.luxHydrated === \"true\") return;\n        var src = img.getAttribute(\"data-lux-card-src\") || img.getAttribute(\"data-src\");\n        if (!src) return;\n        var widths = parseWidths(img.getAttribute(\"data-lux-card-widths\") || img.getAttribute(\"data-widths\"));\n        var fallbackWidth = widths.indexOf(720) !== -1 ? 720 : widths[Math.min(1, widths.length - 1)];\n        img.dataset.luxHydrated = \"true\";\n        img.setAttribute(\"data-src\", src);\n        img.setAttribute(\"data-widths\", img.getAttribute(\"data-lux-card-widths\") || img.getAttribute(\"data-widths\") || \"[360, 540, 720, 900, 1080]\");\n        img.setAttribute(\"data-aspectratio\", img.getAttribute(\"data-lux-card-aspectratio\") || \"0.8\");\n        img.setAttribute(\"data-sizes\", \"auto\");\n        img.setAttribute(\"sizes\", img.getAttribute(\"sizes\") || \"(min-width: 769px) 25vw, 50vw\");\n        img.setAttribute(\"src\", imageUrlForWidth(src, fallbackWidth));\n        img.setAttribute(\"srcset\", widths.map(function (width) {\n          return imageUrlForWidth(src, width) + \" \" + width + \"w\";\n        }).join(\", \"));\n        img.classList.add(\"lazyload\");\n        img.classList.add(\"lazyloaded\");\n      }\n\n      function hydrateSlide(index) {\n        var slide = slides[index];\n        if (!slide) return;\n        hydrateImage(slide.querySelector(\"img[data-lux-card-src], img[data-src]\"));\n      }\n\n      function hydrateNearby(index) {\n        hydrateSlide(index);\n        hydrateSlide((index + 1) % slides.length);\n      }\n\n      function updateDots(index) {\n        dots.forEach(function (dot, dotIndex) {\n          var isActive = dotIndex === index;\n          dot.classList.toggle(\"is-active\", isActive);\n          if (isActive) dot.setAttribute(\"aria-current\", \"true\");\n          else dot.removeAttribute(\"aria-current\");\n        });\n      }\n\n      function updateActiveAttributes(index) {\n        card.setAttribute(\"data-lux-active-index\", String(index));\n        slider.setAttribute(\"data-lux-active-index\", String(index));\n        track.setAttribute(\"data-lux-active-index\", String(index));\n      }\n\n      function goTo(index) {\n        if (slides.length < 2) return;\n        activeIndex = (index + slides.length) % slides.length;\n        hydrateNearby(activeIndex);\n        updateDots(activeIndex);\n        updateActiveAttributes(activeIndex);\n        track.style.setProperty(\"--lux-card-offset\", (-100 * activeIndex) + \"%\");\n\n        if (isMobileViewport()) {\n          viewport.scrollTo({\n            left: viewport.clientWidth * activeIndex,\n            behavior: prefersReducedMotion() ? \"auto\" : \"smooth\"\n          });\n          return;\n        }\n\n        track.style.removeProperty(\"transform\");\n      }\n\n      hydrateNearby(0);\n      updateDots(0);\n      var commitManualSlide = goTo;\n\n      if (!isMobileViewport() && window.matchMedia && window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches) {\n        var hoverPreviewIndex = 0;\n        var hoverSession = 0;\n        var hoverImageCleanup = null;\n\n        function clearHoverImageWait() {\n          if (!hoverImageCleanup) return;\n          hoverImageCleanup();\n          hoverImageCleanup = null;\n        }\n\n        function previewLoadedSlide(index, session) {\n          hydrateSlide(index);\n          var slide = slides[index];\n          var img = slide && slide.querySelector(\"img\");\n          if (!img) return;\n          var decoding = false;\n\n          function showPreview() {\n            if (session !== hoverSession || !img.complete || img.naturalWidth < 1 || decoding) return;\n            decoding = true;\n            var decoded = typeof img.decode === \"function\" ? img.decode() : Promise.resolve();\n            decoded.then(function () {\n              decoding = false;\n              if (session !== hoverSession || !img.complete || img.naturalWidth < 1) return;\n              clearHoverImageWait();\n              goTo(index);\n            }).catch(function () {\n              decoding = false;\n            });\n          }\n\n          if (img.complete && img.naturalWidth > 0) {\n            showPreview();\n            return;\n          }\n\n          var timeout = window.setTimeout(clearHoverImageWait, 5000);\n          function cleanup() {\n            window.clearTimeout(timeout);\n            img.removeEventListener(\"load\", showPreview);\n            img.removeEventListener(\"error\", clearHoverImageWait);\n          }\n          hoverImageCleanup = cleanup;\n          img.addEventListener(\"load\", showPreview);\n          img.addEventListener(\"error\", clearHoverImageWait, { once: true });\n        }\n\n        function dispatchCursorMode(mode, label) {\n          if (typeof window.CustomEvent !== \"function\") return;\n          document.dispatchEvent(new CustomEvent(\"lux:cursor-mode\", {\n            detail: {\n              mode: mode,\n              label: label\n            }\n          }));\n        }\n        function announceDragCursor() {\n          dispatchCursorMode(\"media\", \"DRAG\");\n        }\n        function scheduleHoverPreview() {\n          hoverSession += 1;\n          var session = hoverSession;\n          clearHoverImageWait();\n          hydrateNearby(activeIndex);\n          hydrateSlide((activeIndex + 2) % slides.length);\n          if (hoverTimer) window.clearTimeout(hoverTimer);\n          if (slides.length > 1) {\n            hoverPreviewIndex = activeIndex;\n            hoverTimer = window.setTimeout(function () {\n              hoverTimer = null;\n              previewLoadedSlide(Math.min(1, slides.length - 1), session);\n            }, 620);\n          }\n        }\n        function cancelHoverPreview() {\n          hoverSession += 1;\n          clearHoverImageWait();\n          if (hoverTimer) {\n            window.clearTimeout(hoverTimer);\n            hoverTimer = null;\n          }\n          if (slides.length > 1) {\n            goTo(hoverPreviewIndex || 0);\n          }\n        }\n        commitManualSlide = function (index) {\n          hoverSession += 1;\n          clearHoverImageWait();\n          if (hoverTimer) {\n            window.clearTimeout(hoverTimer);\n            hoverTimer = null;\n          }\n          goTo(index);\n          hoverPreviewIndex = activeIndex;\n        };\n        card.addEventListener(\"mouseenter\", scheduleHoverPreview);\n        card.addEventListener(\"mouseleave\", cancelHoverPreview);\n        slider.addEventListener(\"mouseenter\", announceDragCursor);\n        slider.addEventListener(\"mousemove\", announceDragCursor);\n        slider.addEventListener(\"mouseleave\", function () {\n          dispatchCursorMode(\"idle\");\n        });\n      }\n\n      if (prev) {\n        prev.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          commitManualSlide(activeIndex - 1);\n        });\n      }\n\n      if (next) {\n        next.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          commitManualSlide(activeIndex + 1);\n        });\n      }\n\n      dots.forEach(function (dot) {\n        dot.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          commitManualSlide(Number(dot.getAttribute(\"data-lux-card-dot\")) || 0);\n        });\n      });\n\n      viewport.addEventListener(\"scroll\", function () {\n        if (!isMobileViewport() || scrollTicking) return;\n        scrollTicking = true;\n        window.requestAnimationFrame(function () {\n          var nextIndex = Math.round(viewport.scrollLeft / Math.max(1, viewport.clientWidth));\n          nextIndex = Math.max(0, Math.min(slides.length - 1, nextIndex));\n          if (nextIndex !== activeIndex) {\n            activeIndex = nextIndex;\n            hydrateNearby(activeIndex);\n            updateDots(activeIndex);\n            updateActiveAttributes(activeIndex);\n          }\n          scrollTicking = false;\n        });\n      }, { passive: true });\n\n      track.addEventListener(\"pointerdown\", function (event) {\n        pointerStart = { x: event.clientX, y: event.clientY };\n        pointerMoved = false;\n      }, { passive: true });\n\n      track.addEventListener(\"pointermove\", function (event) {\n        if (!pointerStart) return;\n        if (Math.abs(event.clientX - pointerStart.x) > 8 || Math.abs(event.clientY - pointerStart.y) > 8) {\n          pointerMoved = true;\n        }\n      }, { passive: true });\n\n      track.addEventListener(\"click\", function (event) {\n        if (!pointerMoved) return;\n        event.preventDefault();\n        pointerMoved = false;\n      });\n\n      track.addEventListener(\"pointerup\", function () {\n        pointerStart = null;\n        window.setTimeout(function () {\n          pointerMoved = false;\n        }, 0);\n      }, { passive: true });\n\n      track.addEventListener(\"pointercancel\", function () {\n        pointerStart = null;\n        pointerMoved = false;\n      }, { passive: true });\n\n      if (\"IntersectionObserver\" in window) {\n        var observer = new IntersectionObserver(function (entries) {\n          entries.forEach(function (entry) {\n            if (!entry.isIntersecting) return;\n            observer.unobserve(entry.target);\n            hydrateNearby(activeIndex);\n          });\n        }, { rootMargin: \"420px 0px\" });\n        observer.observe(card);\n      }\n    });\n  }\n\n  function initCollectionViewToggle() {\n    var collections = Array.prototype.slice.call(document.querySelectorAll(\".lux-collection\"));\n    if (!collections.length) return;\n\n    var storageKey = \"luxCollectionGridViewV3\";\n    var allowedViews = { compact: true, editorial: true, gallery: true };\n    var buttons = Array.prototype.slice.call(document.querySelectorAll(\"[data-lux-grid-option]\"));\n    var defaultView = \"compact\";\n    var savedView = defaultView;\n\n    try {\n      var stored = window.localStorage && window.localStorage.getItem(storageKey);\n      if (stored && allowedViews[stored]) savedView = stored;\n    } catch (error) {\n      savedView = defaultView;\n    }\n    if (isMobileViewport() && savedView === \"editorial\") savedView = defaultView;\n\n    function setView(view, shouldStore) {\n      if (!allowedViews[view]) view = defaultView;\n      collections.forEach(function (collection) {\n        collection.setAttribute(\"data-lux-grid-view\", view);\n      });\n      buttons.forEach(function (button) {\n        var active = button.getAttribute(\"data-lux-grid-option\") === view;\n        button.classList.toggle(\"is-active\", active);\n        button.setAttribute(\"aria-pressed\", active ? \"true\" : \"false\");\n      });\n      if (shouldStore) {\n        try {\n          if (window.localStorage) window.localStorage.setItem(storageKey, view);\n        } catch (error) {}\n      }\n    }\n\n    buttons.forEach(function (button) {\n      if (button.dataset.luxViewToggleReady === \"true\") return;\n      button.dataset.luxViewToggleReady = \"true\";\n      button.addEventListener(\"click\", function () {\n        setView(button.getAttribute(\"data-lux-grid-option\"), true);\n      });\n    });\n\n    setView(savedView, false);\n  }\n\n  function enforcePageCollectionCards() {\n    if (!document.body || !document.body.classList.contains(\"template-page\")) return;\n    var cards = Array.prototype.slice.call(document.querySelectorAll(\".featured-collections .collection-item--below\"));\n    if (!cards.length) return;\n\n    var compactHeight = isMobileViewport() ? 226 : Math.round(Math.max(218, Math.min(260, window.innerWidth * 0.16)));\n    var titleBottom = isMobileViewport() ? 18 : 20;\n    var titleInset = isMobileViewport() ? 18 : 22;\n    var tileOverrides = {\n      \"shoulder-bags\": { asset: \"lux-hero-shoulder-landscape.jpg\", position: \"50% 50%\" },\n      \"crossbody-bags\": { asset: \"lux-final-crossbody-v3.jpg\", position: \"55% 50%\" },\n      \"wallet-on-chain\": { asset: \"lux-final-woc-v2.jpg\", position: \"50% 62%\" },\n      \"shopper-bags\": { asset: \"lux-style-neverfull.jpg\", position: \"50% 50%\" },\n      \"satchel-bags\": { asset: \"lux-r120-satchel-lady-dior.jpg\", position: \"38% 56%\" },\n      \"hobo-bags\": { asset: \"lux-web-r41-card-hobo.jpg\", position: \"50% 54%\" },\n      \"cosmetic-toiletry-bags\": { asset: \"lux-web-r50-cosmetic.jpg\", position: \"50% 50%\" },\n      \"duffle-bags\": { asset: \"lux-silhouette-duffle-keepall.jpg\", position: \"50% 50%\" },\n      \"fanny-packs\": { asset: \"lux-final-fanny-v3.jpg\", position: \"50% 50%\" },\n      \"bucket-bags\": { asset: \"lux-final-bucket-v3.jpg\", position: \"50% 50%\" },\n      \"clutch-bags\": { asset: \"lux-web-r41-card-clutch.jpg\", position: \"50% 50%\" },\n      \"half-moon-bags\": { asset: \"lux-web-r54-halfmoon.jpg\", position: \"50% 54%\" },\n      \"handbags\": { asset: \"lux-web-r51-handbag-table.jpg\", position: \"50% 50%\" },\n      \"bracelets\": { asset: \"lux-r108-bracelets.jpg\", position: \"50% 50%\" },\n      \"earrings\": { asset: \"lux-final-earrings-v2.jpg\", position: \"58% 48%\" },\n      \"charms-pendants\": { asset: \"lux-web-r41-card-charms.jpg\", position: \"50% 50%\" },\n      \"card-cases\": { asset: \"lux-web-r41-card-card-cases.jpg\", position: \"50% 50%\" },\n      \"keychains\": { asset: \"lux-web-r41-card-keychains.jpg\", position: \"50% 58%\" },\n      \"necklaces\": { asset: \"lux-web-r41-card-necklaces.jpg\", position: \"50% 72%\" },\n      \"rings\": { asset: \"lux-r111-rings.jpg\", position: \"50% 74%\" },\n      \"scarves-shawls\": { asset: \"lux-web-r41-card-scarves.jpg\", position: \"50% 35%\" }\n    };\n\n    function normalizeAssetUrl(rawUrl) {\n      if (!rawUrl) return \"\";\n      return rawUrl.replace(/^\\/\\//, window.location.protocol + \"//\").split(\"?\")[0];\n    }\n\n    function pageTileAssetUrl(filename, image) {\n      var current = image && window.getComputedStyle(image).backgroundImage;\n      var match = current && current.match(/url\\([\"']?([^\"')]+)[\"']?\\)/);\n      var base = normalizeAssetUrl(match && match[1]);\n      var assetIndex = base.lastIndexOf(\"/assets/\");\n      if (assetIndex !== -1) {\n      return base.slice(0, assetIndex + 8) + filename;\n      }\n\n      var script = document.querySelector('script[src*=\"/assets/luxury-dior.js\"]');\n      var scriptBase = normalizeAssetUrl(script && script.src);\n      assetIndex = scriptBase.lastIndexOf(\"/assets/\");\n      if (assetIndex !== -1) {\n        return scriptBase.slice(0, assetIndex + 8) + filename;\n      }\n\n      return window.location.origin + \"/cdn/shop/t/31/assets/\" + filename;\n    }\n\n    function handleFromCard(card) {\n      var href = card.getAttribute(\"href\") || \"\";\n      var match = href.match(/\\/collections\\/([^/?#]+)/);\n      if (match && match[1]) return decodeURIComponent(match[1]).toLowerCase();\n      var classMatch = (card.className || \"\").match(/collection-item--([a-z0-9-]+)/);\n      return classMatch && classMatch[1] ? classMatch[1].toLowerCase() : \"\";\n    }\n\n    cards.forEach(function (card) {\n      var image = card.querySelector(\".collection-image\");\n      var title = card.querySelector(\".collection-item__title\");\n      var handle = handleFromCard(card);\n      var override = tileOverrides[handle];\n      card.style.setProperty(\"height\", compactHeight + \"px\", \"important\");\n      card.style.setProperty(\"min-height\", \"0\", \"important\");\n      card.style.setProperty(\"max-height\", compactHeight + \"px\", \"important\");\n      card.style.setProperty(\"overflow\", \"hidden\", \"important\");\n\n      if (image) {\n        image.style.setProperty(\"position\", \"absolute\", \"important\");\n        image.style.setProperty(\"inset\", \"0\", \"important\");\n        image.style.setProperty(\"width\", \"100%\", \"important\");\n        image.style.setProperty(\"height\", \"100%\", \"important\");\n        image.style.setProperty(\"min-height\", \"0\", \"important\");\n        image.style.setProperty(\"padding\", \"0\", \"important\");\n        image.style.setProperty(\"background-size\", \"cover\", \"important\");\n        image.style.setProperty(\"background-repeat\", \"no-repeat\", \"important\");\n        if (false && override && override.asset) {\n          var overrideUrl = pageTileAssetUrl(override.asset, image);\n          image.style.setProperty(\"--lux-collection-card-image\", \"url(\" + overrideUrl + \")\", \"important\");\n          image.style.setProperty(\"background-image\", \"url(\" + overrideUrl + \")\", \"important\");\n          image.style.setProperty(\"background-position\", override.position || \"50% 50%\", \"important\");\n          image.style.setProperty(\"--lux-collection-card-position\", override.position || \"50% 50%\", \"important\");\n        }\n      }\n\n      if (title) {\n        title.style.setProperty(\"position\", \"absolute\", \"important\");\n        title.style.setProperty(\"left\", titleInset + \"px\", \"important\");\n        title.style.setProperty(\"right\", titleInset + \"px\", \"important\");\n        title.style.setProperty(\"top\", \"auto\", \"important\");\n        title.style.setProperty(\"bottom\", titleBottom + \"px\", \"important\");\n        title.style.setProperty(\"margin\", \"0\", \"important\");\n        title.style.setProperty(\"width\", \"auto\", \"important\");\n        title.style.setProperty(\"max-width\", \"calc(100% - \" + titleInset * 2 + \"px)\", \"important\");\n      }\n    });\n  }\n\n  function normalizeCollectionFilterLabels() {\n    Array.prototype.slice.call(document.querySelectorAll(\".lux-filter-chip--color\")).forEach(function (chip) {\n      var label = chip.querySelector(\"span:last-child\");\n      if (!label) return;\n      var text = (label.textContent || \"\").replace(/\\s+/g, \" \").trim();\n      if (!text) return;\n      var parts = text.split(\" \");\n      var normalized = text;\n      if (parts.length === 2 && parts[0].toLowerCase() === parts[1].toLowerCase()) {\n        normalized = parts[0];\n      }\n      if (/^color color$/i.test(text)) normalized = \"Color\";\n      if (normalized !== text) {\n        label.textContent = normalized;\n        label.setAttribute(\"data-lux-filter-label\", normalized);\n      }\n    });\n  }\n\n  function initGuidedFilters() {\n    var panels = Array.prototype.slice.call(document.querySelectorAll(\"[data-lux-mobile-collapsible]\"));\n    if (!panels.length) return;\n\n    function syncPanels() {\n      panels.forEach(function (panel) {\n        if (isMobileViewport()) {\n          panel.removeAttribute(\"open\");\n        } else {\n          panel.setAttribute(\"open\", \"open\");\n        }\n      });\n    }\n\n    syncPanels();\n\n    if (document.body.dataset.luxGuidedFiltersReady === \"true\") return;\n    document.body.dataset.luxGuidedFiltersReady = \"true\";\n\n    var resizeTimer;\n    window.addEventListener(\"resize\", function () {\n      window.clearTimeout(resizeTimer);\n      resizeTimer = window.setTimeout(syncPanels, 140);\n    }, { passive: true });\n  }\n\n  function initTitleKeywordFilters() {\n    var collection = document.querySelector(\".lux-collection\");\n    var grid = document.querySelector(\".lux-collection .collection-grid__wrapper > .grid--uniform\");\n    var triggers = Array.prototype.slice.call(document.querySelectorAll(\"[data-lux-title-filter]\"));\n    if (!collection || !grid || !triggers.length) return;\n\n    var cards = Array.prototype.slice.call(grid.children);\n    var params = new URLSearchParams(window.location.search);\n    var activeKeyword = (params.get(\"lux_title\") || \"\").toLowerCase().trim();\n    var empty = grid.parentNode.querySelector(\".lux-title-filter-empty\");\n    var countNodes = Array.prototype.slice.call(document.querySelectorAll(\".collection-filter__item--count\"));\n    var originalCountText = countNodes.map(function (node) {\n      return (node.textContent || \"\").replace(/\\s+/g, \" \").trim();\n    });\n    var paginations = Array.prototype.slice.call(document.querySelectorAll(\".pagination, .pagination-wrapper, .pagination__wrapper\"));\n\n    if (!empty) {\n      empty = document.createElement(\"div\");\n      empty.className = \"lux-title-filter-empty\";\n      empty.setAttribute(\"hidden\", \"hidden\");\n      empty.textContent = \"No matching pieces are visible on this page. Clear the filter or search the full catalogue.\";\n      grid.parentNode.insertBefore(empty, grid.nextSibling);\n    }\n\n    function normalize(value) {\n      return (value || \"\").toLowerCase().replace(/[-_]+/g, \" \").replace(/\\s+/g, \" \").trim();\n    }\n\n    function keywordList(value) {\n      return normalize(value)\n        .split(\",\")\n        .map(function (item) { return normalize(item); })\n        .filter(Boolean);\n    }\n\n    function setUrl(keyword) {\n      var next = new URL(window.location.href);\n      if (keyword) next.searchParams.set(\"lux_title\", keyword);\n      else next.searchParams.delete(\"lux_title\");\n      window.history.replaceState({}, \"\", next.toString());\n    }\n\n    function apply(keyword, shouldUpdateUrl) {\n      activeKeyword = normalize(keyword);\n      var activeKeywords = keywordList(activeKeyword);\n      var visibleCount = 0;\n      var isFiltered = activeKeywords.length > 0;\n\n      cards.forEach(function (card) {\n        var filterText = normalize(card.getAttribute(\"data-lux-filter-text\") || (card.querySelector(\".grid-product__title\") || card).textContent);\n        var shouldShow = !activeKeywords.length || activeKeywords.some(function (item) {\n          return filterText.indexOf(item) !== -1;\n        });\n        card.classList.toggle(\"lux-title-filter-hidden\", !shouldShow);\n        card.setAttribute(\"aria-hidden\", shouldShow ? \"false\" : \"true\");\n        if (shouldShow) visibleCount += 1;\n      });\n\n      collection.setAttribute(\"data-lux-title-filter-active\", isFiltered ? \"true\" : \"false\");\n      countNodes.forEach(function (node, index) {\n        if (!isFiltered) {\n          node.textContent = originalCountText[index] || node.textContent;\n          return;\n        }\n        node.textContent = visibleCount + (visibleCount === 1 ? \" product shown\" : \" products shown\");\n      });\n      paginations.forEach(function (pagination) {\n        pagination.style.display = isFiltered ? \"none\" : \"\";\n      });\n\n      triggers.forEach(function (trigger) {\n        var triggerKeyword = normalize(trigger.getAttribute(\"data-lux-title-filter\"));\n        var triggerKeywords = keywordList(triggerKeyword);\n        var active = activeKeywords.length && triggerKeywords.some(function (item) {\n          return activeKeywords.indexOf(item) !== -1;\n        });\n        trigger.classList.toggle(\"is-active\", Boolean(active));\n        trigger.setAttribute(\"aria-pressed\", active ? \"true\" : \"false\");\n      });\n\n      empty.hidden = !activeKeyword || visibleCount > 0;\n      if (shouldUpdateUrl) setUrl(activeKeyword);\n    }\n\n    triggers.forEach(function (trigger) {\n      if (trigger.dataset.luxTitleFilterReady === \"true\") return;\n      trigger.dataset.luxTitleFilterReady = \"true\";\n      trigger.addEventListener(\"click\", function (event) {\n        var keyword = normalize(trigger.getAttribute(\"data-lux-title-filter\"));\n        if (!keyword) return;\n        event.preventDefault();\n        apply(activeKeyword === keyword ? \"\" : keyword, true);\n      });\n    });\n\n    document.addEventListener(\"click\", function (event) {\n      var trigger = event.target.closest && event.target.closest(\"[data-lux-title-filter]\");\n      var drawer = document.getElementById(\"FilterDrawer\");\n      if (!trigger) return;\n      if (!collection.contains(trigger) && !(drawer && drawer.contains(trigger))) return;\n      var keyword = normalize(trigger.getAttribute(\"data-lux-title-filter\"));\n      if (!keyword) return;\n      event.preventDefault();\n      event.stopPropagation();\n      apply(activeKeyword === keyword ? \"\" : keyword, true);\n    }, true);\n\n    apply(activeKeyword, false);\n  }\n\n  function initCollectionFilterDrawerFallback() {\n    var drawer = document.getElementById(\"FilterDrawer\");\n    if (!drawer) return;\n\n    var triggers = Array.prototype.slice.call(document.querySelectorAll(\".js-drawer-open-collection-filters, [aria-controls='FilterDrawer']\"));\n    var closeButtons = Array.prototype.slice.call(drawer.querySelectorAll(\".js-drawer-close, [data-lux-filter-close]\"));\n    var html = document.documentElement;\n    var lastTrigger = null;\n\n    function isOpen() {\n      return drawer.classList.contains(\"drawer--is-open\");\n    }\n\n    function openManually(trigger) {\n      lastTrigger = trigger || lastTrigger;\n      if (lastTrigger) lastTrigger.setAttribute(\"aria-expanded\", \"true\");\n      drawer.classList.add(\"drawer--is-open\");\n      html.classList.add(\"js-drawer-open\");\n      drawer.setAttribute(\"aria-hidden\", \"false\");\n      document.dispatchEvent(new CustomEvent(\"drawerOpen\"));\n      document.dispatchEvent(new CustomEvent(\"drawerOpen.FilterDrawer\"));\n    }\n\n    function closeManually() {\n      if (!isOpen()) return;\n      drawer.classList.remove(\"drawer--is-open\");\n      html.classList.remove(\"js-drawer-open\");\n      html.classList.add(\"js-drawer-closing\");\n      drawer.setAttribute(\"aria-hidden\", \"true\");\n      if (lastTrigger) lastTrigger.setAttribute(\"aria-expanded\", \"false\");\n      window.setTimeout(function () {\n        html.classList.remove(\"js-drawer-closing\");\n      }, 260);\n    }\n\n    triggers.forEach(function (trigger) {\n      if (trigger.dataset.luxFilterDrawerFallbackReady === \"true\") return;\n      trigger.dataset.luxFilterDrawerFallbackReady = \"true\";\n      trigger.setAttribute(\"aria-expanded\", isOpen() ? \"true\" : \"false\");\n      trigger.addEventListener(\"click\", function (event) {\n        window.setTimeout(function () {\n          if (isOpen()) {\n            lastTrigger = trigger;\n            trigger.setAttribute(\"aria-expanded\", \"true\");\n            return;\n          }\n          if (window.theme && window.theme.FilterDrawer && typeof window.theme.FilterDrawer.open === \"function\") {\n            try {\n              window.theme.FilterDrawer.open(event, trigger);\n              return;\n            } catch (error) {}\n          }\n          event.preventDefault();\n          event.stopPropagation();\n          openManually(trigger);\n        }, 0);\n      });\n    });\n\n    closeButtons.forEach(function (button) {\n      if (button.dataset.luxFilterCloseReady === \"true\") return;\n      button.dataset.luxFilterCloseReady = \"true\";\n      button.addEventListener(\"click\", function () {\n        if (window.theme && window.theme.FilterDrawer && typeof window.theme.FilterDrawer.close === \"function\") {\n          try {\n            window.theme.FilterDrawer.close();\n            return;\n          } catch (error) {}\n        }\n        closeManually();\n      });\n    });\n\n    if (document.body.dataset.luxFilterBackdropReady !== \"true\") {\n      document.body.dataset.luxFilterBackdropReady = \"true\";\n      document.addEventListener(\"click\", function (event) {\n        if (!isOpen()) return;\n        if (event.target.closest(\"#FilterDrawer\") || event.target.closest(\".js-drawer-open-collection-filters\")) return;\n        if (window.theme && window.theme.FilterDrawer && typeof window.theme.FilterDrawer.close === \"function\") {\n          try {\n            window.theme.FilterDrawer.close(event);\n            return;\n          } catch (error) {}\n        }\n        closeManually();\n      });\n      document.addEventListener(\"keydown\", function (event) {\n        if (event.key !== \"Escape\" || !isOpen()) return;\n        if (window.theme && window.theme.FilterDrawer && typeof window.theme.FilterDrawer.close === \"function\") {\n          try {\n            window.theme.FilterDrawer.close();\n            return;\n          } catch (error) {}\n        }\n        closeManually();\n      });\n    }\n  }\n\n  function initDoranFallback() {\n    var frames = Array.prototype.slice.call(document.querySelectorAll(\".lux-doran-video__frame\"));\n    if (!frames.length) return;\n\n    function hasUsefulContent(frame) {\n      var usefulNodes = Array.prototype.slice.call(frame.children).filter(function (node) {\n        return ![\"SCRIPT\", \"STYLE\"].includes(node.tagName);\n      });\n      var text = usefulNodes.map(function (node) {\n        return (node.innerText || \"\").replace(/\\s+/g, \"\").trim();\n      }).join(\"\");\n      var tallChild = usefulNodes.some(function (node) {\n        return node.getBoundingClientRect().height > 80;\n      });\n      return Boolean(text) || tallChild;\n    }\n\n    function check() {\n      frames.forEach(function (frame) {\n        frame.classList.toggle(\"lux-doran-video__frame--empty\", !hasUsefulContent(frame));\n      });\n    }\n\n    check();\n    window.setTimeout(check, 1200);\n    window.setTimeout(check, 3200);\n  }\n\n  function initProductDetail(gsap) {\n    var product = document.querySelector(\".lux-product\");\n    if (!product || product.dataset.luxProductDetailReady === \"true\") return;\n    product.dataset.luxProductDetailReady = \"true\";\n    forceReveal(product.querySelectorAll(\".lux-product__media, .product-single__meta, .product-block\"));\n  }\n\n  function fixSignatureReadability() {\n    var section = document.querySelector(\"#signature-pieces\");\n    if (!section) return;\n    var lightText = \"#F4F1EC\";\n    var mutedText = \"rgba(244, 241, 236, .7)\";\n    var gold = \"#B89A61\";\n    var shadow = \"0 4px 28px rgba(0, 0, 0, .42)\";\n    var softShadow = \"0 2px 16px rgba(0, 0, 0, .32)\";\n    var title = section.querySelector(\".lux-curated-tiles__title\");\n    var kicker = section.querySelector(\".lux-kicker\");\n    var copy = section.querySelector(\".lux-copy\");\n    var viewAll = section.querySelector(\".lux-curated-tiles__view-all\");\n    [section.querySelector(\".lux-curated-tiles__header\"), section.querySelector(\".lux-curated-tiles__header-aside\")].forEach(function (node) {\n      if (!node || !node.style) return;\n      node.style.setProperty(\"color\", lightText, \"important\");\n    });\n    if (title && title.style) {\n      title.style.setProperty(\"color\", lightText, \"important\");\n      title.style.setProperty(\"text-shadow\", shadow, \"important\");\n    }\n    if (kicker && kicker.style) {\n      kicker.style.setProperty(\"color\", \"rgba(244, 241, 236, .66)\", \"important\");\n      kicker.style.setProperty(\"text-shadow\", softShadow, \"important\");\n    }\n    if (copy && copy.style) {\n      copy.style.setProperty(\"color\", mutedText, \"important\");\n      copy.style.setProperty(\"text-shadow\", softShadow, \"important\");\n    }\n    if (viewAll && viewAll.style) {\n      viewAll.style.setProperty(\"color\", gold, \"important\");\n      viewAll.style.setProperty(\"text-shadow\", \"0 2px 16px rgba(0, 0, 0, .28)\", \"important\");\n    }\n  }\n\n  function initWholesale(gsap) {\n    document.querySelectorAll(\".lux-wholesale-portal\").forEach(function (portal) {\n      if (portal.dataset.luxWholesaleReady === \"true\") return;\n      portal.dataset.luxWholesaleReady = \"true\";\n      var media = portal.querySelector(\".lux-wholesale-portal__media\");\n      var copy = Array.prototype.slice.call(portal.querySelectorAll(\".lux-wholesale-portal__copy > *\"));\n      var metrics = Array.prototype.slice.call(portal.querySelectorAll(\".lux-wholesale-portal__metric\"));\n      forceReveal(portal.querySelectorAll(\".lux-wholesale-portal__media, .lux-wholesale-portal__copy > *, .lux-wholesale-portal__metric\"));\n      if (gsap && media) {\n        gsap.fromTo(media, { scale: 1.05, autoAlpha: 0.9 }, { scale: 1, autoAlpha: 1, duration: 1.1, ease: LUX_EASE, clearProps: \"transform,opacity,visibility\" });\n      }\n      if (gsap) {\n        revealElements(gsap, copy.concat(metrics), { stagger: 0.06, duration: isMobileViewport() ? 0.54 : 0.72 });\n      }\n    });\n  }\n\n  function finalVerifiedAssetUrl(filename) {\n    var version = filename.indexOf(\"lux-campaign-new-arrival\") === 0 ? \"20260707-r166-new-arrival-r163\" : \"20260704-r121\";\n    var script = document.querySelector('script[src*=\"/assets/luxury-dior.js\"]') || document.querySelector('script[src*=\"luxury-dior.js\"]');\n    var src = script && script.src ? script.src.split(\"?\")[0] : \"\";\n    var assetIndex = src.lastIndexOf(\"/assets/\");\n    if (assetIndex !== -1) return src.slice(0, assetIndex + 8) + filename;\n    return window.location.origin + \"/cdn/shop/t/31/assets/\" + filename;\n  }\n\n  function enforceVerifiedCollectionImages() {\n    var imageMap = {\n      \"shoulder-bags\": [\"lux-hero-shoulder-landscape.jpg\", \"50% 50%\"],\n      \"crossbody-bags\": [\"lux-final-crossbody-v3.jpg\", \"55% 50%\"],\n      \"shopper-bags\": [\"lux-style-neverfull.jpg\", \"50% 50%\"],\n      \"satchel-bags\": [\"lux-r120-satchel-lady-dior.jpg\", \"38% 56%\"],\n      \"wallet-on-chain\": [\"lux-final-woc-v2.jpg\", \"50% 62%\"],\n      \"wallets\": [\"lux-final-wallets-v2.jpg\", \"50% 52%\"],\n      \"bracelets\": [\"lux-r108-bracelets.jpg\", \"50% 50%\"],\n      \"earrings\": [\"lux-final-earrings-v2.jpg\", \"58% 48%\"],\n      \"rings\": [\"lux-r111-rings.jpg\", \"50% 74%\"],\n      \"charms-pendants\": [\"lux-web-r41-card-charms.jpg\", \"50% 66%\"],\n      \"charms\": [\"lux-web-r41-card-charms.jpg\", \"50% 66%\"],\n      \"brooches-lapel-pins\": [\"lux-web-r41-card-brooches.jpg\", \"50% 50%\"],\n      \"card-cases\": [\"lux-web-r41-card-card-cases.jpg\", \"50% 50%\"],\n      \"keychains\": [\"lux-web-r41-card-keychains.jpg\", \"50% 58%\"],\n      \"necklaces\": [\"lux-web-r41-card-necklaces.jpg\", \"50% 72%\"],\n      \"scarves-shawls\": [\"lux-web-r41-card-scarves.jpg\", \"50% 35%\"],\n      \"hobo-bags\": [\"lux-web-r41-card-hobo.jpg\", \"50% 54%\"],\n      \"bucket-bags\": [\"lux-final-bucket-v3.jpg\", \"50% 50%\"],\n      \"duffle-bags\": [\"lux-silhouette-duffle-keepall.jpg\", \"50% 50%\"],\n      \"fanny-packs\": [\"lux-final-fanny-v3.jpg\", \"50% 50%\"],\n      \"clutch-bags\": [\"lux-web-r41-card-clutch.jpg\", \"50% 50%\"],\n      \"half-moon-bags\": [\"lux-web-r54-halfmoon.jpg\", \"50% 54%\"],\n      \"handbags\": [\"lux-web-r51-handbag-table.jpg\", \"50% 50%\"],\n      \"cosmetic-toiletry-bags\": [\"lux-web-r50-cosmetic.jpg\", \"50% 50%\"]\n    };\n\n    Object.keys(imageMap).forEach(function (handle) {\n      var item = imageMap[handle];\n      var url = finalVerifiedAssetUrl(item[0]);\n      var selector = [\n        \"#shop-by-silhouette .lux-curated-tile--\" + handle + \" .lux-curated-tile__image\",\n        \".featured-collections .collection-item--\" + handle + \" .collection-image\",\n        \".featured-collections a[href*='/collections/\" + handle + \"'] .collection-image\",\n        \".lux-collection__intro[data-lux-collection-handle='\" + handle + \"']\"\n      ].join(\",\");\n\n      Array.prototype.slice.call(document.querySelectorAll(selector)).forEach(function (node) {\n        if (!node || !node.style) return;\n        var lockKey = item[0] + \"|\" + item[1] + \"|\" + (node.classList && node.classList.contains(\"lux-collection__intro\") ? \"hero\" : \"card\");\n        var currentImage = node.style.backgroundImage || \"\";\n        if (node.dataset.luxVerifiedImageLock === lockKey && currentImage.indexOf(item[0]) !== -1) return;\n        node.dataset.luxVerifiedImageLock = lockKey;\n        if (node.classList && node.classList.contains(\"lux-collection__intro\")) {\n          node.style.setProperty(\"--lux-collection-hero-image\", \"url(\\\"\" + url + \"\\\")\", \"important\");\n          node.style.setProperty(\"--lux-collection-hero-position\", item[1], \"important\");\n          node.style.setProperty(\"background-image\", \"linear-gradient(90deg, rgba(10, 10, 10, .72), rgba(10, 10, 10, .22)), url(\\\"\" + url + \"\\\")\", \"important\");\n        } else {\n          node.style.setProperty(\"--lux-collection-card-image\", \"url(\\\"\" + url + \"\\\")\", \"important\");\n          node.style.setProperty(\"--lux-collection-card-position\", item[1], \"important\");\n          node.style.setProperty(\"background-image\", \"url(\\\"\" + url + \"\\\")\", \"important\");\n        }\n        node.style.setProperty(\"background-position\", item[1], \"important\");\n        node.style.setProperty(\"background-size\", \"cover\", \"important\");\n        node.style.setProperty(\"background-repeat\", \"no-repeat\", \"important\");\n      });\n    });\n  }\n\n  function initVerifiedCollectionImageLock() {\n    enforceVerifiedCollectionImages();\n  }\n\n  function syncCollectionCount() {\n    var source = document.querySelector(\".collection-filter__item--count\");\n    var target = document.querySelector(\".lux-collection__meta\");\n    if (!source || !target) return;\n    var text = String(source.textContent || \"\").trim().replace(/\\s+/g, \" \");\n    if (!text) return;\n    target.textContent = text\n      .replace(/products?/i, \"pieces\")\n      .replace(/items?/i, \"pieces\");\n  }\n\n  function initLuxuryMotion() {\n    var gsap = getGsap();\n    document.body.classList.add(\"lux-js-ready\");\n    initLiveCollectionGuardStyles();\n    window.setTimeout(forceAllReveal, 1800);\n    window.addEventListener(\"load\", function () {\n      window.setTimeout(forceAllReveal, 2400);\n    }, { once: true });\n    initHeader();\n    initHeaderDropdowns();\n    initMobileProductBar();\n    initAtelierCursor(gsap);\n    initMagneticInteractions(gsap);\n    initTouchFeedback(gsap);\n    initCollectionViewToggle();\n    initGuidedFilters();\n    normalizeCollectionFilterLabels();\n    initCollectionFilterDrawerFallback();\n    initDoranFallback();\n    fixSignatureReadability();\n    initProductCards(gsap);\n    enforcePageCollectionCards();\n    syncCollectionCount();\n    initProductDetail(gsap);\n    initWholesale(gsap);\n\n    if (!gsap) {\n      forceAllReveal();\n      return;\n    }\n    document.body.classList.add(\"lux-motion-ready\");\n    initPreloader(gsap);\n    initPageWipe(gsap);\n    initSectionReveals(gsap);\n    initEditorialHover(gsap);\n  }\n\n  document.addEventListener(\"DOMContentLoaded\", initLuxuryMotion);\n  document.addEventListener(\"collection:reloaded\", function () {\n    var gsap = getGsap();\n    initCollectionViewToggle();\n    initGuidedFilters();\n    normalizeCollectionFilterLabels();\n    initCollectionFilterDrawerFallback();\n    fixSignatureReadability();\n    initProductCards(gsap);\n    enforcePageCollectionCards();\n    syncCollectionCount();\n    forceAllReveal();\n  });\n  window.addEventListener(\"resize\", function () {\n    document.body.classList.toggle(\"lux-mobile-viewport\", isMobileViewport());\n    fixSignatureReadability();\n    enforcePageCollectionCards();\n  }, { passive: true });\n})();\n\n;(function () {\n  return;\n  var R123_IMAGES = {\n    \"shoulder-bags\": [\"lux-hero-shoulder-landscape.jpg\", \"50% 50%\"],\n    \"crossbody-bags\": [\"lux-final-crossbody-v3.jpg\", \"50% 50%\"],\n    \"shopper-bags\": [\"lux-style-neverfull.jpg\", \"50% 50%\"],\n    \"satchel-bags\": [\"lux-r120-satchel-lady-dior.jpg\", \"38% 56%\"],\n    \"wallet-on-chain\": [\"lux-final-woc-v2.jpg\", \"50% 58%\"],\n    \"wallets\": [\"lux-final-wallets-v2.jpg\", \"50% 52%\"],\n    \"bracelets\": [\"lux-r108-bracelets.jpg\", \"50% 50%\"],\n    \"earrings\": [\"lux-final-earrings-v2.jpg\", \"58% 48%\"],\n    \"charms-pendants\": [\"lux-web-r41-card-charms.jpg\", \"50% 66%\"],\n    \"charms\": [\"lux-web-r41-card-charms.jpg\", \"50% 66%\"],\n    \"brooches-lapel-pins\": [\"lux-web-r41-card-brooches.jpg\", \"50% 50%\"],\n    \"card-cases\": [\"lux-web-r41-card-card-cases.jpg\", \"50% 50%\"],\n    \"keychains\": [\"lux-web-r41-card-keychains.jpg\", \"50% 58%\"],\n    \"necklaces\": [\"lux-web-r41-card-necklaces.jpg\", \"50% 72%\"],\n    \"scarves-shawls\": [\"lux-web-r41-card-scarves.jpg\", \"50% 35%\"],\n    \"rings\": [\"lux-r111-rings.jpg\", \"50% 74%\"],\n    \"hobo-bags\": [\"lux-web-r41-card-hobo.jpg\", \"50% 50%\"],\n    \"bucket-bags\": [\"lux-final-bucket-v3.jpg\", \"50% 50%\"],\n    \"duffle-bags\": [\"lux-silhouette-duffle-keepall.jpg\", \"50% 50%\"],\n    \"fanny-packs\": [\"lux-final-fanny-v3.jpg\", \"50% 50%\"],\n    \"clutch-bags\": [\"lux-r120-clutch-ysl.jpg\", \"52% 72%\"],\n    \"half-moon-bags\": [\"lux-web-r54-halfmoon.jpg\", \"50% 54%\"],\n    \"cosmetic-toiletry-bags\": [\"lux-web-r50-cosmetic.jpg\", \"50% 50%\"],\n    \"lady-dior\": [\"lux-r120-satchel-lady-dior.jpg\", \"38% 56%\"]\n  };\n\n  function r123AssetUrl(filename) {\n    var anchor = document.querySelector('script[src*=\"/assets/luxury-dior\"],link[href*=\"/assets/luxury-dior\"],link[href*=\"/assets/\"],script[src*=\"/assets/\"]');\n    var raw = anchor && (anchor.src || anchor.href || \"\");\n    raw = raw.replace(/^\\/\\//, window.location.protocol + \"//\").split(\"?\")[0];\n    var idx = raw.lastIndexOf(\"/assets/\");\n    if (idx !== -1) return raw.slice(0, idx + 8) + filename;\n    return window.location.origin + \"/cdn/shop/t/31/assets/\" + filename;\n  }\n\n  function injectR123VisualLock() {\n    var old = document.getElementById(\"lux-r123-final-visual-lock\");\n    if (old && old.parentNode) old.parentNode.removeChild(old);\n    var style = document.createElement(\"style\");\n    style.id = \"lux-r123-final-visual-lock\";\n    style.textContent = [\n      \"html body.template-page .featured-collections .page-width{max-width:1760px!important;padding-left:clamp(22px,3vw,68px)!important;padding-right:clamp(22px,3vw,68px)!important}\",\n      \"html body.template-page .featured-collections .grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:1px!important;margin:0!important;align-items:stretch!important;background:#24221d!important}\",\n      \"html body.template-page .featured-collections .grid>.grid__item,html body.template-page .featured-collections .grid--uniform>.grid__item:nth-child(n){float:none!important;clear:none!important;width:auto!important;max-width:none!important;min-width:0!important;padding:0!important;margin:0!important;grid-column:auto!important;grid-row:auto!important;display:block!important}\",\n      \"html body.template-page .featured-collections .collection-item{display:block!important;position:relative!important;width:100%!important;height:100%!important;min-height:clamp(230px,24vw,360px)!important;overflow:hidden!important;background:#12110f!important;border:1px solid rgba(244,241,236,.22)!important}\",\n      \"html body.template-page .featured-collections .collection-image,html body.template-page .featured-collections .collection-image--lux-asset{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;background-color:#11100e!important;background-size:cover!important;background-repeat:no-repeat!important;filter:saturate(.92) contrast(1.02)!important;transform:scale(1.015)!important}\",\n      \"html body.template-page .featured-collections .collection-item::after{opacity:1!important;background:linear-gradient(180deg,rgba(6,5,4,.04) 0%,rgba(6,5,4,.22) 46%,rgba(6,5,4,.74) 100%),linear-gradient(90deg,rgba(6,5,4,.46),rgba(6,5,4,.04) 58%)!important}\",\n      \"html body.template-page .featured-collections .collection-item__title{position:absolute!important;left:clamp(20px,3vw,42px)!important;right:clamp(20px,3vw,42px)!important;bottom:clamp(18px,2.4vw,32px)!important;z-index:4!important;max-width:calc(100% - clamp(40px,6vw,84px))!important}\",\n      \"html body.template-page .featured-collections .collection-item__title span{display:block!important;color:#fff9ef!important;font-size:clamp(30px,3.2vw,50px)!important;line-height:.92!important;letter-spacing:0!important;text-shadow:0 7px 26px rgba(0,0,0,.86),0 1px 2px rgba(0,0,0,.98)!important}\",\n      \"html body.template-index .lux-curated-tile__title,html body.template-index .lux-curated-tile__meta{color:#fff9ef!important;text-shadow:0 7px 26px rgba(0,0,0,.88),0 1px 2px rgba(0,0,0,1)!important;opacity:1!important}\",\n      \"html body.template-index .lux-curated-tile::after{opacity:1!important;background:linear-gradient(180deg,rgba(5,5,4,.04) 0%,rgba(5,5,4,.28) 48%,rgba(5,5,4,.78) 100%),radial-gradient(circle at 20% 82%,rgba(0,0,0,.52),rgba(0,0,0,0) 42%)!important}\",\n      \"html body.template-index .lux-product-card .grid-product__title,html body.template-index .lux-product-card .grid-product__title a,html body.template-index .lux-featured-drop .grid-product__title,html body.template-index .lux-featured-drop .grid-product__title a{color:rgba(244,241,236,.94)!important;text-shadow:0 1px 12px rgba(0,0,0,.52)!important;opacity:1!important}\",\n      \"html body.template-index .lux-product-card .grid-product__price,html body.template-index .lux-featured-drop .grid-product__price,html body.template-index .lux-product-card .grid-product__price *,html body.template-index .lux-featured-drop .grid-product__price *{color:#c6a46a!important;text-shadow:0 1px 12px rgba(0,0,0,.42)!important;opacity:1!important}\",\n      \"html body.template-collection .collection-filter,html body.template-collection .lux-collection .collection-filter,html body.template-collection .collection-grid__wrapper>.collection-filter{position:relative!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:10px clamp(16px,2.4vw,36px)!important;border-radius:0!important;border:0!important;border-top:1px solid rgba(33,29,24,.08)!important;border-bottom:1px solid rgba(33,29,24,.1)!important;background:rgba(244,241,236,.84)!important;box-shadow:none!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;overflow:visible!important}\",\n      \"html body.template-collection .collection-filter__item,html body.template-collection .collection-filter__item--drawer,html body.template-collection .collection-filter__item--view,html body.template-collection .collection-filter__item--sort,html body.template-collection .collection-filter__sort-container{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:100%!important;margin:0!important}\",\n      \"html body.template-collection .collection-filter .btn,html body.template-collection .lux-filter-chip,html body.template-collection .lux-view-toggle,html body.template-collection .lux-view-toggle button,html body.template-collection .collection-filter select{min-height:36px!important;height:36px!important;border-color:rgba(33,29,24,.16)!important;background:rgba(255,253,248,.78)!important;color:#211d18!important;box-shadow:none!important;border-radius:999px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.13em!important;text-transform:uppercase!important}\",\n      \"html body.template-collection .lux-view-toggle{display:inline-flex!important;overflow:hidden!important;padding:0!important;background:rgba(255,253,248,.6)!important}\",\n      \"html body.template-collection .lux-view-toggle button{border:0!important;border-radius:0!important;padding:0 15px!important;background:transparent!important}\",\n      \"html body.template-collection .lux-view-toggle .lux-view-toggle__label,html body.template-collection .lux-view-toggle [data-lux-view-label]{display:none!important}\",\n      \"html body.template-collection .collection-filter select{min-width:168px!important;padding-left:18px!important;padding-right:34px!important}\",\n      \"html body.template-collection .grid-product__content,html body.template-collection .lux-product-card__meta-link{text-align:left!important}\",\n      \"html body.template-collection .grid-product__title,html body.template-collection .grid-product__title a{color:#17130f!important;font-size:12.5px!important;line-height:1.34!important;font-weight:500!important;text-align:left!important;opacity:1!important;text-shadow:none!important}\",\n      \"html body.template-collection .grid-product__price,html body.template-collection .grid-product__price *{color:#7d5a2c!important;font-size:16px!important;line-height:1.15!important;font-weight:800!important;text-align:left!important;opacity:1!important;text-shadow:none!important}\",\n      \"html body .grid-product__image-mask{background:#f8f5ef!important;border:1px solid rgba(184,154,97,.13)!important;box-shadow:none!important}\",\n      \"html body .grid-product__image-mask::before,html body .grid-product__image-mask::after{opacity:0!important}\",\n      \"html body .lux-designer-directory .lux-designer-card,html body.template-index .lux-curated-tiles--logos [data-lux-brand-card],html body [data-lux-brand-card]{background:linear-gradient(135deg,#eee4d5 0%,#cdb894 100%)!important;border:1px solid rgba(33,29,24,.22)!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:clamp(150px,13vw,208px)!important;overflow:hidden!important}\",\n      \"html body .lux-designer-directory .lux-brand-mark,html body.template-index .lux-curated-tiles--logos .lux-brand-mark,html body [data-lux-brand-card] .lux-brand-mark{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:clamp(18px,2.2vw,36px)!important;color:#0e0e0e!important;fill:#0e0e0e!important;opacity:1!important;transform:none!important}\",\n      \"html body .lux-designer-directory .lux-brand-mark__asset--local,html body.template-index .lux-curated-tiles--logos .lux-brand-mark__asset--local,html body [data-lux-brand-card] .lux-brand-mark__asset--local{display:none!important}\",\n      \"html body .lux-designer-directory .lux-brand-mark__fallback,html body.template-index .lux-curated-tiles--logos .lux-brand-mark__fallback,html body [data-lux-brand-card] .lux-brand-mark__fallback{display:block!important;width:100%!important;color:#0e0e0e!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(24px,2.2vw,42px)!important;line-height:1.04!important;font-weight:700!important;letter-spacing:.13em!important;text-align:center!important;white-space:normal!important;text-shadow:none!important;opacity:1!important}\",\n      \"html body .lux-designer-directory .lux-brand-mark svg,html body.template-index .lux-curated-tiles--logos .lux-brand-mark svg,html body [data-lux-brand-card] .lux-brand-mark svg{display:block!important;width:min(82%,380px)!important;height:auto!important;max-height:118px!important;overflow:visible!important;transform:scale(1.2)!important}\",\n      \"html body .lux-designer-directory .lux-brand-mark svg text,html body.template-index .lux-curated-tiles--logos .lux-brand-mark svg text,html body [data-lux-brand-card] .lux-brand-mark svg text{fill:#0e0e0e!important;opacity:1!important}\",\n      \"@media(max-width:768px){html body.template-page .featured-collections .page-width{padding-left:28px!important;padding-right:28px!important}html body.template-page .featured-collections .grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;background:transparent!important}html body.template-page .featured-collections .collection-item{min-height:260px!important;border-color:rgba(244,241,236,.42)!important}html body.template-page .featured-collections .collection-item__title span{font-size:clamp(27px,8vw,38px)!important;line-height:.92!important;max-width:11ch!important}html body.template-collection .collection-filter{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:8px 10px!important}html body.template-collection .collection-filter__item,html body.template-collection .collection-filter__item--drawer,html body.template-collection .collection-filter__item--sort,html body.template-collection .collection-filter__sort-container{width:100%!important;min-width:0!important}html body.template-collection .collection-filter__item--view{grid-column:1/-1!important;width:100%!important}.lux-view-toggle{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.lux-view-toggle button{min-width:0!important;padding:0 8px!important}html body.template-collection .collection-filter select{width:100%!important;min-width:0!important}html body .lux-designer-directory .lux-designer-card,html body.template-index .lux-curated-tiles--logos [data-lux-brand-card],html body [data-lux-brand-card]{min-height:116px!important}html body .lux-designer-directory .lux-brand-mark__fallback,html body.template-index .lux-curated-tiles--logos .lux-brand-mark__fallback,html body [data-lux-brand-card] .lux-brand-mark__fallback{font-size:clamp(18px,7vw,32px)!important;letter-spacing:.1em!important}html body .lux-designer-directory .lux-brand-mark svg,html body.template-index .lux-curated-tiles--logos .lux-brand-mark svg,html body [data-lux-brand-card] .lux-brand-mark svg{width:min(78%,260px)!important;transform:scale(1.12)!important}}\"\n    ].join(\"\\n\");\n    document.head.appendChild(style);\n  }\n\n  function applyR123Images() {\n    Object.keys(R123_IMAGES).forEach(function (handle) {\n      var item = R123_IMAGES[handle];\n      var url = r123AssetUrl(item[0]);\n      var selector = [\n        \"#shop-by-silhouette .lux-curated-tile--\" + handle + \" .lux-curated-tile__image\",\n        \"#signature-pieces .lux-curated-tile--\" + handle + \" .lux-curated-tile__image\",\n        \".featured-collections .collection-item--\" + handle + \" .collection-image\",\n        \".featured-collections .collection-item--\" + handle + \" .collection-image--lux-asset\",\n        \".featured-collections a[href*='/collections/\" + handle + \"'] .collection-image\",\n        \".featured-collections a[href*='/collections/\" + handle + \"'] .collection-image--lux-asset\",\n        \".lux-collection__intro[data-lux-collection-handle='\" + handle + \"']\"\n      ].join(\",\");\n      Array.prototype.slice.call(document.querySelectorAll(selector)).forEach(function (el) {\n        if (!el || !el.style) return;\n        var lockKey = item[0] + \"|\" + item[1] + \"|\" + (el.classList && el.classList.contains(\"lux-collection__intro\") ? \"hero\" : \"card\");\n        var currentImage = el.style.backgroundImage || \"\";\n        if (el.dataset.luxR123ImageLock === lockKey && currentImage.indexOf(item[0]) !== -1) return;\n        el.dataset.luxR123ImageLock = lockKey;\n        if (el.classList && el.classList.contains(\"lux-collection__intro\")) {\n          el.style.setProperty(\"--lux-collection-hero-image\", 'url(\"' + url + '\")', \"important\");\n          el.style.setProperty(\"--lux-collection-hero-position\", item[1], \"important\");\n          el.style.setProperty(\"background-image\", 'linear-gradient(90deg,rgba(10,10,10,.68),rgba(10,10,10,.18)),url(\"' + url + '\")', \"important\");\n        } else {\n          el.style.setProperty(\"--lux-collection-card-image\", 'url(\"' + url + '\")', \"important\");\n          el.style.setProperty(\"--lux-collection-card-position\", item[1], \"important\");\n          el.style.setProperty(\"background-image\", 'url(\"' + url + '\")', \"important\");\n        }\n        el.style.setProperty(\"background-position\", item[1], \"important\");\n        el.style.setProperty(\"background-size\", \"cover\", \"important\");\n        el.style.setProperty(\"background-repeat\", \"no-repeat\", \"important\");\n      });\n    });\n  }\n\n  function runR123FinalLock() {\n    injectR123VisualLock();\n    applyR123Images();\n  }\n\n  function scheduleR123FinalLock() {\n    runR123FinalLock();\n    // Static banner mode: no delayed re-writes.\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", scheduleR123FinalLock, { once: true });\n  } else {\n    scheduleR123FinalLock();\n  }\n  document.addEventListener(\"collection:reloaded\", scheduleR123FinalLock);\n  window.addEventListener(\"pageshow\", scheduleR123FinalLock);\n})();\n\n;(function () {\n  return;\n  var R120_ASSETS = {\n    \"satchel-bags\": [\"lux-r120-satchel-lady-dior.jpg\", \"38% 56%\"],\n    \"lady-dior\": [\"lux-r120-satchel-lady-dior.jpg\", \"38% 56%\"],\n    \"wallets\": [\"lux-final-wallets-v2.jpg\", \"50% 52%\"],\n    \"earrings\": [\"lux-final-earrings-v2.jpg\", \"58% 48%\"],\n    \"bracelets\": [\"lux-r108-bracelets.jpg\", \"50% 50%\"],\n    \"hobo-bags\": [\"lux-web-r41-card-hobo.jpg\", \"50% 54%\"],\n    \"half-moon-bags\": [\"lux-web-r54-halfmoon.jpg\", \"50% 54%\"],\n    \"clutch-bags\": [\"lux-r120-clutch-ysl.jpg\", \"52% 72%\"],\n    \"wallet-on-chain\": [\"lux-final-woc-v2.jpg\", \"50% 62%\"],\n    \"crossbody-bags\": [\"lux-final-crossbody-v3.jpg\", \"55% 50%\"],\n    \"shopper-bags\": [\"lux-style-neverfull.jpg\", \"50% 50%\"],\n    \"bucket-bags\": [\"lux-final-bucket-v3.jpg\", \"50% 50%\"],\n    \"duffle-bags\": [\"lux-silhouette-duffle-keepall.jpg\", \"50% 50%\"],\n    \"fanny-packs\": [\"lux-final-fanny-v3.jpg\", \"50% 50%\"]\n  };\n\n  function assetUrl(filename) {\n    var version = filename.indexOf(\"lux-campaign-new-arrival\") === 0 ? \"20260707-r166-new-arrival-r163\" : \"20260704-r121\";\n    var anchor = document.querySelector('script[src*=\"/assets/luxury-dior\"],link[href*=\"/assets/luxury-dior\"],link[href*=\"/assets/\"],script[src*=\"/assets/\"]');\n    var raw = anchor && (anchor.src || anchor.href || \"\");\n    raw = raw.replace(/^\\/\\//, window.location.protocol + \"//\").split(\"?\")[0];\n    var idx = raw.lastIndexOf(\"/assets/\");\n    if (idx !== -1) return raw.slice(0, idx + 8) + filename;\n    return window.location.origin + \"/cdn/shop/t/31/assets/\" + filename;\n  }\n\n  function setBg(selector, filename, position) {\n    var url = assetUrl(filename);\n    Array.prototype.slice.call(document.querySelectorAll(selector)).forEach(function (el) {\n      var lockKey = filename + \"|\" + position;\n      var currentImage = el.style.backgroundImage || \"\";\n      if (el.dataset.luxR120ImageLock === lockKey && currentImage.indexOf(filename) !== -1) return;\n      el.style.setProperty(\"--lux-collection-card-image\", 'url(\"' + url + '\")', \"important\");\n      el.style.setProperty(\"--lux-collection-card-position\", position, \"important\");\n      el.style.setProperty(\"--lux-collection-hero-image\", 'url(\"' + url + '\")', \"important\");\n      el.style.setProperty(\"--lux-collection-hero-position\", position, \"important\");\n      el.style.setProperty(\"background-image\", 'url(\"' + url + '\")', \"important\");\n      el.style.setProperty(\"background-position\", position, \"important\");\n      el.style.setProperty(\"background-size\", \"cover\", \"important\");\n      el.style.setProperty(\"background-repeat\", \"no-repeat\", \"important\");\n      el.dataset.luxR120ImageLock = lockKey;\n    });\n  }\n\n  function runR120ImageLock() {\n    Object.keys(R120_ASSETS).forEach(function (handle) {\n      var item = R120_ASSETS[handle];\n      var filename = item[0];\n      var position = item[1];\n      setBg([\n        \"#shop-by-silhouette .lux-curated-tile--\" + handle + \" .lux-curated-tile__image\",\n        \"#signature-pieces .lux-curated-tile--\" + handle + \" .lux-curated-tile__image\",\n        \".featured-collections .collection-item--\" + handle + \" .collection-image\",\n        \".featured-collections .collection-item--\" + handle + \" .collection-image--lux-asset\",\n        \".featured-collections a[href*='/collections/\" + handle + \"'] .collection-image\",\n        \".featured-collections a[href*='/collections/\" + handle + \"'] .collection-image--lux-asset\",\n        \".lux-collection__intro[data-lux-collection-handle='\" + handle + \"']\"\n      ].join(\",\"), filename, position);\n    });\n    setBg(\"#signature-pieces .lux-curated-tile--lady-dior .lux-curated-tile__image,.lux-collection__intro[data-lux-collection-handle='lady-dior']\", \"lux-r120-satchel-lady-dior.jpg\", \"38% 56%\");\n  }\n\n  function scheduleR120ImageLock() {\n    runR120ImageLock();\n    // Static banner mode: no delayed re-writes.\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", scheduleR120ImageLock, { once: true });\n  } else {\n    scheduleR120ImageLock();\n  }\n  document.addEventListener(\"collection:reloaded\", scheduleR120ImageLock);\n  window.addEventListener(\"pageshow\", scheduleR120ImageLock);\n})();\n\n;(function () {\n  function injectR121VisualLock() {\n    var old = document.getElementById(\"lux-r121-visual-lock\");\n    if (old && old.parentNode) old.parentNode.removeChild(old);\n    var style = document.createElement(\"style\");\n    style.id = \"lux-r121-visual-lock\";\n    style.textContent = [\n      \"html body.template-index .lux-editorial-card::after{opacity:1!important;background:linear-gradient(90deg,rgba(4,4,3,.86),rgba(4,4,3,.44) 48%,rgba(4,4,3,.22)),linear-gradient(180deg,rgba(4,4,3,.06),rgba(4,4,3,.42) 58%,rgba(4,4,3,.9))!important}\",\n      \"html body.template-index .lux-editorial-card .lux-kicker,html body.template-index .lux-editorial-card .lux-editorial-card__title,html body.template-index .lux-editorial-card .lux-editorial-card__copy,html body.template-index .lux-editorial-card .lux-editorial-card__link{color:#fff9ef!important;opacity:1!important;text-shadow:0 8px 28px rgba(0,0,0,.96),0 1px 2px rgba(0,0,0,1)!important}\",\n      \"html body.template-index #shop-by-silhouette .lux-curated-tile::after,html body.template-index #signature-pieces .lux-curated-tile::after,html body.template-page .featured-collections .collection-item::after{opacity:1!important;background:linear-gradient(180deg,rgba(8,7,5,.02),rgba(8,7,5,.22) 45%,rgba(8,7,5,.86)),linear-gradient(90deg,rgba(8,7,5,.52),rgba(8,7,5,.1) 56%,rgba(8,7,5,.34))!important}\",\n      \"html body.template-index #shop-by-silhouette .lux-curated-tile__title,html body.template-index #signature-pieces .lux-curated-tile__title,html body.template-page .featured-collections .collection-item__title,html body.template-page .featured-collections .collection-item__title span{color:#fff9ef!important;opacity:1!important;text-shadow:0 8px 26px rgba(0,0,0,.96),0 1px 2px rgba(0,0,0,1)!important;letter-spacing:0!important}\",\n      \"html body.template-page .featured-collections .collection-item__title{left:clamp(18px,3vw,36px)!important;right:clamp(18px,3vw,36px)!important;bottom:clamp(18px,3vw,30px)!important;max-width:calc(100% - clamp(36px,6vw,72px))!important}\",\n      \"html body.template-collection .lux-collection__intro{min-height:clamp(150px,18vw,238px)!important;margin:0!important;padding:clamp(34px,4.4vw,64px) clamp(18px,3vw,54px)!important}\",\n      \"html body.template-collection .lux-collection__title{font-size:clamp(42px,6.8vw,96px)!important;line-height:.9!important;text-shadow:0 8px 28px rgba(0,0,0,.78)!important}\",\n      \"html body.template-collection .collection-content .page-width{max-width:none!important;padding-left:0!important;padding-right:0!important}\",\n      \"html body.template-collection .collection-filter,html body.template-collection .lux-collection .collection-filter,html body.template-collection .collection-grid__wrapper>.collection-filter{position:relative!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:9px clamp(16px,2.5vw,36px)!important;border-radius:0!important;border:0!important;border-top:1px solid rgba(33,29,24,.08)!important;border-bottom:1px solid rgba(33,29,24,.1)!important;background:rgba(244,241,236,.78)!important;box-shadow:none!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}\",\n      \"html body.template-collection .collection-filter__item,html body.template-collection .collection-filter__item--sort,html body.template-collection .collection-filter__sort-container,html body.template-collection .lux-view-toggle{margin-left:0!important;margin-right:0!important;flex:0 0 auto!important}\",\n      \"html body.template-collection .collection-filter .btn,html body.template-collection .collection-filter select,html body.template-collection .lux-view-toggle button,html body.template-collection .lux-view-toggle__label{height:34px!important;min-height:34px!important;padding:0 14px!important;border-radius:999px!important;border:1px solid rgba(33,29,24,.16)!important;background:rgba(251,250,247,.72)!important;color:#211d18!important;font-size:10px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;box-shadow:none!important}\",\n      \"html body.template-collection .lux-view-toggle{display:flex!important;gap:0!important;border:1px solid rgba(33,29,24,.14)!important;border-radius:999px!important;overflow:hidden!important;background:rgba(251,250,247,.52)!important}\",\n      \"html body.template-collection .lux-view-toggle button,html body.template-collection .lux-view-toggle__label{border:0!important;border-radius:0!important;background:transparent!important}\",\n      \"html body.template-collection .lux-view-toggle button.is-active,html body.template-collection .lux-view-toggle button[aria-pressed='true'],html body.template-collection .collection-filter .btn--tertiary-active{background:rgba(184,154,97,.18)!important;color:#0e0e0e!important}\",\n      \"html body.template-collection .collection-filter__item--count{display:inline-flex!important;order:8!important;color:rgba(33,29,24,.58)!important;font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important}\",\n      \"html body.template-collection .grid-product__content,html body.template-index .grid-product__content{text-align:left!important;padding-top:12px!important}\",\n      \"html body.template-collection .grid-product__title,html body.template-index .grid-product__title{color:#211d18!important;font-size:12.5px!important;line-height:1.34!important;font-weight:500!important;text-align:left!important;opacity:1!important;text-shadow:none!important}\",\n      \"html body.template-collection .grid-product__price,html body.template-collection .grid-product__price *,html body.template-index .grid-product__price,html body.template-index .grid-product__price *{color:#8a632f!important;font-size:16px!important;line-height:1.15!important;font-weight:800!important;text-align:left!important;opacity:1!important;text-shadow:none!important}\",\n      \"html body .grid-product__image-mask{background:#f8f5ef!important;border:1px solid rgba(184,154,97,.14)!important;box-shadow:none!important}\",\n      \"html body .grid-product__image-mask::before,html body .grid-product__image-mask::after{opacity:0!important}\",\n      \"html body .lux-title-filter-empty{margin:18px clamp(16px,2.5vw,36px)!important;padding:18px 20px!important;background:#f8f5ef!important;border:1px solid rgba(184,154,97,.22)!important;color:#211d18!important;font-size:13px!important;letter-spacing:.02em!important}\",\n      \"html body.template-index .lux-curated-tiles--logos [data-lux-brand-card],html body .lux-designer-directory .lux-designer-card,html body [data-lux-brand-card]{background:linear-gradient(135deg,#f0eadf 0%,#d8c4a5 100%)!important;border:1px solid rgba(33,29,24,.18)!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--louis-vuitton .lux-brand-mark__asset,html body [data-lux-brand-card].lux-brand-logo--louis-vuitton .lux-brand-mark__asset{display:none!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-brand-logo--louis-vuitton .lux-brand-mark__fallback,html body [data-lux-brand-card].lux-brand-logo--louis-vuitton .lux-brand-mark__fallback{display:block!important;width:100%!important;color:#0e0e0e!important;font-size:clamp(25px,2.1vw,40px)!important;line-height:1!important;font-weight:500!important;letter-spacing:.14em!important;white-space:nowrap!important;text-align:center!important;opacity:1!important;text-shadow:none!important}\",\n      \"@media(max-width:768px){html body.template-collection .collection-filter{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:8px 10px!important}html body.template-collection .collection-filter__item,html body.template-collection .collection-filter__item--sort,html body.template-collection .collection-filter__sort-container{width:100%!important;min-width:0!important}html body.template-collection .collection-filter .btn,html body.template-collection .collection-filter select{width:100%!important;max-width:none!important}html body.template-collection .collection-filter__item--view{grid-column:1/-1!important}.lux-view-toggle{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.lux-view-toggle__label{display:none!important}html body.template-page .featured-collections .collection-item,html body.template-index #shop-by-silhouette .lux-curated-tile,html body.template-index #signature-pieces .lux-curated-tile{min-height:292px!important}html body.template-page .featured-collections .collection-item__title span,html body.template-index #shop-by-silhouette .lux-curated-tile__title,html body.template-index #signature-pieces .lux-curated-tile__title{font-size:clamp(25px,7.7vw,36px)!important;line-height:.94!important;max-width:10.5ch!important}}\"\n    ].join(\"\\n\");\n    document.head.appendChild(style);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", injectR121VisualLock, { once: true });\n  } else {\n    injectR121VisualLock();\n  }\n  document.addEventListener(\"collection:reloaded\", injectR121VisualLock);\n  window.addEventListener(\"pageshow\", injectR121VisualLock);\n})();\n\n;(function () {\n  function injectR168CursorLogoLock() {\n    var old = document.getElementById(\"lux-r168-cursor-logo-lock\");\n    if (old && old.parentNode) old.parentNode.removeChild(old);\n    var style = document.createElement(\"style\");\n    style.id = \"lux-r168-cursor-logo-lock\";\n    style.textContent = [\n      \"html body .lux-cursor .lux-cursor__ring{width:32px!important;height:32px!important;border:1px solid rgba(184,154,97,.98)!important;background:rgba(244,241,236,.14)!important;box-shadow:0 0 0 1px rgba(14,14,14,.24),0 10px 22px rgba(10,10,10,.14)!important;mix-blend-mode:normal!important}\",\n      \"html body .lux-cursor .lux-cursor__dot{width:5px!important;height:5px!important;background:#0e0e0e!important;border:1px solid rgba(244,241,236,.92)!important;box-shadow:none!important}\",\n      \"html body:has(.lux-curated-tiles--logos:hover) .lux-cursor .lux-cursor__ring,html body:has([data-lux-brand-card]:hover) .lux-cursor .lux-cursor__ring,html body:has(.lux-designer-directory .collection-item--manual-brand:hover) .lux-cursor .lux-cursor__ring{width:22px!important;height:22px!important;border-color:rgba(184,154,97,.98)!important;background:rgba(184,154,97,.08)!important;box-shadow:0 0 0 1px rgba(244,241,236,.18),0 8px 18px rgba(10,10,10,.16)!important;mix-blend-mode:normal!important}\",\n      \"html body:has(.lux-curated-tiles--logos:hover) .lux-cursor .lux-cursor__dot,html body:has([data-lux-brand-card]:hover) .lux-cursor .lux-cursor__dot,html body:has(.lux-designer-directory .collection-item--manual-brand:hover) .lux-cursor .lux-cursor__dot{width:4px!important;height:4px!important;background:#B89A61!important;border-color:rgba(14,14,14,.28)!important;box-shadow:none!important}\",\n      \"html body:has(.lux-curated-tiles--logos:hover) .lux-cursor .lux-cursor__label,html body:has([data-lux-brand-card]:hover) .lux-cursor .lux-cursor__label{display:none!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-curated-tile:hover,html body .lux-designer-directory .collection-item--manual-brand:hover,html body [data-lux-brand-card]:hover{transform:none!important}\"\n    ].join(\"\\n\");\n    document.head.appendChild(style);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", injectR168CursorLogoLock, { once: true });\n  } else {\n    injectR168CursorLogoLock();\n  }\n  window.addEventListener(\"pageshow\", injectR168CursorLogoLock);\n  document.addEventListener(\"collection:reloaded\", injectR168CursorLogoLock);\n})();\n\n/* LLB r174 emergency runtime lock: keeps old cached storefront HTML usable. */\n(function () {\n  \"use strict\";\n  if (window.__LLB_R174_EMERGENCY_LOCK__) return;\n  window.__LLB_R174_EMERGENCY_LOCK__ = true;\n\n  function mq(query) {\n    try { return window.matchMedia && window.matchMedia(query).matches; } catch (error) { return false; }\n  }\n\n  function injectStyle() {\n    if (document.getElementById(\"llb-r174-emergency-style\")) return;\n    var style = document.createElement(\"style\");\n    style.id = \"llb-r174-emergency-style\";\n    style.textContent = [\n      \"html body.template-index .lux-curated-tiles--logos .lux-curated-tiles__grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:112px!important;gap:1px!important;align-items:stretch!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-curated-tile,html body.template-index .lux-curated-tiles--logos .lux-curated-tile:hover,html body.template-index .lux-curated-tiles--logos [data-lux-brand-card],html body.template-index .lux-curated-tiles--logos [data-lux-brand-card]:hover{height:112px!important;min-height:112px!important;max-height:112px!important;grid-column:auto/span 1!important;grid-row:auto/span 1!important;align-self:stretch!important;justify-self:stretch!important;transform:none!important;clip-path:none!important;overflow:hidden!important}\",\n      \"html body.template-collection .collection-filter{display:flex!important;flex-wrap:wrap!important;gap:10px 12px!important;justify-content:flex-start!important;align-items:center!important;padding:12px clamp(16px,4vw,64px)!important}\",\n      \"html body.template-collection .grid,html body.template-collection .collection-grid{align-items:start!important}\",\n      \"html body.template-collection .grid-product,html body.template-collection .grid__item.grid-product{align-self:start!important;min-width:0!important}\",\n      \"html body.template-collection .grid-product__image-mask{aspect-ratio:1/1.18!important;overflow:hidden!important}\",\n      \"html body.template-collection .grid-product__meta,html body.template-collection .grid-product__title,html body.template-collection .grid-product__price{text-align:left!important}\",\n      \"@media(max-width:768px){html body.template-index .lux-curated-tiles--logos .lux-curated-tiles__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:96px!important}html body.template-index .lux-curated-tiles--logos .lux-curated-tile,html body.template-index .lux-curated-tiles--logos .lux-curated-tile:hover,html body.template-index .lux-curated-tiles--logos [data-lux-brand-card],html body.template-index .lux-curated-tiles--logos [data-lux-brand-card]:hover{height:96px!important;min-height:96px!important;max-height:96px!important}html body.template-collection .collection-filter{gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding:10px 14px!important;-webkit-overflow-scrolling:touch!important}html body.template-collection .collection-filter>*{flex:0 0 auto!important}html body.template-collection .grid-product__image-mask{aspect-ratio:1/1.12!important}html body.template-collection .grid-product__title{min-height:36px!important;font-size:12px!important;line-height:1.25!important}html body.template-collection .grid-product__price{font-size:13px!important;line-height:1.2!important}}\"\n    ].join(\"\\n\");\n    (document.head || document.documentElement).appendChild(style);\n  }\n\n  function lockLogoGrid() {\n    injectStyle();\n    var h = mq(\"(max-width: 768px)\") ? \"96px\" : \"112px\";\n    var cols = mq(\"(max-width: 768px)\") ? \"repeat(2, minmax(0, 1fr))\" : \"repeat(5, minmax(0, 1fr))\";\n    document.querySelectorAll(\".lux-curated-tiles--logos .lux-curated-tiles__grid\").forEach(function (grid) {\n      grid.style.setProperty(\"grid-template-columns\", cols, \"important\");\n      grid.style.setProperty(\"grid-auto-rows\", h, \"important\");\n      grid.style.setProperty(\"gap\", \"1px\", \"important\");\n      grid.style.setProperty(\"align-items\", \"stretch\", \"important\");\n    });\n    document.querySelectorAll(\".lux-curated-tiles--logos .lux-curated-tile,.lux-curated-tiles--logos [data-lux-brand-card]\").forEach(function (card) {\n      card.style.setProperty(\"height\", h, \"important\");\n      card.style.setProperty(\"min-height\", h, \"important\");\n      card.style.setProperty(\"max-height\", h, \"important\");\n      card.style.setProperty(\"grid-column\", \"auto / span 1\", \"important\");\n      card.style.setProperty(\"grid-row\", \"auto / span 1\", \"important\");\n      card.style.setProperty(\"align-self\", \"stretch\", \"important\");\n      card.style.setProperty(\"justify-self\", \"stretch\", \"important\");\n      card.style.setProperty(\"transform\", \"none\", \"important\");\n      card.style.setProperty(\"clip-path\", \"none\", \"important\");\n      card.style.setProperty(\"overflow\", \"hidden\", \"important\");\n    });\n  }\n\n  function run() {\n    injectStyle();\n    lockLogoGrid();\n  }\n\n  if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", run, { once: true });\n  else run();\n  // Static banner mode: no delayed re-writes.\n  window.addEventListener(\"pageshow\", run, { passive: true });\n  window.addEventListener(\"resize\", run, { passive: true });\n})();\n\n/* LLB r183 final stabilizer: single cursor, static editorial tiles, mobile native pointer. */\n;(function () {\n  \"use strict\";\n  if (window.__LLB_R183_FINAL_STABILIZER__) return;\n  window.__LLB_R183_FINAL_STABILIZER__ = true;\n\n  function isTouchLike() {\n    try {\n      return (window.matchMedia && (window.matchMedia(\"(hover: none)\").matches || window.matchMedia(\"(pointer: coarse)\").matches)) ||\n        \"ontouchstart\" in window ||\n        window.innerWidth <= 768;\n    } catch (error) {\n      return window.innerWidth <= 768;\n    }\n  }\n\n  function normalizeCursor() {\n    var cursors = Array.prototype.slice.call(document.querySelectorAll(\".lux-cursor\"));\n    if (isTouchLike()) {\n      cursors.forEach(function (cursor) {\n        if (cursor && cursor.parentNode) cursor.parentNode.removeChild(cursor);\n      });\n      if (document.body) {\n        document.body.classList.remove(\"lux-cursor-ready\");\n        document.body.classList.remove(\"lux-motion-ready\");\n        document.body.classList.add(\"lux-cursor-disabled\");\n        document.body.dataset.luxCursorReady = \"false\";\n      }\n      return;\n    }\n    if (cursors.length > 1) {\n      cursors.slice(0, -1).forEach(function (cursor) {\n        if (cursor && cursor.parentNode) cursor.parentNode.removeChild(cursor);\n      });\n    }\n  }\n\n  function injectStyle() {\n    var old = document.getElementById(\"llb-r183-final-stabilizer-style\");\n    if (old && old.parentNode) old.parentNode.removeChild(old);\n    var style = document.createElement(\"style\");\n    style.id = \"llb-r183-final-stabilizer-style\";\n    style.textContent = [\n      \"html,body{max-width:100%!important;overflow-x:hidden!important}\",\n      \"html body .lux-curated-tile,html body .lux-curated-tile *,html body .collection-item,html body .collection-item *,html body .collection-image--lux-asset,html body .lux-collection__intro,html body .lux-collection__intro *{animation:none!important;transition:none!important}\",\n      \"html body .lux-curated-tile__image,html body.template-page .featured-collections .collection-image,html body.template-page .featured-collections .collection-image--lux-asset,html body.template-index #shop-by-silhouette .lux-curated-tile__image,html body.template-index #signature-pieces .lux-curated-tile__image{animation:none!important;transition:none!important;transform:none!important;background-repeat:no-repeat!important;background-size:cover!important}\",\n      \"html body.template-page .featured-collections .collection-item{height:344px!important;min-height:344px!important;max-height:344px!important;overflow:hidden!important}html body.template-page .featured-collections .collection-image,html body.template-page .featured-collections .collection-image--lux-asset{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important}\",\n      \"html body .lux-curated-tile:before,html body .lux-curated-tile:after,html body .collection-item:before,html body .collection-item:after,html body .collection-image--lux-asset:before,html body .collection-image--lux-asset:after,html body .lux-collection__intro:before,html body .lux-collection__intro:after{animation:none!important;transition:none!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-curated-tiles__grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:112px!important;gap:1px!important;align-items:stretch!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-curated-tile,html body.template-index .lux-curated-tiles--logos [data-lux-brand-card]{height:112px!important;min-height:112px!important;max-height:112px!important;transform:none!important;clip-path:none!important;overflow:hidden!important}\",\n      \"html body.template-index .lux-curated-tiles--logos .lux-curated-tile{background:rgba(226,208,170,.88)!important;border-color:rgba(14,14,14,.28)!important}html body.template-index .lux-curated-tiles--logos .lux-curated-tile:hover,html body.template-index .lux-curated-tiles--logos [data-lux-brand-card]:hover{background:rgba(235,221,190,.96)!important;border-color:rgba(184,154,97,.72)!important;box-shadow:inset 0 0 0 1px rgba(244,241,236,.34)!important}\",\n      \"html body.template-collection .collection-grid__wrapper>.collection-filter,html body.template-collection .lux-collection .collection-grid__wrapper>.collection-filter,html body.template-collection .collection-filter,html body.template-collection .lux-collection .collection-filter{position:relative!important;inset:auto!important;z-index:12!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;max-width:100%!important;min-height:52px!important;margin:0!important;padding:9px clamp(18px,3vw,42px)!important;border-radius:0!important;border:0!important;border-top:1px solid rgba(33,29,24,.08)!important;border-bottom:1px solid rgba(33,29,24,.1)!important;background:rgba(244,241,236,.96)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:hidden!important;scrollbar-width:none!important}\",\n      \"html body.template-collection .collection-filter::-webkit-scrollbar{display:none!important}\",\n      \"html body.template-collection .collection-filter>.collection-filter__item:not(.collection-filter__item--quick):not(.collection-filter__item--count),html body.template-collection .collection-filter__item--drawer,html body.template-collection .collection-filter__item--view,html body.template-collection .collection-filter__item--sort{display:flex!important;align-items:center!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}\",\n      \"html body.template-collection .collection-filter__item--quick,html body.template-collection .collection-filter__item--count{display:none!important}\",\n      \"html body.template-collection .collection-filter .btn--tertiary,html body.template-collection .collection-filter .btn.btn--tertiary,html body.template-collection .collection-filter__item--quick .lux-filter-chip,html body.template-collection .collection-filter__sort-container,html body.template-collection .collection-filter select,html body.template-collection .collection-filter__sort,html body.template-collection .collection-filter .lux-view-toggle,html body.template-collection .collection-filter .lux-view-toggle a,html body.template-collection .collection-filter .lux-view-toggle button{height:34px!important;min-height:34px!important;border-radius:999px!important;background:rgba(255,253,248,.72)!important;border:1px solid rgba(33,29,24,.16)!important;box-shadow:none!important;color:#211d18!important;font-size:10px!important;font-weight:700!important;letter-spacing:.12em!important;line-height:1!important;white-space:nowrap!important}\",\n      \"html body.template-collection .collection-filter .lux-view-toggle{display:inline-flex!important;width:auto!important;min-width:0!important;padding:1px!important;overflow:hidden!important}\",\n      \"html body.template-collection .collection-filter .lux-view-toggle__label{display:inline-flex!important;align-items:center!important;padding:0 12px!important;border:0!important;background:transparent!important}\",\n      \"html body.template-collection .collection-filter .lux-view-toggle button,html body.template-collection .collection-filter .lux-view-toggle a{min-width:64px!important;padding:0 13px!important;border-color:transparent!important;background:transparent!important}\",\n      \"html body.template-collection .collection-filter__sort-container{width:198px!important;min-width:198px!important;max-width:198px!important;overflow:hidden!important}\",\n      \"html body.template-collection .collection-filter__sort-container select,html body.template-collection .collection-filter select.collection-filter__sort{width:100%!important;min-width:100%!important;padding:0 34px 0 18px!important;text-align:left!important}\",\n      \"@media(hover:none),(pointer:coarse),(max-width:768px){html body .lux-cursor,html body .lux-cursor *{display:none!important;visibility:hidden!important;opacity:0!important}html body,html body *{cursor:auto!important}}\",\n      \"@media(max-width:768px){html body.template-index .lux-curated-tiles--logos .lux-curated-tiles__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:96px!important;width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;margin-left:auto!important;margin-right:0!important;overflow:hidden!important}html body.template-index .lux-curated-tiles--logos .lux-curated-tile,html body.template-index .lux-curated-tiles--logos [data-lux-brand-card]{height:96px!important;min-height:96px!important;max-height:96px!important}html body.template-page .featured-collections .collection-item{height:258px!important;min-height:258px!important;max-height:258px!important}html body.template-collection .collection-grid__wrapper>.collection-filter,html body.template-collection .lux-collection .collection-grid__wrapper>.collection-filter,html body.template-collection .collection-filter,html body.template-collection .lux-collection .collection-filter{top:auto!important;min-height:48px!important;gap:7px!important;padding:8px 12px!important}html body.template-collection .collection-filter .btn--tertiary,html body.template-collection .collection-filter .btn.btn--tertiary,html body.template-collection .collection-filter__item--quick .lux-filter-chip,html body.template-collection .collection-filter__sort-container,html body.template-collection .collection-filter select,html body.template-collection .collection-filter__sort,html body.template-collection .collection-filter .lux-view-toggle,html body.template-collection .collection-filter .lux-view-toggle a,html body.template-collection .collection-filter .lux-view-toggle button{height:32px!important;min-height:32px!important;font-size:9.5px!important}html body.template-collection .collection-filter .lux-view-toggle__label{display:none!important}html body.template-collection .collection-filter .lux-view-toggle button,html body.template-collection .collection-filter .lux-view-toggle a{min-width:58px!important;padding:0 10px!important}html body.template-collection .collection-filter__sort-container{width:112px!important;min-width:112px!important;max-width:112px!important}html body .lux-card-slider,html body [data-lux-card-slider],html body .grid-product__image-mask,html body [class*='drv-swiper'],html body [class*='drv-carousel']{max-width:100%!important;overflow:hidden!important}html body .lux-product-card .lux-card-slider__viewport{max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important}html body .grid-product__link.lux-card-slider__track{position:relative!important;inset:auto!important;width:calc(100% * var(--lux-card-slide-count,1))!important;min-width:calc(100% * var(--lux-card-slide-count,1))!important;max-width:none!important;left:auto!important;right:auto!important;transform:none!important;overflow:visible!important}html body .lux-product-card .lux-card-slider__slide{flex:0 0 calc(100% / var(--lux-card-slide-count,1))!important;min-width:calc(100% / var(--lux-card-slide-count,1))!important;max-width:calc(100% / var(--lux-card-slide-count,1))!important;width:calc(100% / var(--lux-card-slide-count,1))!important}html body .lux-product-card .lux-card-slider__image{width:100%!important;min-width:100%!important;max-width:100%!important;height:100%!important;object-fit:contain!important}}\"\n    ].join(\"\\n\");\n    (document.body || document.head || document.documentElement).appendChild(style);\n  }\n\n  function freezeStaticVisuals() {\n    var nodes = document.querySelectorAll([\n      \".lux-curated-tile\",\n      \".collection-item\",\n      \".collection-image--lux-asset\",\n      \".lux-collection__intro\",\n      \".featured-collections .collection-item\"\n    ].join(\",\"));\n    nodes.forEach(function (node) {\n      node.style.setProperty(\"animation\", \"none\", \"important\");\n      node.style.setProperty(\"transition\", \"none\", \"important\");\n    });\n  }\n\n  function clampMobileProductTracks() {\n    if (!isTouchLike()) return;\n    document.querySelectorAll(\".grid-product__link.lux-card-slider__track\").forEach(function (track) {\n      [\n        \"position\", \"inset\", \"width\", \"inline-size\", \"min-width\", \"height\",\n        \"block-size\", \"max-width\", \"flex-basis\", \"left\", \"right\", \"transform\", \"overflow\"\n      ].forEach(function (property) {\n        track.style.removeProperty(property);\n      });\n    });\n  }\n\n  function run() {\n    injectStyle();\n    normalizeCursor();\n    freezeStaticVisuals();\n    clampMobileProductTracks();\n  }\n\n  function watchTouchCursorRemoval() {\n    if (!isTouchLike() || !window.MutationObserver || !document.body || document.body.__llbR183CursorObserver) return;\n    document.body.__llbR183CursorObserver = true;\n    var observer = new MutationObserver(function () {\n      normalizeCursor();\n    });\n    observer.observe(document.body, { childList: true, subtree: false });\n  }\n\n  if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", run, { once: true });\n  else run();\n\n  window.addEventListener(\"pageshow\", run, { passive: true });\n  window.addEventListener(\"resize\", run, { passive: true });\n  document.addEventListener(\"collection:reloaded\", run);\n  document.addEventListener(\"pointermove\", normalizeCursor, { passive: true });\n  watchTouchCursorRemoval();\n})();\n"],
  "mappings": "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",
  "names": ["match", "cursor", "setPositionVar", "setDotPosition", "setRingPosition", "animateRing", "moveRing", "setMode", "updateModeFromPoint", "scheduleModeRefresh", "clearHoverImageWait", "previewLoadedSlide", "dispatchCursorMode", "announceDragCursor", "scheduleHoverPreview", "cancelHoverPreview"]
}
