/* KX immersive product viewer */
html.kx-lock{overflow:hidden}
dialog.kx-viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#0c0d0e;color:#F5EFE6;overflow:hidden;opacity:0;transition:opacity .3s ease;line-height:1.4}
dialog.kx-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
dialog.kx-viewer.is-in{opacity:1}
dialog.kx-viewer::backdrop{background:#0c0d0e}
.kx-viewer__amb{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.kx-viewer__amb span{position:absolute;inset:-12%;background-size:cover;background-position:center;filter:blur(64px) saturate(1.3);opacity:0;transform:scale(1.08);transition:opacity .8s ease}
.kx-viewer__amb span.is-on{opacity:.42}
.kx-viewer__amb::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,rgba(12,13,14,.15),rgba(12,13,14,.88) 70%)}
.kx-viewer__top{position:relative;z-index:3;display:flex;align-items:center;gap:16px;padding:16px clamp(14px,2.6vw,30px)}
.kx-viewer__count{display:flex;align-items:center;gap:10px;font-family:var(--kx-font-head);font-size:13px;letter-spacing:.2em;color:rgba(245,239,230,.6);font-feature-settings:"tnum" 1}
.kx-viewer__count b{font-weight:500;color:#F5EFE6}
.kx-viewer__count i{display:block;width:30px;height:1px;background:var(--kx-brass)}
.kx-viewer__title{flex:1;min-width:0;text-align:center;font-family:var(--kx-font-head);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,239,230,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kx-viewer__btn{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(245,239,230,.2);background:rgba(20,22,23,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#F5EFE6;display:grid;place-items:center;padding:0;cursor:pointer;transition:background .2s,border-color .2s,color .2s,opacity .2s}
.kx-viewer__btn:hover{background:var(--kx-brass);border-color:var(--kx-brass);color:#1B1E1F}
.kx-viewer__btn:focus-visible{outline:2px solid var(--kx-brass-hi);outline-offset:3px}
.kx-viewer__btn svg{width:18px;height:18px;display:block}
.kx-viewer__track{position:relative;z-index:2;display:flex;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-x;outline:0}
.kx-viewer__track::-webkit-scrollbar{display:none}
dialog.kx-viewer.is-zoomed .kx-viewer__track{overflow:hidden;touch-action:none}
.kx-viewer__slide{flex:0 0 100%;min-width:0;height:100%;margin:0;padding:6px clamp(14px,7vw,110px);scroll-snap-align:center;scroll-snap-stop:always;box-sizing:border-box}
.kx-viewer__frame{position:relative;display:block;width:100%;height:100%;overflow:hidden;cursor:zoom-in}
dialog.kx-viewer.is-zoomed .kx-viewer__frame{cursor:zoom-out}
@media (pointer:coarse){dialog.kx-viewer.is-zoomed .kx-viewer__frame{cursor:grab}}
.kx-viewer__frame::before{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid rgba(245,239,230,.14);border-top-color:var(--kx-brass);animation:kx-spin .9s linear infinite}
.kx-viewer__frame.is-ready::before{display:none}
@keyframes kx-spin{to{transform:rotate(360deg)}}
.kx-viewer__frame img{position:absolute;inset:0;margin:auto;width:100%;height:100%;max-width:820px;max-height:820px;object-fit:contain;display:block;opacity:0;filter:drop-shadow(0 28px 50px rgba(0,0,0,.5));transition:opacity .45s ease;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;transform-origin:50% 50%;will-change:transform}
.kx-viewer__frame img.is-loaded{opacity:1}
.kx-viewer__nav{position:absolute;z-index:4;top:50%;margin-top:-23px}
.kx-viewer__nav--prev{left:clamp(10px,2vw,28px)}
.kx-viewer__nav--next{right:clamp(10px,2vw,28px)}
dialog.kx-viewer.is-zoomed .kx-viewer__nav{opacity:0;pointer-events:none}
.kx-viewer__bottom{position:relative;z-index:3;display:grid;justify-items:center;gap:12px;padding:12px clamp(14px,2.6vw,30px) 18px}
.kx-viewer__progress{position:relative;width:min(440px,72vw);height:1px;background:rgba(245,239,230,.14);overflow:hidden}
.kx-viewer__progress span{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--kx-brass);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.kx-viewer__strip{position:relative;display:flex;gap:8px;margin:0;padding:4px 2px;list-style:none;max-width:100%;overflow-x:auto;scrollbar-width:none}
.kx-viewer__strip::-webkit-scrollbar{display:none}
.kx-viewer__strip li{flex:none;margin:0;line-height:0}
.kx-viewer__strip button{display:block;width:56px;height:56px;padding:0;border:0;border-radius:6px;overflow:hidden;background:#1c1e1f;opacity:.38;cursor:pointer;outline:1.5px solid transparent;outline-offset:2px;transition:opacity .25s,outline-color .25s,transform .25s}
.kx-viewer__strip button:hover{opacity:.78}
.kx-viewer__strip button.is-active{opacity:1;outline-color:var(--kx-brass);transform:translateY(-2px)}
.kx-viewer__strip img{width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.kx-viewer__hint{font-family:var(--kx-font-head);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,239,230,.42)}
@media(max-width:640px){.kx-viewer__title{display:none}.kx-viewer__count{flex:1}.kx-viewer__nav{display:none}.kx-viewer__slide{padding:4px 8px}.kx-viewer__strip button{width:46px;height:46px}.kx-viewer__bottom{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){dialog.kx-viewer,.kx-viewer__amb span,.kx-viewer__frame img,.kx-viewer__progress span,.kx-viewer__strip button{transition:none}.kx-viewer__frame::before{animation:none}}