"use strict";(globalThis.webpackChunk_shopby_react_skin=globalThis.webpackChunk_shopby_react_skin||[]).push([[2695],{60695(e,t,n){n.d(t,{A:()=>p,j:()=>u});var o=n(54983),a=n(11089),r=n(5966),l=n(68801),i=n(54510),s=n(22699),c=n(10909),d=n(54983);const u=e=>{if(!e||e.getElementById("hv-pdp-sim-style"))return;const t=e.createElement("style");t.id="hv-pdp-sim-style",t.textContent=".hv-pdp-sim-pill{position:absolute;right:var(--h-gutter);bottom:calc(var(--h-gutter-md) + var(--h-space-4) * 1.5 + var(--h-space-4) * 2.75 * 1.55 + var(--h-space-8));display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px;border-radius:var(--h-radius-chip);background:var(--h-surface);box-shadow:inset 0 0 0 1px var(--h-line);color:var(--h-ink);font-size:var(--h-fs-body-sm);font-weight:var(--h-fw-sb);line-height:1;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:hvPdpPillFadeIn var(--h-dur-1) var(--h-ease) both}.hv-pdp-sim-pill::after{content:'';position:absolute;inset:-16px 0 0}.hv-pdp-stage .hv-pdp-sim-pill{right:var(--h-gutter-md)}@media(hover: hover){.hv-pdp-sim-pill:hover{box-shadow:inset 0 0 0 1px var(--h-ink)}}.hv-pdp-sim-pill:active{transform:translateY(1px)}.hv-pdp-sim-pill:focus-visible{outline:2px solid var(--h-ink);outline-offset:-2px}.hv-sheet__panel.hv-pdp-sim__panel{height:88vh;height:88dvh;max-height:none;padding:0 16px}.hv-pdp-sim__head{display:flex;flex-shrink:0;align-items:center;gap:12px;min-height:64px;padding-bottom:8px;touch-action:none}.hv-pdp-sim__thumb{flex:none;width:56px;height:56px;overflow:hidden;border-radius:var(--h-radius-card);background:var(--h-bg-product)}.hv-pdp-sim__thumb img{display:block;width:100%;height:100%;object-fit:contain}.hv-pdp-sim__titles{flex:1;min-width:0}.hv-pdp-sim__title{margin:0;color:var(--h-ink);font-size:17px;font-weight:var(--h-fw-b);line-height:1.3}.hv-pdp-sim__caption{margin:2px 0 0;overflow:hidden;color:var(--h-ink-3);font-size:12px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis}.hv-pdp-sim__scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 0 calc(16px + env(safe-area-inset-bottom));touch-action:pan-y;overscroll-behavior:contain}.hv-pdp-sim__chips{margin-bottom:16px}.hv-pdp-sim__state{display:flex;flex-direction:column;align-items:center;padding:48px 0;text-align:center}.hv-pdp-sim__state-title{margin:0;color:var(--h-ink);font-size:var(--h-fs-body);font-weight:var(--h-fw-sb)}.hv-pdp-sim__state-body{margin:8px 0 0;color:var(--h-ink-3);font-size:var(--h-fs-body-sm)}.hv-pdp-sim__state .h-btn{margin-top:24px;min-width:160px}.hv-pdp-sim__skel .hv-pc__meta-link > *{position:relative}.hv-pdp-sim__skel .hv-pdp-skel__line{position:absolute;top:50%;left:0;transform:translateY(-50%)}.hv-pdp-sim__skel .hv-pc__name .hv-pdp-skel__line{width:85%}.hv-pdp-sim__skel .hv-pc__brand{display:flex;width:50%}@media(min-width: 768px){.hv-sheet__panel--wide{width:min(960px, calc(100vw - 48px));max-width:none}.hv-sheet__panel.hv-pdp-sim__panel{padding:0 24px}.hv-pdp-sim__grip{display:none}.hv-pdp-sim__head{min-height:96px;padding:24px 0 16px}.hv-pdp-sim__thumb{width:64px;height:64px}.hv-pdp-sim__title{font-size:20px}.hv-pdp-sim__caption{font-size:13px}.hv-pdp-sim__scroll{padding-bottom:24px}}@media(prefers-reduced-motion: reduce){.hv-pdp-sim-pill{animation:none}}",e.head.append(t)};function p(e){let t=e.id,n=e.titleId,a=e.title,u=e.caption,p=e.thumb,m=e.closingRef,h=e.onClose,v=e.onReturnFocus,f=e.claimScroll,g=e.live,b=e.busy,y=e.headerActions,_=e.closeIcon,w=e.children;const E=(0,c.al)(),N=(0,o.useRef)(null),k=(0,o.useRef)(h);k.current=h,(0,o.useEffect)(()=>{const e=(window.history.state||{}).key,t=(0,i.z)({fixed:window.matchMedia("(max-width: 767px)").matches});N.current.focus({preventScroll:!0});const n=e=>{"Escape"===e.key?k.current("esc"):(0,l.L)(e,N.current)};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n);const o=(window.history.state||{}).key!==e;m.current&&"navigate"!==m.current&&!o&&f&&f(),t(o),v()}},[]);const x=(0,r.A)(N,()=>h("drag"));return d.createElement("div",{id:t,role:"dialog","aria-modal":"true","aria-labelledby":n,className:"hv-sheet hv-pdp-sim",onClick:()=>h("backdrop")},d.createElement("div",{ref:N,tabIndex:-1,className:"hv-sheet__panel hv-sheet__panel--wide hv-pdp-sim__panel",onClick:e=>e.stopPropagation(),onPointerDown:E?x.onSheetDown:void 0,onPointerMove:E?x.onHandleMove:void 0,onPointerUp:E?x.onHandleUp:void 0,onPointerCancel:E?x.onHandleCancel:void 0},d.createElement("div",{className:"hv-pdp-drawer__grip hv-pdp-sim__grip"},d.createElement(c.Mg,null)),d.createElement("div",{className:"hv-pdp-sim__head"},d.createElement("span",{className:"hv-pdp-sim__thumb"},p?d.createElement("img",{alt:"",decoding:"async",src:p}):null),d.createElement("div",{className:"hv-pdp-sim__titles"},d.createElement("h2",{id:n,className:"hv-pdp-sim__title"},a),d.createElement("p",{className:"hv-pdp-sim__caption"},u)),y,d.createElement("button",{type:"button",className:"hv-sheet__x","aria-label":s.D.close,onClick:()=>h("button")},_??"×")),d.createElement("div",{className:"hv-pdp-sim__scroll","aria-busy":b||void 0},w),d.createElement("p",{className:"hv-sr-only","aria-live":"polite"},g)))}p.propTypes={id:a.string.isRequired,titleId:a.string.isRequired,title:a.node.isRequired,caption:a.string,thumb:a.string,closingRef:a.object.isRequired,onClose:a.func.isRequired,onReturnFocus:a.func.isRequired,claimScroll:a.func,live:a.node,children:a.node,busy:a.bool,headerActions:a.node,closeIcon:a.node}},58412(e,t,n){n.d(t,{Ay:()=>a});var o=n(54983);function a(e,t){(0,o.useEffect)(()=>{if(!t||"undefined"==typeof window)return;const n=window.visualViewport;if(!n)return;const o=()=>{const t=e.current;t&&(t.style.marginBottom="",t.style.maxHeight="")},a=()=>{const t=e.current;if(!t)return;const a=window.innerWidth<=767?(e=>{const t=null==e?void 0:e.visualViewport;return t?Math.max(0,Math.round(e.innerHeight-t.height-t.offsetTop)):0})(window):0;if(a<80)return o();t.style.marginBottom=`${a}px`,t.style.maxHeight=`${Math.max(0,Math.round(n.height)-16)}px`;const r=document.activeElement,l=t.querySelector(".hv-sheet__scroll");if(!l||!r||r===l||!l.contains(r))return;const i=r.getBoundingClientRect(),s=l.getBoundingClientRect();i.bottom>s.bottom-8?l.scrollTop+=i.bottom-(s.bottom-8):i.top{n.removeEventListener("resize",a),n.removeEventListener("scroll",a),null==r||r.removeEventListener("focusin",a),o()}},[t,e])}},78528(e,t,n){var o=n(54983),a=n(11089),r=n(42998),l=n(89111),i=n(18267),s=n(44446),c=n(86614),d=n(80140),u=n(54983);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n{let t=e.label,n=e.open,a=e.onToggle,r=e.items,l=e.onPick,v=e.leads,f=void 0===v?null:v,g=e.basePrice,b=e.parentPath,y=void 0===b?[]:b;const _=r.length>=12,w=(k=(0,o.useState)(""),x=2,function(e){if(Array.isArray(e))return e}(k)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,a,r,l,i=[],s=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(i.push(o.value),i.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw a}}return i}}(k,x)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}(k,x)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),E=w[0],N=w[1];var k,x;(0,o.useEffect)(()=>{n||N("")},[n]);const C=(0,i.uZ$)(r,E);return u.createElement("div",{className:"hv-pdp-mdd"},u.createElement("button",{type:"button",onClick:a,className:"hv-pdp-mdd__trigger"},u.createElement("span",null,t),u.createElement(d.$F,{open:n,size:14})),n?u.createElement("ul",{className:"hv-pdp-mdd__list"},_?u.createElement("li",{className:"hv-pdp-mdd__search"},u.createElement("input",{type:"search",value:E,onChange:e=>N(e.target.value),placeholder:m.optionSearchPh,"aria-label":m.optionSearchPh,autoComplete:"off",className:"hv-pdp-mdd__search-input"})):null,_&&0===C.length?u.createElement("li",{className:"hv-pdp-mdd__empty"},m.optionSearchEmpty):null,C.map(e=>{var t,n,o;const a=(0,s.sS)(e,g,y),r=(0,i.B0e)(e)||!(null!==(t=e.children)&&void 0!==t&&t.length)&&null===a,d=(0,i.SXn)(e.value);return u.createElement("li",{key:e.optionNo},u.createElement("button",{type:"button",disabled:r,onClick:()=>l(e),className:"hv-pdp-mdd__item"+(r?" is-disabled":"")},u.createElement("span",{className:"hv-pdp-mdd__text"},u.createElement("span",{className:"hv-pdp-mdd__main"},d[0]??e.value),d.length>1?u.createElement("span",{className:"hv-pdp-mdd__sub"},d.slice(1).join(" · ")):null,u.createElement(c.A,{range:a,className:"hv-pdp-mdd__add"})),r||null!==(n=e.children)&&void 0!==n&&n.length||null==f||null===(o=f[e.optionNo])||void 0===o||!o.trailing?null:u.createElement("span",{className:"hv-pdp-mdd__trail"+(f[e.optionNo].trailing.includes(h.shippingInfo.lowStockOption)?" is-warn":"")},f[e.optionNo].trailing)))})):null)};v.propTypes={label:a.string.isRequired,open:a.bool.isRequired,onToggle:a.func.isRequired,items:(0,a.arrayOf)(a.object).isRequired,onPick:a.func.isRequired,leads:a.object,basePrice:a.number,parentPath:(0,a.arrayOf)(a.object)};const f=v;n.d(t,["A",0,f])},12695(e,t,n){n.r(t),n.d(t,{AddedToCartPanel:()=>le,BuyNowScopeSheet:()=>Y,ConsentSheet:()=>$,CouponSheet:()=>g,InquiryForm:()=>_e,MobileOptionSheet:()=>Ue,RestockSheet:()=>O,SimilarEntry:()=>ct,StockNoticeSheet:()=>H,TrustSheet:()=>vt,issueBenefitCoupon:()=>jt,noteOrderChannel:()=>ft.a,runDirectBuyF3:()=>je.G});var o=n(54983),a=n(90299),r=n(11089),l=n(31003),i=n(94015);const s={aria:"공유하기",label:"공유",copied:i.u.share.copied,copyFail:i.u.share.copyFail};var c=n(85990),d=n(54983);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,a,r,l,i=[],s=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(i.push(o.value),i.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n{for(let t=e;t&&t!==document;t=t.parentElement){const e=window.getComputedStyle(t);if(t.hidden||"none"===e.display||["hidden","collapse"].includes(e.visibility)||"0"===e.opacity)return!1}const t=e.getBoundingClientRect();return t.width>0&&t.height>0},v=e=>{let t=e.owner;const n=(0,o.useRef)(null),a=u((0,o.useState)(window.innerWidth<768),2),r=a[0],i=a[1],c=u((0,o.useState)(!1),2),p=c[0],v=c[1],f=u((0,o.useState)(!1),2),g=f[0],b=f[1],y=s;return(0,o.useLayoutEffect)(()=>{let e=null;const o=()=>{e=null;const o=n.current;if(!o||!t.isConnected)return;const a=window.innerWidth<768,r=o.closest("[data-pdp-share-host]"),l=t.querySelector(".hv-pdp-sticky__ctas > .hv-pdp-wish--mobile");a&&l?r.previousElementSibling!==l&&l.after(r):r.parentElement!==document.body&&document.body.appendChild(r),r.hidden!==(a&&!l)&&(r.hidden=a&&!l),i(a);const s=o.offsetLeft,c=o.offsetLeft+o.offsetWidth,d=o.offsetTop,u=o.offsetTop+o.offsetHeight,p=[document.body,document.documentElement].some(e=>{const t=window.getComputedStyle(e);return["hidden","clip"].includes(t.overflow)||["hidden","clip"].includes(t.overflowY)||"fixed"===t.position||e.classList.contains("prevent-scroll")})||[...document.querySelectorAll(m)].some(h)||!a&&[...document.querySelectorAll("[data-kakao-chat-fab],.hv-pdp-sticky")].some(e=>{if(!h(e))return!1;const t=e.getBoundingClientRect();return t.lefts-8&&t.topd-8});b(p),v(!p&&"false"!==t.getAttribute("data-havea-content-ready")&&(a?!!l:(window.scrollY||document.documentElement.scrollTop||0)>400))},a=()=>{null===e&&(e=window.requestAnimationFrame(o))},r=new window.MutationObserver(a);return r.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class","hidden","open","aria-modal","data-havea-entry-detail","data-havea-content-ready","data-havea-content-path"]}),window.addEventListener("scroll",a,{passive:!0}),window.addEventListener("resize",a,{passive:!0}),o(),()=>{r.disconnect(),window.removeEventListener("scroll",a),window.removeEventListener("resize",a),null!==e&&window.cancelAnimationFrame(e)}},[t]),d.createElement(d.Fragment,null,d.createElement("style",null,"\n.hv-pdp-scroll-top.hv-pdp-share{right:auto;left:40px}\n.hv-pdp-scroll-top.hv-pdp-share.is-overlapping{opacity:0;pointer-events:none;transition:none}\n.hv-pdp-share:focus-visible{outline:2px solid var(--h-ink);outline-offset:4px}\n@media(prefers-reduced-motion:reduce){.hv-pdp-scroll-top.hv-pdp-share{transition:none;transform:none}}\n"),d.createElement("button",{ref:n,type:"button",className:[r?"hv-pdp-wish hv-pdp-wish--mobile":"hv-pdp-scroll-top","hv-pdp-share",p&&"is-visible",g&&"is-overlapping"].filter(Boolean).join(" "),onClick:async()=>{const e=function(e){var t;const n=null==e?void 0:e.getAttribute("data-havea-content-path");if(!/^\/products\/\d+$/.test(n||"")||"false"===e.getAttribute("data-havea-content-ready"))return null;let o=new URL(n,window.location.origin);try{var a;const e=new URL(null===(a=document.querySelector('link[rel="canonical"]'))||void 0===a?void 0:a.href);e.pathname===n&&/^https?:$/.test(e.protocol)&&(o=e)}catch{}return{title:(null===(t=e.querySelector(".hv-pdp-sub")||e.querySelector(".hv-pdp-h1"))||void 0===t?void 0:t.textContent.trim())||"",url:`${o.origin}${o.pathname}`}}(t);if(e&&e.title){if("function"==typeof navigator.share)try{return void await navigator.share(e)}catch(e){if("AbortError"===(null==e?void 0:e.name))return}try{await navigator.clipboard.writeText(e.url),(0,l.P)(y.copied)}catch{(0,l.P)(y.copyFail)}}},"aria-label":y.aria,"aria-hidden":!p||void 0,tabIndex:p?0:-1,disabled:!p},d.createElement("span",{className:"hv-pdp-wish__inner"},d.createElement("svg",{width:r?18:20,height:r?18:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:r?1.4:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},d.createElement("path",{d:"M12 15V3M8 7l4-4 4 4M5 12v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7"})),r&&d.createElement("span",{className:"hv-pdp-wish__count","aria-hidden":"true"},y.label))))};v.propTypes={owner:r.object.isRequired},function(){if("undefined"==typeof document||!document.body)return()=>{};let e=null;const t=()=>{var t;const n=document.querySelector('[data-qa="pdp-root"]');if(n===(null===(t=e)||void 0===t?void 0:t.owner))return;if(e&&(e.root.unmount(),e.host.remove(),e=null),!n)return;const o=document.createElement("div");o.setAttribute("data-pdp-share-host","");const r=(0,a.H)(o);e={owner:n,host:o,root:r},document.body.appendChild(o),r.render(d.createElement(v,{owner:n}))};new window.MutationObserver(t).observe(document.body,{childList:!0,subtree:!0}),t()}();const f=(0,o.lazy)(()=>Promise.all([n.e(7862),n.e(4013)]).then(()=>n(429)));function g(e){return(0,o.createElement)(f,e)}var b=n(5966),y=n(52386),_=n(42998),w=n(19591),E=n(18267),N=n(58412),k=n(88317),x=n(80140),C=n(54510),S=n(78649),A=n(54983);function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,a,r,l,i=[],s=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(o=r.call(n)).done)&&(i.push(o.value),i.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return R(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n{let t=e.open,n=e.onClose;const a=(0,k.y)(),r=a.productNo,l=a.options,i=a.actions,s=(0,E.ck8)(l),c=P((0,o.useState)(""),2),d=c[0],u=c[1],p=P((0,o.useState)(""),2),m=p[0],h=p[1],v=P((0,o.useState)(""),2),f=v[0],g=v[1],_=P((0,o.useState)(!1),2),w=_[0],R=_[1],I=P((0,o.useState)(!1),2),O=I[0],T=I[1],j=P((0,o.useState)({ok:!1,error:null}),2),q=j[0],F=j[1],D=(0,o.useRef)(null),$=(0,o.useRef)(null),B=s.length>1?d:1===s.length?String(s[0].optionNo):"",U=(0,b.A)($,n,t);return(0,o.useEffect)(()=>{var e,o;if(!t)return;D.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const a=(0,C.z)();null===(e=$.current)||void 0===e||null===(o=e.focus)||void 0===o||o.call(e,{preventScroll:!0});const r=e=>{"Escape"===e.key&&n()};return document.addEventListener("keydown",r),()=>{var e,t;a(),document.removeEventListener("keydown",r),null===(e=D.current)||void 0===e||null===(t=e.focus)||void 0===t||t.call(e)}},[t,n]),(0,N.Ay)($,t),t?"undefined"==typeof document?null:(0,y.createPortal)(A.createElement("div",{role:"dialog","aria-modal":"true","aria-labelledby":"restock-sheet-title","data-restock-sheet":!0,className:"hv-sheet",onClick:n},A.createElement("div",{onPointerDown:U.onSheetDown,onPointerMove:U.onHandleMove,onPointerUp:U.onHandleUp,onPointerCancel:U.onHandleCancel,ref:$,tabIndex:-1,"data-restock-sheet":!0,className:"hv-sheet__panel hv-sheet__panel--card",onClick:e=>e.stopPropagation()},A.createElement("div",{className:"hv-sheet__grip"},A.createElement(x.Mg,null)),A.createElement("div",{className:"hv-sheet__scroll"},q.ok?A.createElement("div",{role:"status",className:"hv-restock__done"},A.createElement("p",{className:"hv-restock__done-title"},L.success),A.createElement("p",{className:"hv-restock__done-sub"},L.successDetail),A.createElement("button",{type:"button",onClick:n,className:"h-btn h-btn--secondary h-btn--block hv-restock__close-btn"},L.closeBtn)):A.createElement(A.Fragment,null,A.createElement("div",{className:"hv-sheet__titlebar"},A.createElement("h2",{id:"restock-sheet-title",className:"hv-sheet__title"},L.title),A.createElement("button",{type:"button",onClick:n,"aria-label":L.closeBtn,className:"hv-sheet__x"},"×")),A.createElement("form",{onSubmit:async e=>{if(e.preventDefault(),!m.trim())return F({ok:!1,error:L.errors.nameRequired});const t=f.replace(/\D/g,"");if(!/^01\d{8,9}$/.test(t))return F({ok:!1,error:L.errors.invalidMobile});if(!w)return F({ok:!1,error:L.errors.agreementRequired});T(!0);try{await i.restock({productNo:r,optionNos:B?[Number(B)]:[],name:m.trim(),phone:t,privacyInfoAgreement:!0}),F({ok:!0,error:null})}catch(e){var n;F({ok:!1,error:(null==e||null===(n=e.error)||void 0===n?void 0:n.description)??L.errors.generic})}finally{T(!1)}},className:"hv-restock__form"},s.length>1?A.createElement("div",null,A.createElement("label",{htmlFor:"restock-option",className:"hv-restock__label"},M.cart.optionLabel),A.createElement("select",{id:"restock-option",required:!0,value:d,onChange:e=>u(e.target.value),className:"h-input"},A.createElement("option",{value:"",disabled:!0},M.cart.selectOption),s.map(e=>A.createElement("option",{key:e.optionNo,value:String(e.optionNo)},e.label)))):null,A.createElement("div",null,A.createElement("label",{htmlFor:"restock-name",className:"hv-restock__label"},L.nameLabel),A.createElement("input",{id:"restock-name",name:"name",type:"text",required:!0,autoComplete:"name",maxLength:30,value:m,onChange:e=>h(e.target.value),className:"h-input"})),A.createElement("div",null,A.createElement("label",{htmlFor:"restock-phone",className:"hv-restock__label"},L.mobileLabel),A.createElement("input",{id:"restock-phone",name:"phone",type:"tel",inputMode:"numeric",autoComplete:"tel",required:!0,placeholder:L.mobilePlaceholder,value:f,onChange:e=>g(e.target.value),className:"h-input"})),A.createElement("label",{className:"hv-restock__agree"},A.createElement("input",{type:"checkbox",name:"privacyInfoAgreement",required:!0,checked:w,onChange:e=>R(e.target.checked)}),A.createElement("span",null,L.agreement)),q.error?A.createElement("p",{role:"status",className:"hv-restock__error"},q.error):null,A.createElement("button",{type:"submit",disabled:O,className:"h-btn h-btn--point h-btn--block"},A.createElement(A.Fragment,null,O&&A.createElement(S.N2,{label:L.submitting}),L.submit))))))),document.body):null};I.propTypes={open:r.bool.isRequired,onClose:r.func.isRequired};const O=I;var T=n(89111),j=n(46700),q=n(54983);const F={shippingInfo:T.r,checkout:j.P},D=e=>{let t=e.open,n=e.kind,a=void 0===n?"made-to-order":n,r=e.optionLabel,l=e.caption,i=e.onAgree,s=e.onCancel;const c=F.shippingInfo.consentSheet,d="overseas"===a,u=d?[F.checkout.consent.overseasBody]:F.checkout.consent.madeToOrderBody,p=(0,o.useRef)(null),m=(0,o.useRef)(null),h=(0,b.A)(p,s,t);return(0,o.useEffect)(()=>{if(!t)return;m.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const e=(0,C.z)(),n=e=>{"Escape"===e.key&&s()};return document.addEventListener("keydown",n),()=>{var t,o;e(),document.removeEventListener("keydown",n),null===(t=m.current)||void 0===t||null===(o=t.focus)||void 0===o||o.call(t,{preventScroll:!0})}},[t,s]),t?"undefined"==typeof document?null:(0,y.createPortal)(q.createElement("div",{role:"dialog","aria-modal":"true","aria-labelledby":"mto-consent-title","data-mto-sheet":!0,className:"hv-sheet",onClick:s},q.createElement("div",{ref:p,onPointerDown:h.onSheetDown,onPointerMove:h.onHandleMove,onPointerUp:h.onHandleUp,onPointerCancel:h.onHandleCancel,"data-mto-sheet":!0,className:"hv-sheet__panel hv-sheet__panel--card",onClick:e=>e.stopPropagation()},q.createElement("div",{className:"hv-sheet__grip"},q.createElement(x.Mg,null)),q.createElement("div",{className:"hv-sheet__scroll hv-consent__scroll"},q.createElement("div",{className:"hv-sheet__titlebar"},q.createElement("h2",{id:"mto-consent-title",className:"hv-sheet__title"},d?c.overseasTitle:c.title),q.createElement("button",{type:"button",onClick:s,"aria-label":c.otherOption,className:"hv-sheet__x"},"×")),q.createElement("p",{className:"hv-consent__target"},r,l?q.createElement("span",{className:"hv-consent__caption"},l):null),q.createElement("p",{className:"hv-consent__lead"},d?c.overseasLead:c.lead),q.createElement("ul",{className:"hv-consent__list"},u.map(e=>q.createElement("li",{key:e},e)))),q.createElement("div",{className:"hv-consent__ctas"},q.createElement("button",{type:"button",onClick:i,className:"h-btn h-btn--primary h-btn--block"},c.agreeAndSelect),q.createElement("button",{type:"button",onClick:s,className:"h-btn h-btn--secondary h-btn--block"},c.otherOption)))),document.body):null};D.propTypes={open:r.bool.isRequired,kind:(0,r.oneOf)(["made-to-order","overseas"]),optionLabel:r.string.isRequired,caption:r.string,onAgree:r.func.isRequired,onCancel:r.func.isRequired};const $=D;var B=n(54983);const U=e=>{let t=e.notice,n=e.onClose,a=e.onViewCart;const r=(0,o.useRef)(null),l=(0,o.useRef)(null),i=(0,b.A)(r,n,Boolean(t));if((0,o.useEffect)(()=>{if(!t)return;l.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const e=(0,C.z)(),o=e=>{"Escape"===e.key&&n()};return document.addEventListener("keydown",o),()=>{var t,n;e(),document.removeEventListener("keydown",o),null===(t=l.current)||void 0===t||null===(n=t.focus)||void 0===n||n.call(t,{preventScroll:!0})}},[t,n]),!t||"undefined"==typeof document)return null;const s=_.C.cart.stockLimit,c=t.kind,d=t.stock,u=t.existing,p="list"===c,m=p?t.mixed||t.blocked.some(e=>"full"===e.kind):"full"===c,h="info"===c,v=h?t.title:p?t.mixed?s.mixedTitle:s.blockedTitle:"full"===c?s.fullTitle:"partial"===c?s.partialTitle(u):s.reachedTitle(d),f=h?t.body:"full"===c?s.fullBody(d):"partial"===c?s.partialBody(d,u):s.reachedBody(d);return(0,y.createPortal)(B.createElement("div",{role:"dialog","aria-modal":"true","aria-labelledby":"pdp-stock-notice-title","data-stock-notice":!0,className:"hv-sheet",onClick:n},B.createElement("div",{ref:r,onPointerDown:i.onSheetDown,onPointerMove:i.onHandleMove,onPointerUp:i.onHandleUp,onPointerCancel:i.onHandleCancel,className:"hv-sheet__panel hv-sheet__panel--card",onClick:e=>e.stopPropagation()},B.createElement("div",{className:"hv-sheet__grip"},B.createElement(x.Mg,null)),B.createElement("div",{className:"hv-sheet__scroll hv-consent__scroll"},B.createElement("div",{className:"hv-sheet__titlebar"},B.createElement("h2",{id:"pdp-stock-notice-title",className:"hv-sheet__title"},v),B.createElement("button",{type:"button",onClick:n,"aria-label":s.close,className:"hv-sheet__x"},"×")),p?B.createElement(B.Fragment,null,B.createElement("ul",{className:"hv-consent__list"},t.blocked.map(e=>B.createElement("li",{key:e.optionNo},e.label," ·"," ","full"===e.kind?s.optionFull(e.stock):s.optionPartial(e.stock,e.existing)))),t.mixed?B.createElement("p",{className:"hv-consent__lead"},s.mixedEnd):null):B.createElement("p",{className:"hv-consent__lead"},f)),B.createElement("div",{className:"hv-consent__ctas"},B.createElement("button",{type:"button",onClick:m?a:n,className:"h-btn h-btn--primary h-btn--block"},m?s.viewCart:s.confirm),m?B.createElement("button",{type:"button",onClick:n,className:"h-btn h-btn--secondary h-btn--block"},s.close):null))),document.body)};U.propTypes={notice:r.object,onClose:r.func.isRequired,onViewCart:r.func.isRequired};const H=U;var z=n(63089),G=n(74145),K=n(54983);const V=e=>{let t=e.scope,n=e.onClose,a=e.onTogether,r=e.onOnly;const i=(0,o.useRef)(null),s=(0,o.useRef)(null),c=(0,o.useRef)(!1),d=(0,o.useState)(!1),u=d[0],p=d[1],m=async e=>{if(!c.current){c.current=!0,p(!0);try{await e()}catch(e){var t;i.current&&i.current.isConnected&&(0,l.P)((null==e||null===(t=e.error)||void 0===t?void 0:t.description)??_.N.crossSell.addFailed)}finally{c.current=!1,i.current&&i.current.isConnected&&p(!1)}}},h=(0,b.A)(i,n,Boolean(t));if((0,o.useEffect)(()=>{if(!t)return;s.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const e=(0,C.z)(),o=e=>{"Escape"===e.key&&n()};return document.addEventListener("keydown",o),()=>{var t,n;e(),document.removeEventListener("keydown",o),null===(t=s.current)||void 0===t||null===(n=t.focus)||void 0===n||n.call(t,{preventScroll:!0})}},[t,n]),!t||"undefined"==typeof document)return null;const v=z.C.productDetail.buyScope;return(0,y.createPortal)(K.createElement("div",{role:"dialog","aria-modal":"true","aria-labelledby":"pdp-buy-scope-title","data-buy-scope":!0,className:"hv-sheet",onClick:n},u?K.createElement(S.N2,{label:G.C.shopIndex.state.loading}):null,K.createElement("div",{ref:i,onPointerDown:h.onSheetDown,onPointerMove:h.onHandleMove,onPointerUp:h.onHandleUp,onPointerCancel:h.onHandleCancel,className:"hv-sheet__panel hv-sheet__panel--card",onClick:e=>e.stopPropagation()},K.createElement("div",{className:"hv-sheet__grip"},K.createElement(x.Mg,null)),K.createElement("div",{className:"hv-sheet__scroll hv-consent__scroll"},K.createElement("div",{className:"hv-sheet__titlebar"},K.createElement("h2",{id:"pdp-buy-scope-title",className:"hv-sheet__title"},v.title),K.createElement("button",{type:"button",onClick:n,"aria-label":v.close,className:"hv-sheet__x"},"×")),K.createElement("p",{className:"hv-consent__lead"},v.body(t.others.length))),K.createElement("div",{className:"hv-consent__ctas"},K.createElement("button",{type:"button",disabled:u,onClick:()=>m(a),className:"h-btn h-btn--primary h-btn--block"},v.together),K.createElement("button",{type:"button",disabled:u,onClick:()=>m(r),className:"h-btn h-btn--secondary h-btn--block"},v.only)))),document.body)};V.propTypes={scope:r.object,onClose:r.func.isRequired,onTogether:r.func.isRequired,onOnly:r.func.isRequired};const Y=V;var W=n(72260),Q=n(79239),J=n(32457),X=n(87042),Z=n(54983);function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=Array(t);n{let t=e.title,n=e.items,o=e.mobile,a=e.tasteMeta,r=e.metadata,l=e.slotRef;return Z.createElement("section",{ref:l,className:"hv-pdp-am__rail"},Z.createElement("h3",{className:"hv-pdp-am__rail-title"},t),Z.createElement("div",{className:o?"hv-pdp-am__scroller hv-no-scrollbar":"hv-pdp-am__grid"},n.map(e=>Z.createElement("div",{key:e.productNo,className:"hv-pdp-am__cell"},Z.createElement(J.Ay,{product:e,wishlistNext:`/products/${e.productNo}`,tasteMeta:(null==r?void 0:r.get(e.productNo))||a})))))};ae.propTypes={tasteMeta:r.object,title:r.string.isRequired,items:(0,r.arrayOf)(r.object).isRequired,mobile:r.bool.isRequired,metadata:r.object,slotRef:r.func};const re=e=>{let t=e.open,n=e.setOpen;const a=(0,k.y)(),r=a.productNo,l=a.brand,i=a.baseInfo,s=a.basePrice,c=(0,x.al)(),d=te((0,o.useState)([]),2),u=d[0],p=d[1],m=te((0,o.useState)([]),2),h=m[0],v=m[1],f=(0,o.useRef)(null);if(t||(f.current=null),t&&!f.current){var g,b,_,w;const e="undefined"==typeof window?null:window.__hvTasteEngine,t=(null==e||null===(g=e.ui)||void 0===g?void 0:g.captureCartPresentation)||(null==e?void 0:e.captureCartPresentation),n=t?t({anchor:r}):null==e?void 0:e.getSnapshot({row:"cart_sheet_related",anchor:r});f.current=(null==e||null===(b=e.ui)||void 0===b||null===(_=b.cartPresentation)||void 0===_?void 0:_.call(b,n,6,r))||{snapshot:null!=n&&n.enabled&&("control"===n.mode||"static"===n.mode||null!=e&&null!==(w=e.ui)&&void 0!==w&&w.CartRail)?n:null}}const N=f.current,S=null==N?void 0:N.snapshot,A=te((0,o.useState)(null),2),P=A[0],R=A[1],M=(0,o.useRef)(null),L=(0,o.useRef)(!1),I=(0,o.useRef)(null),O=te((0,o.useState)(0),2),T=O[0],j=O[1],q=t&&N.select&&N.select(u,h,P,r),F=q?q.items:u.slice(0,6),D=F.map(e=>e.productNo),$=q?q.recent:h.filter(e=>!D.includes(e.productNo)).slice(0,6),B=t&&N.render?N.render({related:u,selection:q,anchor:r,finalPrice:s,open:t,mobile:c,Rail:ae,onItems:e=>R({anchor:r,ids:e}),title:oe.related,tasteMeta:J.kV}):F.length>0?Z.createElement(ae,{title:(null==S?void 0:S.title)||oe.related,items:F,mobile:c,tasteMeta:J.kV}):null,U=null==N?void 0:N.skipRelated;if((0,o.useEffect)(()=>{if(!t)return;let e=!0;if(0===u.length&&!U){const t=N.relatedRequest;t&&t.productNo===r&&t.brandNo===l.brandNo&&t.categories===i.displayCategoryNos||(N.relatedRequest={productNo:r,brandNo:l.brandNo,categories:i.displayCategoryNos,promise:(0,X.oc)({productNo:r,brandNo:l.brandNo,displayCategoryNos:i.displayCategoryNos??null})}),N.relatedRequest.promise.then(t=>{e&&Array.isArray(null==t?void 0:t.items)&&p(t.items)}).catch(()=>{})}if(0===h.length){const t=(0,E.mBT)(window.localStorage).filter(e=>e!==r);t.length>0&&(0,X.fetchByProductNos)(t.slice(0,8)).then(t=>{e&&Array.isArray(t)&&v(t)}).catch(()=>{})}return()=>{e=!1}},[t,r,l.brandNo,i.displayCategoryNos,u.length,h.length,N,U]),(0,o.useEffect)(()=>{if(!t)return;const e=e=>{"Escape"===e.key&&n(!1)};window.addEventListener("keydown",e);const o=(0,C.z)();return()=>{window.removeEventListener("keydown",e),o()}},[t]),!t||"undefined"==typeof document)return null;const H=()=>n(!1),z=null!=M.current;return(0,y.createPortal)(Z.createElement("div",{role:"dialog","aria-modal":"true","aria-label":oe.aria,onClick:H,className:"hv-pdp-am","data-mobile":c?"":void 0},Z.createElement("div",ee({onClick:e=>e.stopPropagation(),className:"hv-pdp-am__panel",style:{transform:c&&T>0?`translateY(${T}px)`:void 0,transition:z?"none":void 0}},c?{onPointerDown:e=>{const t=I.current;t&&t.contains(e.target)&&t.scrollTop>0||(e=>{M.current=e.clientY,L.current=!1})(e)},onPointerMove:e=>{if(null==M.current)return;const t=Math.max(0,e.clientY-M.current);var n,o;!L.current&&t>12&&(L.current=!0,null===(n=(o=e.currentTarget).setPointerCapture)||void 0===n||n.call(o,e.pointerId)),j(t)},onPointerUp:()=>{if(null==M.current)return;const e=T>80;M.current=null,j(0),e&&H()},onPointerCancel:()=>{M.current=null,j(0)}}:{}),Z.createElement("div",{className:"hv-pdp-am__head"},c?Z.createElement(Z.Fragment,null,Z.createElement("span",{className:"hv-sheet-handle hv-pdp-am__handle","aria-hidden":!0}),Z.createElement("div",{className:"hv-pdp-am__titlerow"},Z.createElement("p",{className:"hv-pdp-am__title-m"},oe.added),Z.createElement(x.s_,{onClick:H}))):Z.createElement("h2",{className:"hv-pdp-am__title"},oe.titlePc),null!=t&&t.unowned?Z.createElement("p",{className:"t-small"},W.y.added):null,c?null:Z.createElement(x.s_,{onClick:H,className:"hv-pdp-am__x"})),Z.createElement("div",{ref:I,className:"hv-pdp-am__body"},c?null:Z.createElement(Z.Fragment,null,Z.createElement("p",{className:"hv-pdp-am__added"},oe.added),Z.createElement("div",{className:"hv-pdp-am__ctas"},Z.createElement("button",{onClick:H,className:"h-btn h-btn--secondary hv-pdp-am__cta"},oe.continueShopping),Z.createElement(Q.N_,{to:"/cart",onClick:H,className:"h-btn h-btn--primary hv-pdp-am__cta"},oe.goCart))),B,$.length>0?Z.createElement("div",{style:{marginTop:F.length>0?28:0}},Z.createElement(ae,{title:oe.recent,items:$,mobile:c})):null),c?Z.createElement("div",{className:"hv-pdp-am__foot"},Z.createElement(Q.N_,{to:"/cart",onClick:H,className:"h-btn h-btn--primary h-btn--block"},oe.goCartMobile)):null)),document.body)},le=re;re.propTypes={open:(0,r.oneOfType)([r.bool,r.object]),setOpen:r.func.isRequired};var ie=n(91598),se=n(74148);var ce=n(76328),de=n(10340);var ue=n(78428),pe=n(54983);function me(){return me=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=Array(t);n{const t=fe.review.photo;return"maxReached"===e?t.maxReached(5):t[e]??t.uploadFail},ye=e=>{let t=e.productNo,n=e.onSubmitted,a=e.open,r=e.setOpen;(0,k.y)().loggedIn;const l=(0,se.Zp)(),i=he((0,o.useState)("GENERAL"),2),s=i[0],c=i[1],d=he((0,o.useState)(""),2),u=d[0],p=d[1],m=he((0,o.useState)(""),2),h=m[0],v=m[1],f=he((0,o.useState)([]),2),g=f[0],b=f[1],_=he((0,o.useState)(null),2),w=_[0],N=_[1],A=he((0,o.useState)(!1),2),P=A[0],R=A[1],M=he((0,o.useState)(!1),2),L=M[0],I=M[1],O=he((0,o.useState)(null),2),T=O[0],j=O[1],q=he((0,o.useState)({}),2),F=q[0],D=q[1],$=(0,o.useRef)(null),B=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!a)return;const e=(0,C.z)(),t=setTimeout(()=>{var e;return null===(e=$.current)||void 0===e?void 0:e.focus()},50),n=e=>{"Escape"===e.key&&r(!1)};return document.addEventListener("keydown",n),()=>{e(),document.removeEventListener("keydown",n),clearTimeout(t)}},[a]);const U=fe.mypage.support;return pe.createElement(pe.Fragment,null,a&&"undefined"!=typeof document?(0,y.createPortal)(pe.createElement("div",{role:"dialog","aria-modal":"true","aria-labelledby":"inquiry-modal-title",className:"hv-pdp-imodal",onClick:e=>{e.target===e.currentTarget&&r(!1)}},pe.createElement("div",{className:"hv-pdp-imodal__panel"},pe.createElement("header",{className:"hv-pdp-imodal__head"},pe.createElement("h2",{id:"inquiry-modal-title",className:"hv-pdp-imodal__title"},ge.modalTitle),pe.createElement(x.s_,{onClick:()=>r(!1)})),pe.createElement("form",{onSubmit:async e=>{var o;e.preventDefault(),j(null);const a=(0,E.OGr)({title:u,content:h});if(Object.keys(a).length>0)return void D({title:a.title?ge.errors.title:void 0,content:a.content?ge.errors.content:void 0});D({});const i=(0,E.iZH)(s)?s:"GENERAL",d=null===(o=ge.types.find(e=>e.value===i))||void 0===o?void 0:o.label;I(!0);try{await(0,X.e)({productNo:t,title:(0,E.sX7)(u,d),content:h.trim()}),r(!1),p(""),v(""),b([]),c("GENERAL"),null==n||n()}catch(e){var m;const n=(null==e?void 0:e.status)??(null==e||null===(m=e.response)||void 0===m?void 0:m.status);if(401===n||403===n)return void l(`/login?next=${encodeURIComponent(`/products/${t}`)}`);if(n){var f;const t="string"==typeof(null==e?void 0:e.body)?e.body:(null==e||null===(f=e.response)||void 0===f||null===(f=f.data)||void 0===f?void 0:f.message)??"";j(ge.errors.http(n,t?String(t).slice(0,200):""))}else j(ge.errors.unexpected)}finally{I(!1)}},className:"hv-pdp-imodal__form"},T?pe.createElement("p",{role:"alert",className:"hv-pdp-imodal__alert"},T):null,pe.createElement("div",null,pe.createElement("label",{htmlFor:"inquiry-type",className:"hv-pdp-imodal__label"},ge.typeLabel),pe.createElement("select",{ref:$,id:"inquiry-type",name:"inquiryType",value:s,onChange:e=>c(e.target.value),className:"h-input hv-pdp-imodal__field"},ge.types.map(e=>pe.createElement("option",{key:e.value,value:e.value},e.label)))),pe.createElement("div",null,pe.createElement("label",{htmlFor:"inquiry-title",className:"hv-pdp-imodal__label"},ge.titleLabel," ",pe.createElement("span",{className:"hv-pdp-imodal__req"},"*")),pe.createElement("input",{id:"inquiry-title",name:"title",type:"text",maxLength:100,required:!0,"aria-invalid":Boolean(F.title),value:u,onChange:e=>p(e.target.value),className:"h-input hv-pdp-imodal__field"}),F.title?pe.createElement("p",{className:"hv-pdp-imodal__err"},F.title):null),pe.createElement("div",null,pe.createElement("label",{htmlFor:"inquiry-content",className:"hv-pdp-imodal__label"},ge.contentLabel," ",pe.createElement("span",{className:"hv-pdp-imodal__req"},"*")),pe.createElement("textarea",{id:"inquiry-content",name:"content",maxLength:2e3,required:!0,rows:6,"aria-invalid":Boolean(F.content),value:h,onChange:e=>v(e.target.value),className:"hv-pdp-imodal__textarea"}),F.content?pe.createElement("p",{className:"hv-pdp-imodal__err"},F.content):null),pe.createElement("div",null,pe.createElement("p",{className:"hv-pdp-imodal__photos-title"},fe.review.photo.addCta),pe.createElement("div",{className:"hv-pdp-imodal__photos"},g.map((e,t)=>pe.createElement("div",{key:e,className:"hv-pdp-imodal__photo"},pe.createElement("img",me({},(0,ie.Pp)(e.startsWith("//")?`https:${e}`:e,88,!1),{alt:fe.review.photo.previewAlt(t+1)})),pe.createElement("button",{type:"button",onClick:()=>{return e=t,b(t=>t.filter((t,n)=>n!==e));var e},"aria-label":fe.review.photo.removeAria(t+1),className:"hv-pdp-imodal__photo-x"},"✕"))),g.length<5?pe.createElement("label",{className:"hv-pdp-imodal__photo-add"},pe.createElement(pe.Fragment,null,P&&pe.createElement(S.N2,{label:fe.review.photo.uploading}),`+ ${g.length}/5`),pe.createElement("input",{ref:B,type:"file",accept:E.AG1.join(","),disabled:P,onChange:async e=>{var t;N(null);const n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(!n)return;const o=(0,E.b5P)(n,g.length,!1);if(o)return N(be(o)),void(e.target.value="");R(!0);try{const e=await(0,ue.me)(n),t=(0,E.b5P)(e,g.length);if(t)return void N(be(t));const o=await(0,X.qy)(e);b(e=>[...e,o.imageUrl])}catch(e){N(e instanceof RangeError?fe.imageUploadSourceTooLarge:null!=e&&e.status?`${fe.review.photo.uploadFail} (HTTP ${e.status})`:fe.review.photo.uploadFail)}finally{R(!1),B.current&&(B.current.value="")}},className:"hv-sr-only"})):null),w?pe.createElement("p",{role:"alert",className:"hv-pdp-imodal__err"},w):null),pe.createElement("p",{className:"t-small hv-pdp-imodal__secret"},ge.secretLabel),pe.createElement("p",{className:"t-small hv-pdp-imodal__hours"},"* ",U.hoursLabel,U.hoursValue," · ",U.replyEta,"."),pe.createElement("div",{className:"hv-pdp-imodal__foot"},pe.createElement("button",{type:"button",onClick:()=>r(!1),className:"hv-pdp-imodal__cancel"},ge.cancelCta),pe.createElement("button",{type:"submit",disabled:L,className:"h-btn h-btn--primary hv-pdp-imodal__submit"},pe.createElement(pe.Fragment,null,L&&pe.createElement(S.N2,{label:ge.submittingCta}),ge.submitCta)))))),document.body):null)};ye.propTypes={productNo:r.number.isRequired,onSubmitted:r.func,open:r.bool.isRequired,setOpen:r.func.isRequired};const _e=ye;var we=n(66015);const Ee="주문할 때 자동으로 받아요",Ne="로그인하면 주문할 때 자동으로 받아요",ke="적립금 사용";var xe=n(54983);const Ce=_.N.confidenceDrawer,Se=z.x.benefitsPanel,Ae=e=>`${e.toLocaleString("ko-KR")}${_.N.summary.currencySuffix}`;function Pe(e){var t,n,o;let a=e.ledger,r=e.loggedIn,l=e.priceUnavailable,i=void 0!==l&&l,s=e.ready,c=void 0===s||s,d=e.rowsOnly,u=void 0!==d&&d,p=e.shipHint,m=void 0===p?[]:p;const h=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return xe.createElement("div",{className:"hv-pdp-drawer__lrow"},xe.createElement("span",{className:"hv-pdp-drawer__lkey"},e),xe.createElement("span",{className:"hv-pdp-drawer__lval"+(n?" hv-pdp-drawer__lsale":"")},t))},v=null===(t=a.ship)||void 0===t?void 0:t.value;return xe.createElement("div",{className:"hv-pdp-drawer__ledger",style:{visibility:c?void 0:"hidden"}},h(_.N.summary.subtotal,i?_.N.optionPriceUnavailable:Ae(a.gross)),!i&&a.instantOff>0?h(Ce.immediateDiscount,"-"+Ae(a.instantOff),!0):null,!i&&a.coupon>0?xe.createElement(xe.Fragment,null,h(Ce.couponDiscount,"-"+Ae(a.coupon),!0),null!==(n=a.priceCoupon)&&void 0!==n&&n.held?null:xe.createElement("p",{className:"hv-pdp-drawer__lhint"},r?Ee:Ne)):null,!i&&a.point>0?h(ke,"-"+Ae(a.point),!0):null,h(Ce.shippingRow,xe.createElement(xe.Fragment,null,null!=(null===(o=a.ship)||void 0===o?void 0:o.struckAmt)?xe.createElement("s",{className:"hv-pdp-drawer__lstruck"},Se.deliveryAmt(a.ship.struckAmt.toLocaleString("ko-KR"))):null,i?Ce.shippingTbd:"free"===(null==v?void 0:v.kind)?Se.deliveryFree:"amt"===(null==v?void 0:v.kind)?Se.deliveryAmt(v.amt.toLocaleString("ko-KR")):Se.deliveryUnknown)),m.length?xe.createElement("p",{className:"hv-pdp-drawer__lhint"},m.join(" · ")):null,u?null:xe.createElement(xe.Fragment,null,xe.createElement("div",{className:"hv-pdp-drawer__ltotal"},xe.createElement("span",{className:"hv-pdp-drawer__ltotal-label"},a.coupon>0||a.point>0?we.d.bestPotential:Ce.expectedTotal),xe.createElement("span",{className:"hv-pdp-drawer__ltotal-amt"},i?_.N.optionPriceUnavailable:Ae(a.total))),!i&&a.saved>0?xe.createElement("p",{className:"hv-pdp-drawer__lsaved"},Ce.savedLine(a.saved.toLocaleString("ko-KR"))):null))}var Re=n(20983),Me=n(85884),Le=n(78528),Ie=n(86614),Oe=n(44446),Te=n(97043),je=n(82191),qe=n(54983);const Fe={productDetail:z.x,cart:_.N,shippingInfo:T.r},De=Fe.cart,$e=De.confidenceDrawer,Be=(Fe.productDetail.benefitsPanel,e=>{let t=e.view;(0,o.useEffect)(()=>(0,Te.p)(window,je.v),[]);const n=t.actions,a=t.addExtra,r=t.addOption,l=t.basePrice,i=t.closeSheet,s=t.ctaDisabled,c=t.extraProducts,d=t.flatOptions,u=t.handleSheetSubmit,p=t.hasOptions,m=t.isSheetOptionDisabled,h=t.items,v=t.leafDropdownOpen,f=t.ledger,g=t.mainMaxQty,b=t.maxQty,_=t.maxQtyWithStock,w=t.minQty,E=t.noOptionQty,N=t.onHandleCancel,k=t.onHandleMove,C=t.onHandleUp,S=t.onSheetDown,A=t.optionLeads,P=t.optionParts,R=t.options,M=t.productName,L=t.removeItem,I=t.reqGroups,O=t.reqProgress,T=t.requiredComplete,j=t.rootDropdownOpen,q=t.rootLabelExtra,F=t.rootLabelFromOptions,D=t.selectedRoot,$=t.setItems,B=t.setLeafDropdownOpen,U=t.setNoOptionQty,H=t.setRootDropdownOpen,z=t.setSelectedRoot,G=t.setStepOpen,K=t.sheetPanelRef,V=t.sheetScrollRef,Y=t.shipHint,W=(t.shipLedger,t.singleOptionNo),Q=t.singleQuantityPricing,J=t.singlePriceUnavailable,X=t.stepOpen,Z=t.stockFor,ee=t.updateQtyInItems;return"undefined"==typeof document?null:(0,y.createPortal)(qe.createElement("div",{role:"dialog","aria-modal":"true","aria-labelledby":"confidence-drawer-title",className:"hv-pdp-drawer",onClick:i},qe.createElement("div",{ref:K,className:"hv-pdp-drawer__panel",onClick:e=>e.stopPropagation(),onPointerDown:S,onPointerMove:k,onPointerUp:C,onPointerCancel:N},qe.createElement("div",{className:"hv-pdp-drawer__grip"},qe.createElement(x.Mg,null)),qe.createElement("div",{ref:V,className:"hv-pdp-drawer__scroll"},qe.createElement("div",{className:"hv-pdp-drawer__titlewrap"},qe.createElement("span",{id:"confidence-drawer-title",className:"hv-pdp-drawer__title"},$e.expectedTotal)),d?qe.createElement("div",{className:"hv-pdp-drawer__flat"},qe.createElement("p",{className:"hv-pdp-drawer__prompt"},$e.optionPrompt(F(d)??De.optionLabel)),qe.createElement("div",{className:"hv-pdp-drawer__btns"},d.map(e=>{const t=(0,Oe.sS)(e,l),n=m(e)||null===t,o=h.some(t=>t.optionNo===e.optionNo);return qe.createElement("button",{key:e.optionNo,type:"button",disabled:n,onClick:()=>r(e),className:`hv-pdp-drawer__btn${o?" is-picked":""}${n?" is-disabled":""}`},e.value,qe.createElement(Ie.A,{range:t,className:"hv-pdp-drawer__btn-add"}))}))):p&&I.length>1?qe.createElement("div",{className:"hv-pdp-drawer__steps"},I.slice(0,O.openUpTo+1).map((e,t)=>qe.createElement(Le.A,{key:e.label||t,label:De.optionStep(t+1,P(e.label)[0]??De.optionLabel),open:X===t,onToggle:()=>G(e=>e===t?null:t),items:e.options,leads:A,basePrice:l,onPick:e=>{const n=O.chosen[t];null!=n&&n!==e.optionNo&&L(n),n!==e.optionNo&&r(e),G(null)}}))):p?qe.createElement(qe.Fragment,null,qe.createElement(Le.A,{label:P(F(R))[0]??De.optionLabel,open:j,onToggle:()=>H(e=>!e),items:R,leads:A,basePrice:l,onPick:e=>{e.children&&e.children.length>0?(z(e.optionNo),H(!1),B(!0)):r(e)}}),q.length>0?qe.createElement("p",{className:"hv-pdp-drawer__labelextra"},q.join(" · ")):null,null!=D?(e=>{const t=R.find(e=>e.optionNo===D),n=(null==t?void 0:t.children)??[];return t&&0!==n.length?qe.createElement("div",{className:"hv-pdp-drawer__leaf"},qe.createElement(Le.A,{label:`${P(null===(e=n.find(e=>e.label))||void 0===e?void 0:e.label)[0]??De.optionLabel} (${P(t.value)[0]??""})`,open:v,onToggle:()=>B(e=>!e),items:n,parentPath:[t],leads:A,basePrice:l,onPick:e=>r(e,t)})):null})():null):null,c&&c.items.length>0?qe.createElement(Re.A,{data:c,onAdd:a,counts:Object.fromEntries(h.filter(e=>e.extra).map(e=>[e.optionNo,e.qty])),disabled:!T}):null,qe.createElement(Me.A,{lines:h,productName:M,hideTotal:!0,fixedMain:p?null:{label:M,unitPrice:l,priceUnavailable:J,quantityPricing:Q,qty:E,min:w,max:b<999?b:void 0,onChange:e=>{const t=Z(W);e>0&&t>0&&t=g?n.showStockLimit(t):U(t=>Math.min(g,Math.max(Math.min(w,g),t+e)))}},onChangeQty:(e,t)=>{const o=h.find(t=>t.optionNo===e),a=null!=o&&o.extra?null:Z(e),r=_(b,a);t>0&&a>0&&a=r?n.showStockLimit(a):$(n=>ee(n,e,t,r))},onRemove:L}),qe.createElement(Pe,{ledger:f,loggedIn:t.loggedIn,ready:t.priceReady,priceUnavailable:J,shipHint:Y})),qe.createElement("div",{className:"hv-pdp-drawer__cta"},qe.createElement("button",{type:"button",onClick:()=>u("cart"),disabled:s,className:"h-btn h-btn--secondary h-btn--lg"},De.addToCart),qe.createElement("button",{type:"button",onClick:()=>u("buy"),disabled:s,className:"h-btn h-btn--primary h-btn--lg"},De.buyNow)))),document.body)});Be.propTypes={view:r.object.isRequired};const Ue=Be;var He=n(22699),ze=n(19379),Ge=n(58481),Ke=n(13462),Ve=n(54425),Ye=n(36328);const We=["other-brand","on-sale"],Qe=e=>`${ze.S_}${e}`;function Je(e,t,n,o){if("string"==typeof o&&o.trim())return`code:${o.trim()}`;if("string"!=typeof t||!t.trim()||"function"!=typeof e)return null;const a=Number.isInteger(n)&&n>0?n:null,r=e(t,a);return r?`${a||"-"}:${r.stemKey}`:null}const Xe=e=>({...e.baseInfo,...e.price,isSoldOut:!0===e.status.soldout||0===e.baseInfo.stockCnt,deliveryConditionType:(e.deliveryFee||{}).deliveryConditionType,customProperties:e.customProperties}),Ze={"other-brand":(e,t)=>e.brandNo!==t,"on-sale":e=>(e=>{const t=(0,Ye.bS)(e);return Boolean(t&&t.hasDiscount&&t.discountPct>0)})(e)};var et=n(60695),tt=n(44151),nt=n(54983);const ot=function({now:e=()=>Date.now(),cacheMs:t=3e5}={}){const n=new Map,o=new Set;let a={productNo:null,holders:0};const r=(e,t)=>a.productNo===e&&(a={...a,...t},o.forEach(e=>e()),!0),l=(o,l)=>{const i={};r(o,{phase:"loading",token:i}),Promise.resolve().then(()=>l(a.nos)).then(l=>{if(a.token!==i)return;const s=e();n.delete(a.key),n.set(a.key,{at:s,raw:l});for(const[e,o]of n)(n.size>20||s-o.at>t)&&n.delete(e);r(o,{phase:"ready",raw:l,at:s})},()=>a.token===i&&r(o,{phase:"error"}))};return{subscribe:e=>(o.add(e),()=>o.delete(e)),get:()=>a,attach:e=>(a.productNo===e&&a.holders||(a={productNo:e,holders:0,phase:"idle"}),a={...a,holders:a.holders+1},()=>{a.productNo===e&&(a=a.holders>1?{...a,holders:a.holders-1}:{productNo:null,holders:0})}),load(o,i,s){if(a.productNo!==o||"idle"!==a.phase)return;const c=`${o}:${i}`,d=n.get(c);a={...a,key:c,nos:i},d&&e()-d.at<=t?r(o,{phase:"ready",raw:d.raw,at:d.at}):l(o,s)},decide:(e,t)=>a.decision||r(e,{decision:t}),markShown:e=>a.productNo===e&&!a.shown&&r(e,{shown:!0}),open(n,o,i){r(n,{open:o,openedAt:e()})&&"ready"===a.phase&&e()-a.at>t&&l(n,i)},retry(e,t){a.productNo===e&&"error"===a.phase&&a.nos&&l(e,t)},close:e=>r(e,{open:null})}}(),at="hv-pdp-sim-sheet",rt=new WeakSet,lt=["hv-pc__brand","hv-pc__name","hv-pc__price"],it=e=>{let t=e.count;return nt.createElement("div",{className:"hv-list-grid","aria-hidden":"true"},Array.from({length:t},(e,t)=>nt.createElement("article",{key:t,className:"hv-pc hv-pc--grid hv-pdp-sim__skel"},nt.createElement("div",{className:"hv-pc__img"},nt.createElement("div",{className:"hv-pdp-skel__img"})),nt.createElement("div",{className:"hv-pc__meta"},nt.createElement("div",{className:"hv-pc__meta-link"},lt.map(e=>nt.createElement("p",{key:e,className:e}," ",nt.createElement("span",{className:"hv-pdp-skel__line"}))))))))},st=e=>{let t=e.view,n=e.cards,a=e.error,r=e.min,l=e.brandNo,i=e.caption,s=e.thumb,c=e.listId,d=e.onClose,u=e.onRetry,p=e.onResult,m=e.onFilter,h=e.onReturnFocus,v=e.claimScroll;const f=(0,x.al)(),g=(0,o.useRef)(null),b=(0,o.useRef)(!1),y=(0,o.useState)([]),_=y[0],w=y[1],E=(0,o.useState)(!1),N=E[0],k=E[1],C=e=>{g.current=e,d(e)},S="loading"===t.phase;(0,o.useEffect)(()=>{if(!S)return;const e=setTimeout(()=>k(!0),300);return()=>{clearTimeout(e),k(!1)}},[S]);const A=(0,o.useMemo)(()=>n?function(e,t){return We.filter(n=>{const o=e.filter(e=>Ze[n](e,t)).length;return o>=2&&on?function(e,t,n){return e.filter(e=>t.every(t=>Ze[t](e,n)))}(n,_.filter(e=>A.includes(e)),l):[],[n,_,A,l]),R=(0,o.useMemo)(()=>new Map((n||[]).map((e,t)=>[e.productNo,t])),[n]),M=S?null:a?"error":n?((e,t)=>e>=t?"results":e>0?"few":"empty")(n.length,r):null;(0,o.useEffect)(()=>{M&&!b.current&&(b.current=!0,p(M,"error"!==M&&n?n.length:0))},[M]);let L=null;S?L=N?nt.createElement(it,{count:f?4:8}):null:"error"===M?L=nt.createElement("div",{className:"hv-pdp-sim__state",role:"alert"},nt.createElement("p",{className:"hv-pdp-sim__state-title"},G.C.shopIndex.state.error),nt.createElement("button",{type:"button",className:"h-btn h-btn--secondary",onClick:u},G.C.shopIndex.state.retry)):"empty"===M?L=nt.createElement("div",{className:"hv-pdp-sim__state"},nt.createElement("p",{className:"hv-pdp-sim__state-title"},He.D.emptyTitle),nt.createElement("p",{className:"hv-pdp-sim__state-body"},He.D.emptyBody),nt.createElement("button",{type:"button",className:"h-btn h-btn--secondary",onClick:()=>C("button")},He.D.close)):M&&(L=nt.createElement(nt.Fragment,null,"results"===M&&A.length>0?nt.createElement("div",{className:"hv-chip-strip__row hv-pdp-sim__chips",role:"group","aria-label":He.D.chipsAria},A.map(e=>nt.createElement("button",{key:e,type:"button",className:"hv-chip","aria-pressed":_.includes(e),onClick:()=>(e=>{const t=!_.includes(e);w(n=>t?[...n,e]:n.filter(t=>t!==e)),m(e,t)})(e)},He.D.chips[e]))):null,P.length>0?nt.createElement("div",{className:"hv-list-grid"},P.map(e=>nt.createElement(J.Ay,{key:e.productNo,product:e,tasteMeta:J._l,listId:c,listName:He.D.listName,index:R.get(e.productNo),wishlistNext:`/products/${e.productNo}`,onProductClick:()=>C("navigate")}))):nt.createElement("div",{className:"hv-pdp-sim__state"},nt.createElement("p",{className:"hv-pdp-sim__state-title"},He.D.filterEmpty),nt.createElement("button",{type:"button",className:"h-btn h-btn--secondary",onClick:()=>w([])},He.D.filterOff))));const I=S?He.D.loading:"results"===M||"few"===M?He.D.count(P.length):"";return nt.createElement(et.A,{id:at,titleId:"hv-pdp-sim-title",title:He.D.title,caption:i,thumb:s,closingRef:g,onClose:C,onReturnFocus:h,claimScroll:v,live:I,busy:S},L)},ct=e=>{let t=e.similar,n=e.siblings,a=void 0===n?null:n,r=e.stemOf,l=void 0===r?null:r,i=e.claimScroll,s=void 0===i?null:i;const c=(0,k.y)(),d=c.productNo,u=c.detail,p=c.baseInfo,m=c.brand,h=c.brandRaw,v=c.images,f=v.length>1,g=(0,o.useSyncExternalStore)(ot.subscribe,ot.get),b=(0,o.useId)(),_=(0,o.useRef)(null),w=(0,o.useRef)(null),E=(0,o.useMemo)(()=>(0,Ge.v)(),[]),N=g.productNo===d,C=t.cfg,S=m&&m.brandNo>0?m.brandNo:null;(0,o.useEffect)(()=>ot.attach(d),[d]);const A=(0,o.useMemo)(()=>function(e,t,n){const o=new Set([t,...Array.isArray(n)?n:[]]);return e.filter(e=>!o.has(e))}(t.items,d,a),[t,d,a]),P=E?"bot":t.reason?`reason:${t.reason}`:A.length{P?ot.decide(d,{show:!1,why:P,count:A.length}):ot.load(d,A.slice(0,30),function(){for(var e=arguments.length,t=new Array(e),n=0;n({productNo:d,productName:p.productName,brandNo:S,groupManagementCode:u.groupManagementCode||p.groupManagementCode||null}),[d,p,S,u]),M=(0,o.useMemo)(()=>{if(!N||!g.raw)return null;try{return function(e,t,n,o,a){if(!e||"object"!=typeof e||!Array.isArray(e.products))throw new Error("similar shape");const r=new Map;for(const t of e.products){const e=t?.baseInfo?.productNo;Number.isInteger(e)&&!r.has(e)&&r.set(e,t)}const l=new Set([n.productNo,...Array.isArray(o)?o:[]]),i=Je(a,n.productName,n.brandNo,n.groupManagementCode),s=new Set(i?[i]:[]),c={missing:0,sibling:0,unlisted:0,variant:0,over:0},d=[];for(const e of t){const t=r.get(e);if(t)if(l.has(e))c.sibling+=1;else if((0,Ve.$)(t)){const e=Je(a,t.baseInfo.productName,t.baseInfo.brandNo,t.baseInfo.groupManagementCode);e&&s.has(e)?c.variant+=1:d.length>=24?c.over+=1:(e&&s.add(e),d.push(t))}else c.unlisted+=1;else c.missing+=1}const u=new Map(d.map(e=>[e.baseInfo.productNo,e.baseInfo.brandNo||null]));return{cards:(0,Ye.Qx)(d.map(Xe)).map(e=>({...e,brandNo:u.get(e.productNo)||null})),counts:c}}(g.raw,g.nos,R,a,l)}catch{return{error:!0,cards:null,counts:null}}},[N,g.raw,g.nos,R,a,l]);(0,o.useEffect)(()=>{if(N&&!g.decision)if("error"===g.phase)ot.decide(d,{show:!1,why:"fetch-error",count:0});else if("ready"===g.phase&&M){const e=M.error?0:M.cards.length;ot.decide(d,{show:!M.error&&e>=t.min,why:M.error?"shape":e>=t.min?"show":"below-min",count:e})}},[N,g.phase,g.decision,M]);const L=N?g.decision:null,I=!(!L||!L.show);(0,tt.A)(d,I&&(null==M?void 0:M.cards)||[],Boolean(L),g.token,Boolean(L)&&(!g.token||Boolean(P))),(0,o.useLayoutEffect)(()=>{I&&(0,et.j)(document)},[I]);const O=(e,t)=>(0,ze.zS)({event:e,item_id:String(d),cfg:C,...t});if((0,o.useEffect)(()=>{if(!L)return;L.show&&ot.markShown(d)&&O("similar_pill",{sim_action:"show",sim_count:L.count});const e=t.items.length;((e,t)=>{rt.has(e)||(rt.add(e),"similar"===new URLSearchParams(location.search).get("havea_debug")&&console.table([t]))})(L,{productNo:d,cfg:C,v:t.v,min:t.min,server:e,siblings:e-A.length,...M&&M.counts,kept:L.count,pill:L.show?"show":"hide",why:L.why})},[L]),!I)return null;const T=null!==g.open&&void 0!==g.open,j=function(e,t){const n=String(e||"").trim().toLowerCase();return n&&`${String(t||"").trim().toLowerCase()} `.startsWith(`${n} `)?String(t).trim():[e,t].filter(Boolean).join(" ")}(m&&m.eyebrow||h,p.productName);return nt.createElement(nt.Fragment,null,nt.createElement("button",{ref:_,type:"button",className:"hv-pdp-sim-pill"+(f?"":" hv-pdp-sim-pill--solo"),"data-dots":v.length>=5||void 0,"aria-haspopup":"dialog","aria-expanded":T,"aria-controls":T?at:void 0,"aria-label":He.D.pillAria,onClick:()=>{w.current=(e=>{const t=e.closest(".hv-pdp-stage, .hv-pdp-gallery-m"),n=t.querySelector(".hv-pdp-strip img")||t.querySelector("img");return n?n.currentSrc||n.src:null})(_.current),O("similar_pill",{sim_action:"open",sim_count:L.count}),ot.open(d,b,Ke.j)}},nt.createElement("span",null,He.D.pill),nt.createElement(x.bL,null)),g.open===b&&"undefined"!=typeof document?(0,y.createPortal)(nt.createElement(st,{view:g,cards:M?M.cards:null,error:"error"===g.phase||!(!M||!M.error),min:t.min,brandNo:S,caption:j,thumb:w.current,listId:Qe(C),onClose:e=>{O("similar_close",{sim_close:e,sim_dwell_ms:Math.max(0,Date.now()-(g.openedAt||Date.now()))}),ot.close(d)},onRetry:()=>ot.retry(d,Ke.j),onResult:(e,t)=>O("similar_result",{sim_state:e,sim_count:t,sim_ttr_ms:Math.max(0,Date.now()-(g.openedAt||Date.now()))}),onFilter:(e,t)=>O("similar_filter",{sim_chip:e,sim_on:t}),onReturnFocus:()=>_.current&&_.current.focus({preventScroll:!0}),claimScroll:s}),document.body):null)};var dt=n(68801),ut=n(54983);const pt="hv-pdp-tsheet-style",mt=e=>`hv-pdp-trust-t${e+1}`,ht=e=>{let t=e.rows,n=e.closeLabel,a=e.onClose,r=e.onReturnFocus,l=e.claimScroll;const i=(0,x.al)(),s=(0,o.useRef)(null),c=(0,o.useRef)(null),d=(0,o.useRef)({y0:0,dy:0,on:!1,captured:!1}),u=e=>{c.current=e,a()},p=(0,o.useRef)(u);p.current=u,(0,o.useLayoutEffect)(()=>{if(document.getElementById(pt))return;const e=document.createElement("style");e.id=pt,e.textContent="\n.hv-sheet__panel.hv-pdp-tsheet__panel{position:relative;padding-top:0;border-radius:20px 20px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 55%),var(--h-glass-bg)}\n.hv-pdp-tsheet__bar{justify-content:flex-end}\n.hv-pdp-tsheet__list{list-style:none;margin:0;padding:0 0 8px;display:grid;gap:8px}\n.hv-pdp-tsheet__card{display:flex;align-items:center;gap:20px;padding:16px 8px}\n.hv-pdp-tsheet__no{flex:none;min-width:32px;font-family:var(--font-en);font-size:var(--h-fs-display-m);font-weight:300;line-height:1;text-align:center;font-variant-numeric:tabular-nums;color:var(--h-ink)}\n.hv-pdp-tsheet__text{min-width:0;word-break:keep-all;overflow-wrap:anywhere}\n.hv-pdp-tsheet__title{margin:0;font-size:var(--h-fs-body);font-weight:var(--h-fw-sb);line-height:1.4;color:var(--h-ink)}\n.hv-pdp-tsheet__body{margin:4px 0 0;font-size:var(--h-fs-body-sm);line-height:1.5;color:var(--h-ink-2)}\n@media (max-width: 767px){.hv-pdp-tsheet__bar{position:absolute;top:0;right:16px}}\n@media (min-width: 768px){.hv-pdp-tsheet__grip{display:none}.hv-sheet__panel.hv-pdp-tsheet__panel{padding:8px 24px 24px;border-radius:20px}}\n@media (prefers-reduced-motion: reduce),(prefers-reduced-transparency: reduce),(prefers-contrast: more),(forced-colors: active){.hv-sheet__panel.hv-pdp-tsheet__panel{background:var(--h-surface)}}\n",document.head.append(e)},[]),(0,o.useEffect)(()=>{const e=(window.history.state||{}).key,t=(0,C.z)({fixed:window.matchMedia("(max-width: 767px)").matches});s.current.focus({preventScroll:!0});const n=e=>{"Escape"===e.key?p.current("esc"):(0,dt.L)(e,s.current)};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n);const o=(window.history.state||{}).key!==e;c.current&&!o&&l&&l(),t(o),r()}},[]);const m=()=>{const e=s.current;e.style.transition=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"none":"transform var(--h-dur-1) var(--h-ease)",e.style.transform=""};return ut.createElement("div",{id:"hv-pdp-trust-sheet",role:"dialog","aria-modal":"true","aria-labelledby":t.map((e,t)=>mt(t)).join(" "),className:"hv-sheet hv-pdp-tsheet",onClick:()=>u("backdrop")},ut.createElement("div",{ref:s,tabIndex:-1,className:"hv-sheet__panel hv-sheet__panel--card hv-pdp-tsheet__panel hv-pdp-glass",onClick:e=>e.stopPropagation()},ut.createElement("div",{className:"hv-pdp-drawer__grip hv-pdp-tsheet__grip",onPointerDown:i?e=>{d.current={y0:e.clientY,dy:0,on:!0,captured:!1}}:void 0,onPointerMove:i?e=>{const t=d.current;if(!t.on)return;t.dy=Math.max(0,e.clientY-t.y0);const n=s.current;if(!t.captured){if(t.dy<=E.ToV)return;t.captured=!0;try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}n.style.animation="none",n.style.transition="none"}n.style.transform=`translateY(${t.dy}px)`}:void 0,onPointerUp:i?()=>{const e=d.current;e.on&&(e.on=!1,e.dy>E.heo?u("drag"):m())}:void 0,onPointerCancel:i?()=>{const e=d.current;e.on&&(e.on=!1,m())}:void 0},ut.createElement(x.Mg,null)),ut.createElement("div",{className:"hv-sheet__titlebar hv-pdp-tsheet__bar"},ut.createElement("button",{type:"button",className:"hv-sheet__x","aria-label":n,onClick:()=>u("button")},"×")),ut.createElement("ol",{className:"hv-pdp-tsheet__list"},t.map((e,t)=>ut.createElement("li",{key:e.title,className:"hv-pdp-tsheet__card"},ut.createElement("span",{className:"hv-pdp-tsheet__no","aria-hidden":"true"},t+1),ut.createElement("div",{className:"hv-pdp-tsheet__text"},ut.createElement("p",{id:mt(t),className:"hv-pdp-tsheet__title"},e.title),ut.createElement("p",{className:"hv-pdp-tsheet__body"},e.body)))))))},vt=e=>e.open&&"undefined"!=typeof document?(0,y.createPortal)(ut.createElement(ht,e),document.body):null;var ft=n(53975),gt=n(36348),bt=n(67005),yt=n(44722);var _t=n(54983);const wt=e=>{var t,a,r;let l=e.price,i=e.benefit,s=void 0===i?{}:i;const c=(0,o.useState)(!1),d=(0,o.useState)({}),u=(0,o.useState)(null),p=(0,o.useState)("default"),m=c[0],h=c[1],v=d[0],f=d[1],g=u[0],b=u[1],y=(0,o.useId)(),_=(0,o.useRef)(null),w=(0,o.useRef)(new Map),E=()=>{var e;return!1!==(null===(e=s.checkOwner)||void 0===e?void 0:e.call(s))},N=e=>{E()||(e.preventDefault(),e.stopPropagation())},k=Object.assign({},s,{price:l,pointChoice:p[0],selectedCouponNo:v.no??null,defaultCouponNo:_.current});k.download=e=>E()?s.download(e,s.checkOwner):"skip";const C=s.ready&&s.calculate?s.calculate(k):{};C.visible&&(_.current=C.defaultCouponNo);const S=C.visible?(0,x.Xk)(C.best):"",A=(null===(t=s.accumulationConfig)||void 0===t?void 0:t.unit)??(null===(a=s.accumulationConfig)||void 0===a?void 0:a.accumulationUnit)??"원";return(0,o.useLayoutEffect)(()=>{if(C.visible&&s.loggedIn){var e;const t=[null===(e=s.point)||void 0===e?void 0:e.available,C.best,C.pointUse,C.pointMax],n=t.join(":")+A;w.current.has(n)||w.current.set(n,s.guard(t,A))}},[s.loggedIn,null===(r=s.point)||void 0===r?void 0:r.available,C.best,C.pointUse,C.pointMax,s.guard,A]),(0,o.useLayoutEffect)(()=>()=>{w.current.forEach(e=>e()),w.current.clear()},[]),_t.createElement(_t.Fragment,null,C.visible?_t.createElement("div",{className:"hv-pdp-ledger",onClickCapture:N,onKeyDownCapture:N},_t.createElement("div",{className:"hv-pdp-ledger__top"},_t.createElement("span",{id:y,className:"hv-pdp-ledger__best","aria-live":"polite","aria-atomic":"true"},C.salePct>0?_t.createElement("span",{className:"hv-pdp-ledger__bestpct"},C.salePct,"%"):null,_t.createElement("span",{className:"hv-pdp-ledger__bestwon"},S.slice(0,-1),_t.createElement("small",null,S.slice(-1)))),_t.createElement("button",{type:"button",onClick:()=>{E()&&(h(!m),m||g||n.e(247).then(()=>n(3276)).then(e=>b(()=>e.default)).catch(()=>{h(!1),console.warn("[HaveaPdp] benefit body unavailable")}))},"aria-expanded":m,"aria-describedby":y,"aria-label":we.d.toggleAria,className:"hv-pdp-ledger__head"},_t.createElement("span",{className:"hv-pdp-ledger__toggle"},C.isDefault?we.d.bestPotential:v.label,_t.createElement(x.$F,{open:m,size:14})))),!m&&C.maxAccrual>0?_t.createElement("p",{className:"hv-pdp-ledger__earn"},((e,t)=>`${e.toLocaleString("ko-KR")}${t} 최대적립`)(C.maxAccrual,A)):null,g?_t.createElement(g,{core:C,input:k,hidden:!m,onSelect:(e,t)=>{E()&&f({no:e,label:t})},onPoint:(e,t)=>{E()&&(p[1](e),f(e=>Object.assign({},e,{label:t})))}}):null):s.ready&&!s.reviewLate&&void 0!==s.reviewMax?_t.createElement("span",{hidden:!0,className:"hv-pdp-benefit-empty"}):null)};wt.propTypes={price:r.object.isRequired,benefit:r.object};const Et=wt;var Nt=n(37188);function kt(e,t,n=window){const o=Symbol.for("havea.benefitAmounts"),a=Symbol.for("havea.benefitTokenRefs");n[o]||Object.defineProperty(n,o,{value:new Set}),n[a]||Object.defineProperty(n,a,{value:new Map});const r=new Set;for(const n of e)Number.isFinite(n)&&n>=0&&(n>0&&r.add(String(n)),r.add(n.toLocaleString("ko-KR")+t));for(const e of r){const t=n[a].get(e)??{count:0,prior:n[o].has(e)};t.count++,n[a].set(e,t),n[o].add(e)}return()=>{for(const e of r){const t=n[a].get(e);0===--t.count&&(t.prior||n[o].delete(e),n[a].delete(e))}}}var xt=n(13219),Ct=n(70568),St=n(70024),At=n(85971),Pt=n(95088);const Rt=()=>(0,gt.kq)()&&(gt._7.get()||(0,gt.uQ)()),Mt=Symbol.for("havea.benefitRuntime");let Lt=0;function It(e){if(!e.alive||Rt()!==e.owner)return;e.generation=++Lt;const t=["focus","pageshow","storage","visibilitychange"],n=window.cookieStore;function o(){return!(!e.alive||Rt()!==e.owner&&(e.alive=!1,e.load?.dispose(),e.commit(t=>t?.generation===e.generation?null:t||{}),1))}t.forEach(e=>window.addEventListener(e,o,!0)),n?.addEventListener("change",o);const a=e.rawReview?(0,At.ag)({fetchJson:()=>e.rawReview}):e.review??(0,At.ag)();e.load=function({readPoint:e,readReview:t,reviewMax:n,loggedIn:o,productNo:a,owner:r,current:l,commit:i,now:s=Date.now,schedule:c=setTimeout,cancel:d=clearTimeout}){let u,p,m,h=!0,v=!1,f={status:o?"pending":"failed"},g=[],b=!1,y=Boolean(t)&&void 0===n;const _=()=>h&&l()===r,w=()=>{_()&&!v&&(v=!0,d(u),d(p),i({productNo:a,owner:r,coupons:g,point:f,reviewMax:n}))},E=e=>{d(u),u=c(w,e)};if(E(2e3),o){let t=!1;const n=e=>{!t&&_()&&(t=!0,d(m),f=e,v?i(t=>t&&t.owner===r&&t.productNo===a?Object.assign({},t,{point:Object.assign({},e,{status:"ok"===e.status?"late":"failed"})}):t):b&&!y&&w())};m=c(()=>n({status:"failed"}),3e3),Promise.resolve(e()).then(e=>n({status:"ok",available:e}),e=>{_()&&console.warn("[HaveaPdp] point summary unavailable",{status:e?.status??"network",productNo:a}),n({status:"failed"})})}t&&Promise.resolve(t()).then(e=>{_()&&(n=e,y=!1,v?i(e=>e&&e.owner===r&&e.productNo===a?Object.assign({},e,{reviewMax:n,reviewLate:!0}):e):b&&"pending"!==f.status&&w())});const N=s();return{heard(){v||E(Math.max(0,3e3-(s()-N)))},ready(e){_()&&!v&&(g=e,b=!0,"pending"===f.status||y?p=c(w,400):w())},seal:w,dispose(){h=!1,f={status:"failed"},g=[],d(u),d(p),d(m)}}}({productNo:e.productNo,loggedIn:e.loggedIn,owner:e.owner,current:Rt,readPoint:()=>(0,Ct.G)(e.owner,St.T),reviewMax:(0,At.hj)(),readReview:()=>a,commit(t){o()&&e.commit(n=>{if(!e.alive||Rt()!==e.owner)return n?.generation===e.generation?null:n;const a="function"==typeof t?t(n):t;return a&&Object.assign({},a,{generation:e.generation,checkOwner:o,Header:Et,Rows:Pe,calculate:e=>e.personal?.calculateBenefit?e.personal.calculateBenefit(e):(0,xt.SJ)((0,Nt.$)(e),Object.assign({},e,{point:{status:"failed"}})),guard:kt,ready:"pending"!==a.point.status})})}});const r=e.load.dispose;e.load.dispose=()=>{e.alive=!1,t.forEach(e=>window.removeEventListener(e,o,!0)),n?.removeEventListener("change",o),r()},e.heard&&e.load.heard(),e.coupons&&e.load.ready(e.coupons)}if(It.review=At.ag,"undefined"!=typeof window){const e=window[Mt];window[Mt]=It,Array.isArray(e)&&e.forEach(It)}const Ot=new WeakMap,Tt=()=>(0,gt.kq)()&&(gt._7.get()||(0,gt.uQ)());function jt(e,t,n,o,a,r,l,i,s){if(i&&!i())return"skip";if(!s)return(0,Pt.Z_)(e,t,n,o,a,r,l);const c=function(e,t){const n=Tt(),o=e.current;let a=Ot.get(e);return a&&a.owner===n&&a.generation===o||(a={owner:n,generation:o,memory:new Map,pending:new Map,confirmed:new Map,serial:0},a.current=()=>Ot.get(e)===a&&e.current===o&&Tt()===n,a.patch=(e,t,n)=>{const o=()=>a.current()&&(!n||n());if(!o())return;const{coupons:r,setPersonal:l,read:i}=a.context,s=(e,t)=>{const n={...t.issuedCounts};for(const[t,o]of Object.entries(e.issuedCounts))n[t]=Math.max(n[t]??0,o);for(const[e,t]of a.confirmed)n[e]=Math.max(n[e]??0,t);const o=t.heldOnly??e.heldOnly??[],l=(0,E.Ov4)(r.concat(o),new Set(Object.keys(n).filter(e=>n[e]>0).map(Number)));return{...t,issuedCounts:n,heldOnly:o,heldRules:l}},c=a.confirmed.get(e)??0;if(Number.isSafeInteger(t.issuedCount)&&a.confirmed.set(e,Math.max(c,t.issuedCount)),l(n=>{if(!o())return n;const r={...n.downloadable};return"boolean"==typeof t.downloadable&&(r[e]=t.downloadable),s(n,{...n,status:(a.confirmed.get(e)??0)>0?"ok":n.status,downloadable:r})}),!Number.isSafeInteger(t.issuedCount)||t.issuedCount<=c)return;const d=++a.serial;Promise.resolve().then(()=>o()?i(r):null).then(e=>{o()&&a.serial===d&&"ok"===e?.status&&l(t=>o()&&a.serial===d?s(t,e):t)},()=>{})},Ot.set(e,a)),a.context=t,a}(o,{coupons:t,personal:n,setPersonal:a,download:r,read:l});if("connect"===s.mode)return c;if("login"===s.mode)return void(0,bt.X)("coupon");if("toast"===s.mode)return void(0,yt.P)(s.message);if("receive"!==s.mode||!Number.isSafeInteger(e)||e<=0)throw new TypeError("Invalid coupon action");if(c.pending.has(e))return c.pending.get(e);const d=(async()=>{const t=await r();return c.current()&&c.patch(e,{issuedCount:Math.max(n.issuedCounts[e]??0,c.confirmed.get(e)??0)+1}),t})();return c.pending.set(e,d),d.then(()=>c.pending.delete(e),()=>c.pending.delete(e)),d}},44151(e,t,n){n.d(t,{A:()=>l,u:()=>i});var o=n(54983);const a=()=>window.performance.now(),r=()=>{var e;return{key:(null===(e=window.history.state)||void 0===e?void 0:e.key)||"default",pathname:window.location.pathname,search:window.location.search}};function l(e,t,n,l,i){const s=(0,o.useRef)(null),c=JSON.stringify(r());s.current&&s.current.anchor===e&&s.current.scope===c||(s.current={anchor:e,scope:c,location:r(),settled:!0,completed:!0,readyAt:a()}),(0,o.useEffect)(()=>{const o=()=>(null==l?void 0:l.tasteProgress)||(i?s.current:null),a=()=>{var a,r;return null===(a=window.__hvTasteEngine)||void 0===a||null===(r=a.relayLegacy)||void 0===r?void 0:r.call(a,{row:"pdp_similar",anchor:e,source:"registry",node:null,ready:n,empty:n&&0===t.length,count:t.length,ids:t.map(e=>"number"==typeof e?e:e.productNo),progress:o()})};return window.addEventListener("havea:taste-engine",a),a(),()=>{var e,t;window.removeEventListener("havea:taste-engine",a),null===(e=window.__hvTasteEngine)||void 0===e||null===(t=e.detachLegacy)||void 0===t||t.call(e,"pdp_similar",o())}},[e,t,n,l,i,c])}function i(e,t,n,o){var l,i;const s=e.tasteProgress||(e.tasteProgress={anchor:t,location:r(),startedAt:a(),completed:!1});let c;null===(l=window.__hvTasteEngine)||void 0===l||null===(i=l.relayLegacy)||void 0===i||i.call(l,{row:"pdp_similar",anchor:t,source:"registry",node:null,ready:!1,empty:!1,count:0,ids:[],progress:s});try{c=n(...o)}catch(e){throw s.readyAt=a(),s.completed=!0,e}return Promise.resolve(c).then(e=>(s.readyAt=a(),s.completed=!0,e),e=>{throw s.readyAt=a(),s.completed=!0,e})}},70024(e,t,n){n.d(t,{T:()=>a});var o=n(66600);async function a(){const e=await(0,o.D)("/profile/accumulations/summary",{dedupe:!1});if(!Number.isSafeInteger(null==e?void 0:e.totalAvailableAmt)||e.totalAvailableAmt<0)throw new Error("point summary shape");return e.totalAvailableAmt}},72260(e,t,n){n.d(t,["y",0,{receive:"받을 수 있는 쿠폰도 넣은 금액이에요 · 주문할 때 자동으로 받아요",point:"적립금 사용",change:"주문서에서 바꿀 수 있어요",added:"쿠폰은 주문할 때 자동으로 받아요"}])},76328(e,t,n){const o={rewardMaximum:e=>`리뷰 작성 시 최대 ${e.toLocaleString("ko-KR")}원 적립돼요.`,heading:n(42552).v.heading,loadMore:"리뷰 더보기",bodyMore:"… 더보기",sellerReply:"판매자 답변",galleryMore:e=>`${e}개 더보기`,purchasedOption:e=>`${e} 구매`,eyebrow:"",listError:"리뷰를 불러오지 못했어요. 잠시 후 다시 확인해 주세요.",pageEmpty:"해당 페이지에 리뷰가 없습니다.",viewAll:e=>`${e.toLocaleString("ko-KR")}개의 리뷰 전체보기`,pagination:{aria:"리뷰 페이지",prev:"이전",next:"다음"},ratingAria:e=>`${e}점`,bestBadge:"BEST",empty:{title:"첫 번째 리뷰를 남겨 주세요.",stamp:"FIRST"},overall:{eyebrow:"",outOf:" / 5",countSuffix:e=>`${e}개의 리뷰 · 첫 리뷰의 주인공이 되어보세요`,reviewCount:e=>`${e}개의 리뷰`},sort:{ariaLabel:"리뷰 정렬",bestFirst:"베스트",latest:"최신순",highestRating:"별점 높은순",lowestRating:"별점 낮은순"},policy:{link:"운영 정책",title:"리뷰 운영정책 안내",close:"확인",sections:[{heading:"리뷰는 누가 작성할 수 있나요?",paragraphs:["해브어에서 해당 상품을 구매하고 구매확정한 회원이 작성할 수 있습니다.","구매확정 후 90일 이내에 작성할 수 있으며, 리뷰는 10자 이상 작성해야 합니다."]},{heading:"리뷰는 얼마 동안 게시되나요?",paragraphs:["작성한 리뷰는 별도의 게시 기간 제한 없이 게시됩니다.","다만 회원이 직접 삭제하거나 운영정책 위반으로 미노출 처리되는 경우 노출이 중단됩니다.","삭제한 리뷰는 다시 작성할 수 없습니다."]},{heading:"별점은 어떻게 산정되고 어디에 사용되나요?",paragraphs:["별점은 1점부터 5점까지 부여할 수 있으며, 상품의 종합 평점은 해당 상품에 등록된 전체 리뷰의 별점 평균으로 산정됩니다.","종합 평점은 상품 상세 화면·검색 결과 등에 노출될 수 있으며, 정렬 순서에 영향을 줄 수 있습니다.","리뷰 적립금은 상품 가격 및 작성 방식(글자 수, 사진 첨부 등)에 따라 지급 여부 및 금액이 달라질 수 있으며, 별점 및 평가 내용과는 무관합니다."]},{heading:"리뷰 삭제(미노출) 기준과 이의제기 절차는 어떻게 되나요?",paragraphs:["다음에 해당하는 리뷰는 사전 고지 없이 미노출 처리될 수 있습니다."],bullets:["구매한 상품과 관련 없는 내용을 게시한 경우","욕설·비방·차별적 표현 등 타인에게 불쾌감을 주는 내용을 게시한 경우","광고·홍보 목적이거나 외부 링크·연락처가 포함된 내용을 게시한 경우","타인의 개인정보 또는 저작권 등 권리를 침해하는 내용을 게시한 경우","상품 정보와 명백히 다른 허위 내용을 게시한 경우","동일하거나 유사한 내용을 반복적으로 게시한 경우","그 밖에 관련 법령 또는 해브어 이용약관을 위반한 경우"],after:["위반이 누적되면 리뷰 작성이 일정 기간 또는 영구적으로 제한될 수 있습니다.","미노출 또는 작성 제한에 이의가 있으신 경우, 리뷰를 수정한 뒤 재검토를 요청하시거나 고객센터(1:1 문의·카카오 채널)로 이의를 접수해 주시면 확인 후 결과를 안내드립니다."]}]},photo:{addCta:"사진 추가",uploading:"업로드 중...",uploadFail:"사진 업로드 실패",invalidFile:"파일을 선택해주세요.",invalidMime:"JPG / PNG / WEBP / GIF 만 업로드할 수 있어요.",tooLarge:"5MB 이하 이미지만 업로드할 수 있어요.",maxReached:e=>`사진은 최대 ${e}장까지 첨부할 수 있어요.`,removeAria:e=>`${e}번째 사진 삭제`,previewAlt:e=>`리뷰 사진 ${e}`},confirm:{cta:"구매확정하고 리뷰 쓰기",dialogTitle:"구매확정할까요?",effect1:"구매확정하면 취소·반품 신청이 닫혀요.",effect2:"문제가 있다면 확정 전에 먼저 문의해 주세요.",effect3:"확정하면 바로 리뷰를 쓸 수 있어요.",inquiryCta:"1:1 문의하기",submit:"구매확정하고 리뷰 쓰기",later:"나중에",pending:"구매확정하고 리뷰 쓰기",done:"구매확정했어요",invalid:"주문 정보가 올바르지 않아요.",loadFail:"주문을 확인하지 못했어요. 잠시 후 다시 시도해 주세요.",notFound:"이 주문에서 상품을 찾지 못했어요.",notEligible:"지금은 구매확정할 수 없는 상품이에요.",fail:"구매확정에 실패했어요.",failUnexpected:"일시적인 오류가 발생했어요. 다시 시도해 주세요."},deepLink:{title:"구매하신 상품, 어떠셨나요?",lead:"별점을 누르면 문구가 자동으로 채워져요. 소중한 후기를 남겨주세요.",notFoundTitle:"주문을 찾을 수 없어요",notFoundBody:"링크가 만료됐거나 로그인한 계정의 주문이 아니에요. 마이페이지에서 주문을 확인해주세요.",toMypage:"마이페이지로 가기"},write:{title:"리뷰 작성",rateLabel:"별점",rateRequired:"별점을 선택해주세요 (1~5).",contentLabel:"리뷰 내용",contentPlaceholder:"상품 사용 경험을 10자 이상 자세히 작성해주세요.",quickHint:"별점을 고르면 문구가 자동 완성돼요. 자유롭게 수정할 수 있어요.",contentMin:"리뷰는 10자 이상 작성해주세요.",contentMax:"리뷰는 5000자 이내로 작성해주세요.",submit:"리뷰 등록",submitting:"등록 중...",success:"리뷰가 등록되었습니다. 운영자 검수 후 노출됩니다.",loginRequired:"리뷰 작성은 로그인이 필요해요.",loginCta:"로그인하기",purchaseRequired:"구매하신 회원만 리뷰를 작성할 수 있어요.",pickOption:"어떤 상품에 대해 쓰시나요?",confirmRequired:"구매확정을 하면 바로 리뷰를 쓸 수 있어요.",notOwned:"이 주문에서 확인되지 않는 상품이에요. 마이페이지에서 다시 시작해 주세요.",verifyFailed:"주문을 확인하지 못했어요. 잠시 후 다시 시도해 주세요.",orderKeyRequired:"어떤 주문의 상품인지 확인되지 않았어요. 마이페이지 리뷰 탭에서 작성해 주세요.",invalidInput:"별점과 10자 이상의 내용을 확인해 주세요.",submitFail:"리뷰를 등록하지 못했어요.",unexpected:"일시적인 오류가 발생했어요. 다시 시도해 주세요.",doneTitle:"리뷰를 남겼어요",doneToast:"리뷰를 남겼어요 · 검수 후 노출돼요",stampLabel:"THANKS"},entry:{badge:{"not-yet":"배송 중","confirm-needed":"배송완료",writable:"리뷰 쓸 수 있어요",written:"작성 완료",closed:"작성 불가"},group:{"confirm-needed":e=>`구매확정이 필요해요 (${e})`,writable:e=>`리뷰를 쓸 수 있어요 (${e})`,"not-yet":e=>`도착하면 쓸 수 있어요 (${e})`,done:(e,t)=>`작성 완료 ${e} · 닫힘 ${t}`},cta:{writable:"리뷰 쓰기","not-yet":"배송 조회",written:"작성 완료"},closedReason:{claim:"취소·반품이 진행 중이에요.",expired:"리뷰 작성 기간이 지났어요.",notTarget:"리뷰를 받지 않는 상품이에요."},productFallback:e=>`상품 ${e}`,toMypage:"마이페이지 리뷰 관리",allDoneTitle:"이 주문에 쓸 리뷰가 없어요",allDoneBody:"작성했거나, 기간이 지났거나, 취소된 상품이에요.",loadErrorTitle:"불러오지 못했어요",loadErrorBody:"잠시 후 다시 시도해 주세요.",retry:"다시 시도",inAppFallback:"로그인이 계속 막히면 오른쪽 위 ⋯ 를 눌러 다른 브라우저로 열어 주세요.",copyLink:"링크 복사",copied:"링크를 복사했어요",copyFailed:"복사가 안 돼요. 주소창의 링크를 직접 복사해 주세요."}};n.d(t,["N",0,o])},22699(e,t,n){const o={pill:"유사 상품",pillAria:"유사 상품 보기",title:"유사 상품",close:"닫기",chipsAria:"유사 상품 거르기",chips:{"other-brand":"다른 브랜드","on-sale":"할인 중"},count:e=>`유사 상품 ${Number(e).toLocaleString("ko-KR")}개`,loading:"유사 상품을 불러오고 있어요",emptyTitle:"아직 유사 상품을 찾지 못했어요",emptyBody:"유사 상품이 들어오면 여기에 보여 드릴게요",filterEmpty:"조건에 맞는 상품이 없어요",filterOff:"필터 끄기",listName:"PDP similar"};n.d(t,["D",0,o])},46700(e,t,n){const o={overseasBody:"해외 배송 상품은 주문이 해외 브랜드사에 접수되면 취소·환불·교환이 어렵습니다. 참고하여 주문해 주세요.",madeToOrderBody:["브랜드사 사정에 따라 기간이 달라질 수 있어요. 주문 단계가 [해외 발주 완료]가 되면 취소할 수 없어요. 결제 완료·발주 진행 중이면 상담 채팅으로 문의해 주세요.","발주 완료 후에도 브랜드사가 제작 기간 변동을 통보하는 경우가 있어요.","해상 운송 중 기후·국제 정세 등으로 운송 일정이 바뀔 수 있어요.","주문제작 상품은 기성 재고가 아니라 고객 요청으로 1:1 개별 제작돼요. 단순 변심·배송 지연을 이유로 취소할 수 없으니 신중히 구매해 주세요.","대량 생산이 아니라 제작 과정의 변수로 일정이 바뀌기도 해요. 배송 기간은 여유롭게 보고 주문해 주세요."]},a={consent:o};n.d(t,["D",0,o,"P",0,a])},53975(e,t,n){var o=n(36348),a=n(89689);(0,a.o9)(globalThis.window,o.TV),n.d(t,["a",0,e=>(0,a.a3)(e,globalThis.window,o.TV)])},23922(e,t,n){function o(e,t){const n=t.price,o=t.accumulationConfig,a=e.couponAmt>0,r=a&&t.coupons?.find(t=>t.couponNo===e.selectedCouponNo),l=r&&(r.discountInfo??r.discount)?.skippedAccumulationAmt,i=t.loggedIn&&n?.accumulationRateOfMember||n?.accumulationRate,s=Number.isFinite(i)&&i>0&&i<=100,c=n?.accumulationAmtWhenBuyConfirm,d="boolean"!=typeof o?.excludingReservePayCoupon||"boolean"!=typeof o?.excludingReservePayAccumulation||a&&"boolean"!=typeof l||t.loggedIn&&!Number.isFinite(n?.accumulationRateOfMember)||!t.loggedIn&&n?.accumulationRateOfMember>0||!s||!Number.isSafeInteger(c)||!(c>0)||!0===l||a&&o.excludingReservePayCoupon||e.pointUse>0&&o.excludingReservePayAccumulation?0:c,u=Number.isSafeInteger(t.reviewMax)&&t.reviewMax>0?t.reviewMax:0;return{accrual:d,reviewAccrual:u,maxAccrual:d+u}}n.d(t,{j:()=>o})},95088(e,t,n){n.d(t,{Kr:()=>p,Z_:()=>u});var o=n(18267),a=n(67005),r=n(36348);const l=new WeakMap;function i(e){const t=(0,r.uQ)();let n=l.get(e);return n&&n.generation===e.current&&n.auth===t||(n={generation:e.current,auth:t,serial:0,pending:new Map,confirmed:new Map},l.set(e,n)),n}const s=(e,t)=>e.current===t.generation&&(0,r.uQ)()===t.auth&&l.get(e)===t;function c(e,t,n){const a=Object.assign({},e.issuedCounts);return n.confirmed.forEach((e,t)=>{a[t]=Math.max(a[t]??0,e)}),Object.assign({},e,{issuedCounts:a,heldRules:(0,o.Ov4)(t.concat(e.heldOnly??[]),new Set(Object.keys(a).filter(e=>a[e]>0).map(Number)))})}async function d(e,t,n,o){const a=i(t),r=++a.serial,l=await o(e);return s(t,a)&&r===a.serial?("ok"===l.status&&n(t=>c(Object.assign({},l,{heldOnly:t.heldOnly}),e,a)),l):l}function u(e,t,n,o,r,l,u){const p=i(o);if(p.pending.has(e))return p.pending.get(e);const m=Math.max(n.issuedCounts?.[e]??0,p.confirmed.get(e)??0),h=(async()=>{try{await l()}catch(n){if(!s(o,p))return"skip";if(401===n?.status)return(0,a.X)("coupon"),"skip";const l=await d(t,o,r,u);if(!s(o,p))return"skip";const i=l.issuedCounts?.[e]??0;return"ok"!==l.status?"fail":i>m?"ok":i>0||!1===l.downloadable?.[e]?"skip":"fail"}return s(o,p)?(p.confirmed.set(e,Math.max(n.issuedCounts?.[e]??0,p.confirmed.get(e)??0)+1),r(e=>c(Object.assign({},e,{status:"ok"}),t,p)),d(t,o,r,u).catch(()=>{}),"ok"):"skip"})();return p.pending.set(e,h),h.then(()=>p.pending.delete(e),()=>p.pending.delete(e)),h}async function p(e,{loggedIn:t,counts:n,setCounts:o,download:r}){if(!1===t)return(0,a.X)("coupon"),"skip";const l=n.current[e.couponNo]??0;if(!e.downloadable||!e.unlimited&&l>0)return"skip";n.current[e.couponNo]=l+1,o(Object.assign({},n.current));try{const t=await r(e.couponNo);return"skip"===t||"fail"===t?(n.current[e.couponNo]=l,o(Object.assign({},n.current)),t):"ok"}catch{return n.current[e.couponNo]=l,o(Object.assign({},n.current)),"fail"}}},68801(e,t,n){function o(e,t){if("Tab"!==e.key||!t)return!1;const n=(e=>{const t=e.ownerDocument?.defaultView??null;return Array.from(e.querySelectorAll('a[href],area[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),iframe,object,embed,[tabindex]:not([tabindex="-1"]),[contenteditable="true"]')).filter(e=>{if("number"!=typeof e.tabIndex||e.tabIndex<0)return!1;if("function"==typeof e.matches&&e.matches(":disabled"))return!1;if("function"==typeof e.closest&&e.closest("[inert],[hidden]"))return!1;const n=t&&"function"==typeof t.getComputedStyle?t.getComputedStyle(e):null;return(!n||"hidden"!==n.visibility&&"none"!==n.display)&&(e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0)})})(t);if(0===n.length)return e.preventDefault(),t.focus({preventScroll:!0}),!0;const o=n[0],a=n[n.length-1],r=t.ownerDocument.activeElement;return!e.shiftKey||r!==o&&r!==t&&t.contains(r)?e.shiftKey||r!==a&&t.contains(r)||(e.preventDefault(),o.focus()):(e.preventDefault(),a.focus()),!0}n.d(t,{L:()=>o})},78428(e,t,n){n.d(t,{QF:()=>a,me:()=>r});const o=31457280;function a(e){if(!(e instanceof Uint8Array))return null;const t=(t,n)=>String.fromCharCode(...e.subarray(t,n));if(255===e[0]&&216===e[1]&&255===e[2])return"image/jpeg";if(137===e[0]&&"PNG"===t(1,4))return"image/png";if("GIF8"===t(0,4))return"image/gif";if("RIFF"===t(0,4)&&"WEBP"===t(8,12))return"image/webp";if("ftyp"===t(4,8)){const e=t(8,12);if("avif"===e)return"image/avif";if(["heic","heix","heim","heis","hevc","hevx","hevm","hevs","mif1","mif2","msf1"].includes(e))return"image/heic"}return"II"===t(0,2)&&42===e[2]&&0===e[3]||"MM"===t(0,2)&&0===e[2]&&42===e[3]?"image/tiff":"BM"===t(0,2)?"image/bmp":null}async function r(e,{maxEdge:t=2048,square:n=!1}={}){if(e.size>o)throw new RangeError("Photo too large");const r=a(new Uint8Array(await e.slice(0,16).arrayBuffer()))||e.type,l=`photo-${Array.from(crypto.getRandomValues(new Uint8Array(4)),e=>e.toString(16).padStart(2,"0")).join("")}`;if(!(t>0))throw new Error("Invalid image size");let i,s;try{const o="image/gif"===r?function(e){const t=()=>{throw new Error("Invalid GIF")};e instanceof Uint8Array&&!(e.length<14)||t();const n=String.fromCharCode(...e.subarray(0,6));"GIF87a"!==n&&"GIF89a"!==n&&t(),e[6]|e[7]&&e[8]|e[9]||t();let o=13+(128&e[10]?3*(1<<1+(7&e[10])):0);o>=e.length&&t();const a=[e.subarray(0,o)],r=n=>{let o=n;for(;oe.length&&t(),o+=n,!n)return o}return t()};let l=0;for(;oe+t.length,0));let i=0;for(const e of a)r.set(e,i),i+=e.length;return r}if(44===i){!(o+9>e.length)&&e[o+4]|e[o+5]&&e[o+6]|e[o+7]||t();const i=e[o+8];o+=9+(128&i?3*(1<<1+(7&i)):0),(o>=e.length||e[o]<2||e[o]>8)&&t(),o=r(o+1),l+=1,a.push(e.subarray(n,o));continue}(33!==i||o>=e.length)&&t();const s=e[o++];if(249===s)(o+6>e.length||4!==e[o]||0!==e[o+5])&&t(),o+=6,a.push(e.subarray(n,o));else if(254===s)o=r(o);else if(1===s||255===s){const l=e[o++];1===s&&12!==l&&t(),o+l>e.length&&t();const i=255===s&&11===l?String.fromCharCode(...e.subarray(o,o+l)):"",c=o+l;o=r(c),"NETSCAPE2.0"!==i&&"ANIMEXTS1.0"!==i||(o===c+5&&3===e[c]&&1===e[c+1]||t(),a.push(e.subarray(n,o)))}else t()}return t()}(new Uint8Array(await e.arrayBuffer())):null;s=URL.createObjectURL(e),i=new Image,await new Promise((e,t)=>{i.onload=e,i.onerror=t,i.src=s});const a=i.naturalWidth,c=i.naturalHeight;if(!(a>0&&c>0))throw new Error("Invalid image");if(a*c>5e7)throw new RangeError("Photo too large");if(o)return new File([o],`${l}.gif`,{type:"image/gif"});const d=Math.min(a,c),u=n?d:a,p=n?d:c,m=n?Math.round((a-d)/2):0,h=Math.min(1,t/Math.max(u,p)),v=document.createElement("canvas");v.width=Math.max(1,Math.round(u*h)),v.height=Math.max(1,Math.round(p*h));const f=v.getContext("2d");if(!f)throw new Error("Canvas unavailable");const g="image/png"===r;g||(f.fillStyle="#fff",f.fillRect(0,0,v.width,v.height)),f.drawImage(i,m,0,u,p,0,0,v.width,v.height);const b=g?"image/png":"image/jpeg",y=await new Promise(e=>v.toBlob(e,b,.9));if(!y||y.type!==b)throw new Error("Image encoding failed");return new File([y],`${l}.${g?"png":"jpg"}`,{type:b})}finally{s&&URL.revokeObjectURL(s)}}n.d(t,["b1",0,o])},54425(e,t,n){function o(e){const t=e?.status;return Boolean(t)&&"ONSALE"===t.saleStatusType&&!0!==t.soldout&&!1!==t.display&&0!==e.baseInfo?.stockCnt}n.d(t,{$:()=>o})},89689(e,t,n){n.d(t,{CV:()=>f,FX:()=>c,a3:()=>v,o9:()=>u,qG:()=>d});const o="SHOPBY_CHANNEL_TYPE",a="hv_order_channel",r=["NAVER_EP","PAYCO_MALL"],l=/(?:^|;\s*)SHOPBY_CHANNEL_TYPE=([^;]*)/,i=e=>"string"==typeof e&&r.includes(e)?e:null,s=e=>{try{return i(new URL(e).searchParams.get("channelType"))}catch{return null}};function c(e){let t=null;try{t=e.performance.getEntriesByType("navigation")[0]?.name??null}catch{t=null}let n=null;try{n=e.location.href}catch{n=null}return s(t)??s(n)}function d(e){try{return i(l.exec(e.cookie)?.[1])}catch{return null}}function u(e,t){if(!e||"function"!=typeof t)return null;const n=c(e);if(!n)return null;try{t(o,n)}catch{return null}return n}const p=e=>{try{return e?.sessionStorage??null}catch{return null}},m=e=>{try{const t=JSON.parse(e.getItem(a));return t&&"object"==typeof t&&!Array.isArray(t)?t:{}}catch{return{}}},h=e=>Number.isSafeInteger(e)&&e>0;function v(e,t,n){const r=p(t);if(r)try{const l=m(r),s=d(t.document);let c=!1;for(const t of Array.isArray(e)?e:[]){const e=Number(t?.productNo),a=i(t?.channelType),r=a??s;r&&h(e)&&(a&&"function"==typeof n&&n(o,a),l[e]=r,c=!0)}c&&r.setItem(a,JSON.stringify(l))}catch{}}function f(e,t){const n=Array.isArray(e?.products)?e.products:null,o=p(t);if(!n||!o)return e;const a=m(o);let r=0;const l=n.map(e=>{const t=h(e?.productNo)?i(a[e.productNo]):null;return t?(r+=1,{...e,channelType:t}):e});if(0===r)return e;const s=l[0].channelType,c=r===l.length&&l.every(e=>e.channelType===s)?s:null;return c?{...e,channelType:c,products:l}:{...e,products:l}}},85990(e,t,n){const o='[data-havea-entry-detail], [aria-modal="true"], [role="alertdialog"], dialog[open], .design-popup, .hv-popup-card-layer, .offcanvas__dim.is-active, body.prevent-scroll',a=o.split(", ").filter(e=>".design-popup"!==e&&".hv-popup-card-layer"!==e).join(", ");n.d(t,["D",0,a,"G",0,o])},37188(e,t,n){n.d(t,{$:()=>l});var o=n(18267),a=n(40564),r=n(23922);function l(e){const{price:t,coupons:n=[],personal:l,loggedIn:i=!1,selectedCouponNo:s=null,defaultCouponNo:c=null,baseInfo:d,accumulationConfig:u,point:p,pointChoice:m="default"}=e,h=Number.isFinite(t?.salePrice)?t.salePrice:0,v=(0,o.tJl)(h,t?.immediateDiscountAmt,t?.additionDiscountAmt),f=(0,o.ZtA)(h,t?.immediateDiscountAmt,t?.additionDiscountAmt),g=new Set,b=[];let y,_,w=null;for(const e of n){if(!e||"PRODUCT"!==e.couponType||g.has(e.couponNo)||!(e.couponNo>0))continue;const t=i&&"ok"===l?.status&&(l.issuedCounts?.[e.couponNo]??0)>0,n=l?.downloadable?.[e.couponNo]??e.downloadable;if(!t&&!1===n)continue;const a=(0,o.VzI)([e])[0],r=a?(0,o.Ggt)(a,v):0;if(!r)continue;g.add(e.couponNo);const d={couponNo:e.couponNo,amount:r,held:t};b.push(d),(!w||r>w.amount||r===w.amount&&t&&!w.held)&&(w=d),e.couponNo===c&&(y=d),e.couponNo===s&&(_=d)}const E=y&&y.amount===w?.amount?y:w,N=0===s?null:_??E,k=N?.amount??0,x=i&&("ok"===p?.status||"late"===p?.status)&&"Y"===d?.accumulationUseYn&&!d?.accumulationUseLimitInfo?.limitValue&&u&&["limitMinPrice","limitMinProductPrice","limitMaxRate"].every(e=>!1===u[e])?(0,a.$K)(p.available,v,k):0,C=x>=1e3&&"off"!==m&&("on"===m||"ok"===p?.status)?x:0,S=Math.max(0,v-k-C),A={salePrice:h,base:v,immediate:f,heroPct:h>0?Math.round(f/h*100):0,rules:b,selectedCouponNo:N?.couponNo??0,couponAmt:k,pointMax:x,pointUse:C,best:S,salePct:h>0?Math.round((h-(v-k))/h*100):0,defaultCouponNo:E?.couponNo??0,isDefault:N===E&&"default"===m,visible:b.length>0||C>0};return Object.assign(A,(0,r.j)(A,e)),A.visible=A.visible||A.maxAccrual>0,A}},13219(e,t,n){n.d(t,{SJ:()=>l,qt:()=>r});var o=n(23922),a=n(40564);function r({loggedIn:e,point:t,products:n,config:o,subtotal:r,coupon:l=0,blockCoupon:i=!1,enabled:s=!0,server:c}){if(!s||!e||"ok"!==t?.status||!Number.isSafeInteger(t.available)||t.available<0||!n?.length||n.some(e=>"Y"!==e?.accumulationUseYn||e.accumulationUseLimitInfo?.limitValue)||!o||["limitMinPrice","limitMinProductPrice","limitMaxRate","excludingReservePayAccumulation"].some(e=>!1!==o[e])||l>0&&i||c&&(!0!==c.isAvailableAccumulation||!Number.isFinite(c.availableMaxAccumulationAmt)))return 0;const d=Math.min((0,a.$K)(t.available,r,l),Math.max(0,r-l-200),c?c.availableMaxAccumulationAmt:1/0),u=100*Math.floor(d/100);return u>=Math.max(1e3,c?.minAccumulationLimit??0)?u:0}function l(e,t,n={}){const a=r(Object.assign({loggedIn:t.loggedIn,point:t.point,products:[t.baseInfo],config:t.accumulationConfig,subtotal:e.base,coupon:e.couponAmt,blockCoupon:!1},n)),l="off"===t.pointChoice?0:a,i=Object.assign({},e,{pointMax:a,pointUse:l,best:Math.max(0,e.base-e.couponAmt-l)});return Object.assign(i,(0,o.j)(i,t)),i.visible=i.rules.length>0||l>0||i.maxAccrual>0,i}},70568(e,t,n){let o;function a(e,t,n=Date.now()){return(!o||o.owner!==e||n-o.at>=6e4||na})},40564(e,t,n){function o(e,t,n){const o=Math.max(0,Math.min(Number(e)||0,(Number(t)||0)-(Number(n)||0)));return 100*Math.floor(o/100)}n.d(t,{$K:()=>o})},85971(e,t,n){n.d(t,{ag:()=>p,hj:()=>u});var o=n(58469);const a="/v1/vreview-reward-config",r=e=>Number.isSafeInteger(e)&&e>=0&&e<=1e6;function l(e){if(!e||"object"!=typeof e||Array.isArray(e)||1!==e.v)return null;const t=e.reward;return!t||"object"!=typeof t||Array.isArray(t)||"max,photo,text,video"!==Object.keys(t).sort().join(",")?null:[t.text,t.photo,t.video,t.max].every(r)&&t.max>0&&t.max===Math.max(t.text,t.photo,t.video)?t.max:null}async function i(e,t,n){const o="function"==typeof AbortController?new AbortController:null,a=o?setTimeout(()=>o.abort(),n):null;try{const n=await t(e,{credentials:"omit",signal:o?.signal});return n&&n.ok?await n.json():null}catch{return null}finally{a&&clearTimeout(a)}}async function s({fetchImpl:e=("function"==typeof fetch?fetch:null),timeoutMs:t=6e3}={}){const n=(0,o.WR)();if(!n||!e)return null;const r=(0,o.To)(),l=r?(0,o.Hy)():null;if(r&&l&&!l.fallback){const n=await i(r+a,e,t);if(null!==n)return n}return i(n+a,e,t)}let c=null;const d=(e,t)=>{const n=t-e.at;return n>=0&&n<(e.ok?6e5:6e4)};function u(e=Date.now()){if(c&&!c.pending&&d(c,e))return c.max}function p({now:e=()=>Date.now(),fetchJson:t=s}={}){if(c&&(c.pending||d(c,e())))return c.promise;const n={pending:!0,at:e(),ok:!1,max:null,promise:null};return n.promise=(async()=>{try{return await t()}catch{return null}})().then(t=>(n.ok=(e=>null!==l(e)||Boolean(e&&"object"==typeof e&&!Array.isArray(e)&&1===e.v&&null===e.reward))(t),n.max=l(t),n.at=e(),n.pending=!1,n.max)),c=n,n.promise}}}]);